Mala Škola programieranja
2
Uvod
Namena ovog serijala jeste da nastavnike informati-
ke i programiranja uputi u tematiku programiranja u pro-
gramskom jeziku C# i u .NET tehnologiju.
Kroz niz primera kojima prethodi teorijska osnova
biće obrađeno više različitih aspekata i tipova aplikacija
koje se mogu realizovati, što uključuje konzolne i Windows
aplikacije, kreiranje biblioteka klasa i pristup Microsoft SQL
Server bazi podataka.
Platforma u kojoj se radi jeste Microsoft Visual C#
2005 Express Edition i Microsoft SQL Server 2005 Express
Edition. Odlučili smo da koristimo express izdanja jer su
besplatna i mogu se preuzeti sa Microsoft Web lokacije.
Naravno, svi primeri će ispravno funkcionisati i u bilo kojoj
drugoj verziji programa Microsoft Visual Studio 2005.
Express alatke
Microsoft je kreirao niz besplatnih, express izdanja
svojih razvojnih alatki i SQL Server baze podataka sa ide-
jom da svima omogući učenje, testiranje i kreiranje aplika-
cija u .NET framework okruţenju. Ovo ne znači da se u
express alatkama ne mogu napraviti ozbiljne aplikacije,
Web lokacije i baze podataka. Naprotiv, dostupna je veći-
na mogućnosti koje postoje i u kompletnoj verziji progra-
ma Visual Studio, tako da se mogu kreirati snaţne i boga-
te aplikacije i sistemi sa bazama podataka.
Matična stranica za sve Express alatke je:
http://msdn.microsoft.com/vstudio/express/
. Web stranica
sa koje moţete preuzeti C# Express je:
http://msdn.microsoft.com/vstudio/express/visualcsharp/
download/
Instalaciju moţete izvršiti sa Interneta ili preuzeti
sadrţaj kompletnog instalacionog CD-a. Druga opcija je
bolja, jer kada jednom preuzmete instalaciju moţete je
kopirati na onoliko diskova koliko vam je potrebno za ško-
lu, učenike i nastavnike.
Kada otvorite navedenu stranicu, kliknite na vezu
„uputstva za ručnu instalaciju“ (manual installation ins-
tructions)
koja vas vodi na lokaciju gde moţete preuzeti
kompletnu instalaciju u IMG ili ISO formatu. Svi popularni
programi za kopiranje kompakt diskova podrţavaju oba
formata. Veličina instalacije je pribliţno 435 MB.
Tehnologija
Microsoft je predstavio .NET tehnologiju 2000.
godine, uz prvu verziju programa Visual Studio 2000
i .NET Framework 1.0. Kasnije je usledila verzija programa
2003 Visual Studio i 1.1 .NET Framework. Trenutno su
aktuelne verzije 2005 Visual Studio, odnosno 2.0 .NET
Framework.
.NET Framework predstavlja obiman skup klasa koje
se koriste u programiranju različitih tipova aplikacija. Sve
klase su grupisane u takozvane imenovane prostore
(named spaces) radi lakšeg snalaţenja i efikasnijeg rada.
Na primer, klase za rad sa SQL bazom podataka nalaze se
u imenovanom prostoru System.Data.SqlClient, klase za
rad sa datotekama nalaze se u prostoru System.IO i tako
dalje. Sve što vam ikada moţe zatrebati gotovo sigurno se
moţe pronaći ovde. Ako ne postoji, moţe se napisati od
početka ili naslediti funkcionalnost postojećih klasa.
Nepravedno je govoriti o C#, a ne pomenuti
Ander-
sa Hejlsberga
, koji je glavni arhitekta i projektant ovog
jezika i učesnik u razvoju .NET tehnologije. Rođen u Dan-
skoj 1961. godine, programer koji je početkom osamdese-
tih godina 20. veka napisao čuveni Turbo Pascal, a kasnije
projektovao Delphi. 1996. godine Anders se pridruţio kor-
poraciji Microsoft gde je i razvio programski jezik J++ i
biblioteku klasa „Windows Foundation Classes“.
Mala škola programiranja C# (1)

