9
i

Maturalni Rad

Embed Size (px)

DESCRIPTION

Maturalni rad C#

Citation preview

Page 1: Maturalni Rad

i

Page 2: Maturalni Rad
Page 3: Maturalni Rad

1.UVOD

C# (izgovara se ce šarp eng. C sharp --oštro C), objektno-orijentirani je programski jezik kojeg je razvio Microsoft u okviru svoje Microsoft .NET inicijative]. Jezik su kao standard odobrile ISO i ECMA međunarodnoe organizacije. C# ima proceduralnu, objektno orijentiranu sintaksu, zasnovanu većinom na C++-u, ali također uključuje i neke aspekte iz drugih jezika, kao što su Delphi, Visual Basic, te Java, sa posebnim fokusom na pojednostavljenje (manje simbola od C++ i manje dekorativnih zahtjeva od Jave, sa više funkcionalnosti istovremeno).C# ima svoje prethodnike C i C++ od kojih je uzeo sve stvari koje su bile dobre i koje nisu zahtjevale poboljšanja. Izrazi, naredbe i skoro cijela sintaksa, što čini većinu tipičnih programa, je ostala nepromjenjiva. Učinjen je veliki napredak i dodana su mnoga poboljšanja i nadogradnje koje nebi imalo smisla nabrajati u uvodu. Tako da su sadržana u radu.

Page 4: Maturalni Rad

2.STRUKTURA PROGRAMA

U ovom poglavlju ćemo pogledati kako izgleda osnovna struktura C# programa. Započet ćemo sa standardnim „Hello World“ primjerom, kroz koji ćemo opisati osnovne elemente od kojih se sastoji jedan normalan program.

2.1Hello World

Sljedeći programski odsječak prikazuje C# verziju Hello World programu:

Slika 1 Hello World (primjer u C#)

Pogledajmo sada djelove od kojih se sastoji ovaj program.

2.1.1Komentari

Dvije kose crte // pretvaraju ostatak reda u komentar. Neki blok možemo pretvoriti u komentar i tako da ga stavimo između /*i*/ znakova kao na primjer.

Slika 2 Komentar(primjer u C#)

2.1.2Main metoda

Main metoda je static metoda koja se nalazi unutar neke klase ili strukture. U prethodnom primjeru, nalazi se unutar klase Hello. Metoda može za povratni tip imati int ili void, a može primiti i ulazne parametre.

Slika 3 Main metoda(primjer u C#)

2.1.3Ulaz i izlaz

C# programi uglavnom koriste ulazno/izlazne servise koji su ponuđeni u .NET Framework biblioteci klasa. Izlaz System.Console.WriteLine(„Hello World“); koristi WriteLine metodu, jednu od izlaznih metoda u Console klase. Ona prikazuje stringkoji smo zadali kao parametar na standardni izlazni tok.

Page 5: Maturalni Rad

2.1.4Imenik prostor imena ili namespace je jednostavno sredstvo pomoču kojeg semantički grupiramo elemente(klase i druge imenike) i time riješavamo problem kolizije imena.

3.TIPOVI PODATAKAC# spada u strongly typed jezika, tj. Sve varijable i objekti moraju imati deklariran tip. Varijablama možemo zadati da imaju neki od ugrađenih tipova, poput int ili char tipa, ili neki korisnički-definirani tip poput klase ili sučelja. Drugi način podjele je na:

vrijednosne tipove (vahie type) referentne tipove (reference type)

3.1Vrijednosni tipovi

Vrijednosni tipovi se dijele u dvije glavne kategorije: Strukture Pobrojani tip

Strukture se dalje dijele na: Numeričke tipove Bool Korisnički definirane strukture

3.1.1Numerički tipovi

Varijable koje imaju vrijednosni tip direktno sadržavaju vrijesnosti. Kad pridružujemo jednu varijablu vrijednosnog tipa drugoj varijabli, vrijednost se kopira. Ovo je različito od slučaja kad su varijable referentnog tipa kada se kopira samo referenca, ali ne i sami objekt.Za razliku od referentnih tipova, ovaj tip nije moguče proširiti(naslijediti), ali strukture još uvjek mogu implementirati sučelja. Isto tako, za razliku id referentnih tipova, vrijednosni tipovi ne mogu sadržavati null kao vrijednost, ali sa dolaskom novog frameworka 2.0, dodan je nullable type koji nam omogučuje da vrijednosnom tipu pridružimo null.

3.1.2Bool

Ključna riječ bool je ali za System.Boolean tip. Koristi se za deklariranje varijabli koje mogu pohranjivati Boolean vrijednost, true i false. Nekoj bool varijabli se mogu pridružiti i izraz koji kao rezultat vračaju bool vrijednost, kao u sljedečem primjeru:

Page 6: Maturalni Rad

Slika 4 Rezultat se dobije tri retka u kojima piše True,False,False.

3.1.3Struct

Korisnički definirane strukture se koriste za enkapsulaciju manje grupe povezanih varijabli, poput koordinata pravokutnika ili karakteristika nekog predmeta iz skladišta. Sljedeći primjer prikazuje deklaraciju jednostavne strukture:

Slika 5 Struct

3.2Pobrojani tip

Pobrojani tip ili enumeracija se stvara pomoću enum ključne riječi, a koristi se za definiranjeseta konstanti. Svaka enumeracija ima ispod sebe neki integralni tip (osim char tipa).Defaultni tip je int. Po defaultu, prva konstanta ima vrijednost 0, a sve ostale po 1 više odprethodnog, pa tako u sljedećem primjeru:

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

3.3Referentni tipovi

Varijable referantnog tipa čuvaju samo reference na stvarne podatke. Osnovna podjela referentnih tipova je na:

Klase Sučelja Delegate

Postoje i dva več ugrađena referentna tipa:

Object String

Page 7: Maturalni Rad
Page 8: Maturalni Rad

4.NIZOVI

Niz je podatkovna struktura koja sadrži više varijabli istog tipa. Osnovna svojstva nizova:

Mogu biti jednodimenzionalni, višedimenzionalni ili nazubljeni nizovi. Default vrijednost elemenata numeričkog niza je 0, a referentni elementi su

inicijalizirani sa null. Nazubljeni niz je niz nizova, pa obzirom da je niz referentni tip, sadrži

inicijalno null vrijednosti. Prvi element niza ima indeks 0, a zadnji od n elemenata ima indeks n-1 Elementi niza mogu biti bilo kojeg tipa, uključujući nizove Niz je referentni tip izveden iz apstraktnog tipa Array. Budući da ovaj tip

implementira IEnumerable sučelje, može se koristiti u foreach iteraciji.

4.1Jednodimenzionalni niz

Ovaj niz sadrži elemnte array (o) do array (4). Operator new je korišten da se stvori niz i inicijaliziraju elementi niza na njihove default vrijednosti. U ovom slučaju, svi elementi su inicijalizirani na nulu.

4.2Višedimenzionalni niz

Nizovi mogu imati i više od jedne dimenzije. Na primjer , sljedeča deklaracija stvara dvodimenzionalni niz od 4 retka i 2 stupca.

Int[,] array= new int[4, 2]

Sljedeća deklaracija stvara niz sa tri dimenzije, 4, 2 i 3:

Int[, ,] array1 = new int[4, 2, 3];

Page 9: Maturalni Rad

i