4
Početak
Za početak je potreban operativni sistem Windows
XP i instaliran C# Express 2005. Kada se pokrene radno
okruţenje, na uvodnom ekranu postoje opcije za kreiranje
novog ili otvaranje postojećeg projekta (1). Takođe, tu se
nalazi i lista prethodno otvorenih projekata (2) koja je
sada prazna. Veoma su korisna i okna sa vezama za poče-
tnike (3) i najnovijim vestima (4) koje se automatski aţuri-
ra ako postoji Internet veza.
Potrebno je kliknuti na vezu
Kreiraj: Projekat...
(Create: Project…
), čime se otvara dijalog u kome treba
izabrati tip projekta kao što je prikazano na prethodnoj
slici.
Tri osnovna tipa projekta su:
Windows aplikacija (Windows application) predstavlja
standardnu Windows aplikaciju koja se moţe samostalno
pokretati na računaru.
Biblioteka klasa (Class Library) je biblioteka klasa sa
svojim funkcijama i drugim elementima. Ovaj projekat ne
moţe se samostalno pokrenuti, već ga pokreću i koriste
drugi tipovi projekata.
Aplikacija konzole (Console Application) takođe
Windows aplikacija, ali bez grafičkog korisničkog interfej-
sa. Komunikacija se odvija isključivo sa komandne linije.
Ostali tipovi predstavljaju samo različite predloške i
demo aplikacije uz mogućnost pronalaţenja drugih pred-
loţaka projekata na Internetu.
Za početak, kao najjednostavniji tip aplikacije, treba
izabrati stavku „Aplikacija konzole“ (Console Application) i
kliknuti na dugme „U redu“ (OK).
Sve linije primera koda u ovom članku su prikazane
crvenom bojom
, a kôd koji je automatski generisalo radno
okruţenje prikazan je
sivom bojom
.
Posle par momenata se otvara prozor za pisanje
koda sa već ispisanim kosturom aplikacije. Potrebno je
obratiti paţnju na liniju
static void Main(string[] args)
. Ona
definiše glavnu (Main) funkciju koja se prva pokreće prili-
kom pokretanja programa. U telu ove funkcije treba upisa-
ti kôd koji je potrebno izvršiti. Telo funkcije je definisano
početnom
{
i završnom
}
velikom zagradom, što predstav-
lja način na koji se obeleţava početak i kraj svih segmena-
ta u C# jeziku.
Da biste probali jednostavan ispis na ekranu, u
okviru velikih zagrada upišite tekst tačno kao što je prika-
zano:
class Program
{
static void Main(string[] args)
{
Console.WriteLine ("Moja prva C# aplikacija");
Console.ReadKey ();
}
}
Imajte na umu da C# razlikuje mala i velika slova!
Pokretanje aplikacije iz radnog okruţenja vrši se
pomoću funkcijskog tastera
F5
na tastaturi. Ako je kôd
ispravno napisan, pojavljuje se prozor komandne linije sa
ispisanim tekstom:
Pritisnite bilo koji taster čime se zatvara prozor komandne
linije, odnosno zaustavlja aplikacija.
5
Za pojmove: klasa, objekat, objektno programiranje,
nasleđivanje, metodi i slično čuli ste ili pročitali u literaturi
i oni (po mom iskustvu) izazivaju odbojnost ka objektnom
programiranju, bez obzira na to da li ste početnik ili profe-
sionalac. Ne treba se tako osećati jer objektno programira-
nje predstavlja način razmišljanja koje je najbliţe svakod-
nevnom iskustvu i najuspešnije modelira stvarnost.
U sledećem nastavku serijala o programiranju bavi-
ćemo se baš ovim pojmovima jer oni predstavljaju okosni-
cu u C# programiranju.
Analiza koda:
Linija:
Console.WriteLine("Moja prva C# aplikacija");
je „odgovorna“ za ispis teksta.
Console
objekt predstavlja
prozor komandne linije, dok je
WriteLine
metod
ovog
objekta kojim se ispisuje tekst. Kasnije ćemo videti šta su
klasa, objekat i metoda klase. Očigledno, parametar meto-
de
WriteLine
je tekst koji ţelimo da se ispiše.
Linija:
Console.ReadKey();
postoji samo da bi se napravila pauza. Bez nje bi se otvori-
o prozor komandne linije, ispisao tekst i prozor bi se
odmah zatvorio jer se aplikacija završila. Slično kao i u
prethodnoj liniji koristi se objekat
Console,
a ovog puta
metod
ReadKey
koji čeka da korisnik pritisne taster na
tastaturi.
Pokušajte da obrišete ovu liniju i pokrenete pro-
gram i vidite šta se događa.

7
U prvom primeru je deklarisana varijabla pod nazi-
vom „ImeUcenika“ koja pripada tipu „niska“ (eng. string),
što znači da moţe da sadrţi bilo koji niz znakova i njena
vidljivost je javna (public).
Vidljivost definiše odakle se varijabli moţe pristupi-
ti. Ključna reč „public“ znači da je varijabla javna u celom
opsegu u kome je deklarisana – na primer, u celoj klasi i
da je takođe vidljiva korisnicima te klase.
U drugom slučaju deklarisali smo varijablu pod
nazivom „Razred“ koja pripada tipu „int“ (pozitivni i nega-
tivni celi brojevi u određenom opsegu) sa privatnom vidlji-
vošću – dostupna je samo u okviru dela u kome je deklari-
sana, ali ne i korisnicima klase. Inicijalnu vrednost varijable
takođe smo postavili na 1.
Osim javnih (eng. public) i privatnih (eng. private)
tipova vidljivosti postoji još nekoliko varijanti o kojima će
biti govora kasnije. Za početak je dovoljno znati da privat-
ne varijable nisu vidljive van klase, a javne jesu.
Deklaracija funkcija je slična. Takođe se definiše
vidljivost, ime funkcije, tip (koji u slučaju funkcije znači tip
vrednosti koju vraća funkcija) uz dodatak deklaracije ulaz-
nih argumenata funkcije ako postoje.
Primer funkcije koja vraća zbir dva broja:
public double Zbir (double a, double b)
{
return a + b;
}
Funkcija Zbir je javna (dostupna korisnicima klase) i
kao rezultat vraća tip „double“ (broj sa decimalnom tač-
kom). Postoje dva ulazna parametra a i b koji su takođe
tipa „double“. Telo funkcije je određeno otvorenom i zat-
vorenom vitičastom zagradom. Naredba return označava
bezuslovni završetak rada funkcije i povratnu vrednost
funkcije. U našem primeru funkcije postoji samo naredba
return koja vraća zbir dva broja.
U sloţenijim klasama moţe postojati puno funkcija
koje implementiraju različite metode klase. Neke od njih
će imati povratnu vrednost, a neke ne. Funkcije koje
nemaju povratnu vrednost deklarišu se kao tip void. Na
primer:
public void PokreniProgram (string LokacijaPrograma)
{
// kôd koji pokreće program...
return;
}
U tom slučaju se navodi samo ključna reč return
bez parametra. U primeru je takođe prikazan način za upi-
sivanje komentara u programskom jeziku C#. Dve kose
crte
//
označavaju komentar sve do kraja reda.
Ovaj komentar se zanemaruje prilikom prevođenja,
a dobra praksa je pisati komentare uvek kada je to potreb-
no radi boljeg razumevanja koda.
Osim ove jednolinijske varijante komentara postoji i
višelinijski komentar koji počinje parom znakova
/*
i zavr-
šava sa
*/
. Sve linije između smatraju se komentarom i ne
izvršavaju se.
Primer klase
Sada znamo dovoljno da bismo mogli da kreiramo
jednostavnu klasu kao primer. Sama deklaracija klase je
jednostavna:
Class NazivKlase
{
/*
telo klase sa svim potrebnim svojstvima,
metodima i događajima
*/
}
Kao i u prethodnom nastavku primer ćemo zasno-
vati na konzolnoj aplikaciji. Pokrenite C# Express, kliknite
na vezu Kreiraj projekat… (eng. Create project…), izaberite
tip projekta Konzolna aplikacija (eng. Console Application)
i kliknite na dugme U redu (eng. OK).
Zadatak je napraviti klasu „Matematika“ koja će
znati da sabere i oduzme dva broja. Klasa će sadrţati dva
metoda (funkcije) – „Zbir“ i „Razlika“. Obe funkcije imaju
po dva ulazna parametra i brojeve koji se sabiraju, odnos-
no oduzimaju. Svi ulazni parametri i obe funkcije su tipa
„double“.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti