C#
February 24, 2019 | Author: Omilj Glišić | Category: N/A
Short Description
Download C#...
Description
Maturski rad iz informatike Tema:
Veb prezentacija programskog jezika C#
Maturski rad
Veb prezentacija programskog jezika C#
Sadržaj I.
Uvod u C# ....................................... .......................................................... ........................................ ......................................... ....................................... ........................................ ...................................4 ..............4
I - 1.
Šta je .NET okruženje? .................................... ...................................................... .................................... .................................... .................................... .................................... .................................... ..................... ... 4
I - 2.
Šta se nalazi unutar .NET okruženja? ..................................... ....................................................... .................................... .................................... .................................... ................................. ............... 4
I - 3.
Kako napisati aplikaciju koristeći .NET o kruženje? .................................. .................................................... ..................................... .................................... ................................ ............... 4
.......................................................... ........................................ ........................................ ........................................ ........................................ ........................................ ............................4 ........4 MSIL i JIT ...................................... ........................................................... ........................................ ........................................ ........................................ ........................................ ........................................ ............................4 ........4 Sklopovi ....................................... ........................................................... ........................................ ........................................ ........................................ ........................................ ........................................ .....................4 .4 Upravljivi kôd ....................................... Sakupljanje otpada
....................................... .......................................................... ........................................ ......................................... ....................................... ........................................ ...................................4 ..............4
........................................................... ........................................ ......................................... ........................................ ........................................ ..................................4 ..............4 Uklapanje u cjelinu........................................ .......................................................... ........................................ ......................................... ......................................... ........................................ ........................................ ........................4 ....4 Povezivanje...................................... Šta je C#? ........................................ ............................................................ ........................................ ........................................ ........................................ ........................................ ......................................... .........................4 ....4 Kakve aplikacije možemo pisati u C# -u? ........................................ ............................................................ ........................................ ......................................... ........................................ ...........................5 ........5
........................................................... ......................................... ......................................... ........................................ ...............................5 ...........5 Visual Studio.NET .......................................
I - 4.
......................................................... ........................................ ........................................ ........................................ ........................................ ............................5 ........5 Rješenja u Visual Studio -u ..................................... Pisanje programa u jeziku C#
........................................ ............................................................ ........................................ ........................................ ........................................ ........................................ .....................5 .5
Razvojno okruženje u Visual Studio .NET ....................................... ........................................................... ........................................ ......................................... ........................................ ...........................6 ........6
........................................................... ........................................ ......................................... ........................................ ........................................ ..................................6 ..............6 Konzolna aplikacija........................................ II.
Elementi Elementi programskog programskog jezika C# ...................................... .......................................................... ........................................ ........................................ ........................................ .....................7 .7
II - 1.
.......................................................... ........................................ ......................................... ........................................ ........................7 ....7 Promjenljive i izrazi ....................................... ...................................... .......................................................... ........................................ ........................................ ........................................ ......................................7 ..................7
II - 1- 1.
Osnove C# sintakse
II - 1- 2.
Osnove strukture C# konzolne aplikacije
II - 1- 3.
......................................................... ........................................ ........................................ ........................................ ........................................ ............................7 ........7 Promjenljive.....................................
....................................... .......................................................... ........................................ ......................................... ...............................7 ...........7
......................................................... ........................................ ........................................ ........................................ ........................................ ............................7 ........7 Prosti tipovi promjenljivih ..................................... .......................................................... ........................................ ........................................ ............................8 ........8 Imenovanje promjenljivih, konvencije i vrijednosti literala ...................................... ........................................................... ........................................ ......................................... ........................................ ........................................ ..................................8 ..............8 Pravila imenovanja........................................ ........................................................... ........................................ ......................................... ........................................ ........................................ ..................................9 ..............9 Vrijednosti literala ........................................ String literali
........................................ ........................................................... ........................................ ......................................... ........................................ ........................................ ......................................... .....................9 9
Određivanje i dodjeljivanje vrijednosti promjenljivim ...................................... ......................................................... ........................................ ......................................... ..................................9 ..............9 II - 1- 4.
........................................................... ........................................ ......................................... ........................................ ........................................ ................................10 ............10 Izrazi ........................................
II - 1- 5.
Matematički operatori ..................................... ......................................................... ........................................ ......................................... ......................................... ................................10 ............10
II - 1- 6.
........................................................... ......................................... ......................................... ........................................ .............................10 .........10 Operatori dodjeljivanja .......................................
II - 1- 7.
............................................................ ........................................ ......................................... ........................................ ................................11 .............11 Prvenstvo operatora ........................................
II - 1- 8.
........................................................... ........................................ ........................................ ........................................ ....................................1 ................11 1 Imenovani prostori.......................................
II - 2.
......................................................... ........................................ ........................................ ....................................1 ................12 2 Kontrola toka programa .....................................
II - 2 - 1.
........................................................... ....................................... ......................................... ........................................ ........................................ .......................12 ..12 Bulova logika ........................................
II - 2 - 2.
............................................................ ........................................ ........................................ ........................................ ........................................ ..........................13 ......13 Iskaz goto ........................................
II - 2 - 3.
.......................................................... ........................................ ........................................ ........................................ ........................................ .............................13 .........13 Grananje ......................................
......................................................... ........................................ ......................................... ........................................ ....................................... ....................................1 ................13 3 Ternarni operator ..................................... II - 2 - 4.
............................................................ ........................................ ........................................ ........................................ ........................................ .............................13 .........13 Iskaz IF ........................................
II - 2 - 5.
.......................................................... ........................................ ........................................ ........................................ ........................................ ..........................14 ......14 Iskaz switch......................................
II - 2 - 6.
.......................................................... ........................................ ......................................... ....................................... ........................................ .................................14 ............14 Petlje .......................................
.......................................................... ........................................ ........................................ ........................................ ........................................ .......................................1 ...................14 4 Petlja do while ...................................... .......................................................... ........................................ ......................................... ......................................... ........................................ ........................................ ......................15 ..15 Petlja while ...................................... .......................................................... ........................................ ........................................ ........................................ ........................................ ........................................ ..........................15 ......15 Petlja for ...................................... Dino Dedić
2
Maturski rad
Veb prezentacija programskog jezika C#
........................................................... ....................................... ........................................ ........................................ ........................................ ....................................1 ................15 5 Prekidanje petlji ........................................ Beskonačne petlje ........................................ ........................................................... ........................................ ......................................... ........................................ ........................................ ................................16 ............16
Funkcije Funkcije ....................................... ........................................................... ........................................ ........................................ ........................................ ......................................... ......................................... ......................16 ..16 II - 3 - 1.
............................................................ ........................................ ........................................ .......................................1 ...................16 6 Definisanje i korištenje funkcija ........................................
II - 3 - 2.
............................................................ ........................................ ......................................... ........................................ ................................17 .............17 Povratne vrijednosti ........................................
II - 3 - 3.
............................................................ ........................................ ........................................ ........................................ ........................................ ..........................17 ......17 Parametri ........................................
II - 3 - 4.
........................................................... ........................................ ........................................ ........................................ ....................................1 ................17 7 Nizovi parametara .......................................
II - 3 - 5.
........................................................... ........................................ ......................................... .......................18 ..18 Prijenos parametara po referenci i vrijednosti.......................................
II - 3 - 6.
.......................................................... ........................................ ......................................... ........................................ .......................................1 ...................18 8 Izlazni parametri.......................................
II - 3 - 7.
Opseg važenja promjenljive ...................................... .......................................................... ........................................ ......................................... ........................................ .........................19 ......19
II - 3 - 8.
Opseg važenja promenljive u drugim strukturama ...................................... .......................................................... ........................................ .......................................2 ...................20 0
II - 3 - 9.
.......................................................... ........................................ .......................21 ..21 Parametri i povratne vrijednosti nasuprot globalnim podacima.......................................
II - 3 - 10.
............................................................ ........................................ ........................................ ........................................ .......................................2 ...................21 1 Funkcija Main() ........................................
Funkcije članice struktura
..................................... ......................................................... ........................................ ........................................ ........................................ ........................................ ..........................22 ......22
Preopterećenje funkcija........................................ ............................................................ ........................................ ........................................ ........................................ ........................................ ..........................22 ......22
........................................................... ........................................ ........................................ ........................................ ........................................ ........................................ ..........................22 ......22 Delegati ....................................... II - 3 - 11.
Događaji ...................................... .......................................................... ........................................ ........................................ ........................................ ........................................ .............................23 .........23
Šta je događaj? ..................................... ......................................................... ........................................ ........................................ ........................................ ........................................ .......................................2 ...................23 3
......................................................... ........................................ ......................................... ....................................... ........................................ .................................24 ............24 Korištenje događaja ...................................... ............................................................ ........................................ ........................................ ........................................ ........................................ .............................25 .........25 Definisanje događaja ........................................ Višenamjenske rutine za obradu događaja ..................................... ......................................................... ........................................ ......................................... ........................................ .........................26 ......26
........................................................... ........................................ ........................................ ....................................27 ................27 Povratne vrijednosti i rutina za obradu događaja ....................................... ........................................................... ........................................ ........................................ ........................................ ........................................ ........................................ ..........................29 ......29 Osobine ....................................... III - 1 - 3 - 1.
.......................................................... ........................................ ........................................ ........................................ ....................................31 ................31 Kontrola Button ......................................
III - 1 - 3 - 2.
Kontrole Label i LinkLabel
III - 1 - 3 - 3.
............................................................ ........................................ ......................................... ........................................ ................................32 .............32 Kontrola TextBox ........................................
III - 1 - 3 - 4.
......................................................... ........................................ ........................................ ....................................32 ................32 Kontrole RadioButton i CheckBox .....................................
III - 1 - 3 - 5.
.......................................................... ........................................ ........................................ ........................................ .................................33 .............33 Kontrola CheckBox......................................
III - 1 - 3 - 6.
......................................................... ........................................ ......................................... ......................................... ................................33 ............33 Kontrola GroupBox .....................................
III - 1 - 3 - 7.
.......................................................... ........................................ ........................................ ........................................ .............................33 .........33 Kontrola RichTextBox ......................................
III - 1 - 3 - 8.
.......................................................... ........................................ ......................................... .......................34 ..34 Kontrola ListBox i Kontrola CheckedListBox ......................................
III - 1 - 3 - 9.
........................................................... ......................................... ......................................... ........................................ .............................35 .........35 Kontrola ComboBox .......................................
III - 1 - 3 - 10.
........................................................... ........................................ ......................................... ........................................ ................................36 .............36 Kontrola ListView .......................................
III - 1 - 3 - 11.
............................................................ ........................................ ......................................... ........................................ .........................37 ......37 Metode klase ListView ........................................
III - 1 - 3 - 12.
.......................................................... ........................................ ........................................ ........................................ .................................37 .............37 Kontrola ImageList ......................................
III - 1 - 3 - 13.
.......................................................... ........................................ ........................................ ........................................ .................................38 .............38 Kontrola StatusBar ......................................
III - 1 - 3 - 14.
........................................................... ......................................... ......................................... ........................................ .............................38 .........38 Kontrola TabControl .......................................
........................................ ........................................................... ........................................ ......................................... ........................................ ......................31 ..31
III.
Zaključak ........................................ ........................................................... ........................................ ......................................... ........................................ ........................................ ................................39 ............39
IV.
Literatura Literatura ....................................... .......................................................... ........................................ ......................................... ....................................... ........................................ .................................40 ............40
Dino Dedić
3
Maturski rad
I.
Veb prezentacija programskog jezika C#
Uvod u C# I - 1. Šta je .NET okruženje?
Pro jektno okruženje .NET je nova platforma za razvoj aplikacija napravljena od strane Microsoft-a, a dizajnirano je tako da se može koristiti od strane bilo kog programskog jezika. Ovo uključuje C#, kao i C++, Visual Basic i Jscript. Svi ovi programski jezici imaju pristup projektnom okruženju .NET i mogu međusobno da komuniciraju. Sasvim je moguće kod programiranja u C# koristiti kôd napisan u Visual Basic.NET, kao i obrnuto.
I - 2. Šta se nalazi unutar .NET okruženja? Projektno okruženje .NET najvećim d ijelom se sastoji od ogromne biblioteke kodova koju upotrebljavamo preko klijentskih jezika. Ova biblioteka podijeljena je na različite module koje koristimo u zavisnosti od našeg zadatka. Neki moduli su podijeljeni u različite podmodule.
I - 3. Kako napisati aplikaciju koristeći .NET okruženje? Pisanje aplikacija unutar .NET projektnog okruženja u stvari znači pisanje koda uz pomoć . NET biblioteke koda. Preporučuje se korišćenje Visual Studi o-ja za programiranje. Prednost ovog okruženja je lakoća kojom se mogućnosti .NET tehnologije mogu integrisati u naš kôd . Da bi se C# kôd izvršio neophodno ga je prevesti u izvorni ili originalni kôd (kompajliranje kôda). Unutar .NET okruženja ta operacija ima dvije faze.
MSIL i JIT Kada kompajliramo kôd koristeći biblioteku .NET okruženja mi kompajliramo u kôd Microsoftovog posrednog jezika ( Microsoft Intermediate Language - MSIL). Da bi se program izvr šio potrebno je još rada. Za taj posao zadužen je kompajler pravo-na-vrijeme (engl. Just-In-Time - JIT), koji prevodi MSIL u izvorni kôd. Tek tada OS može izvršiti program. Dio imena „pravo-navrijeme” odnosi se na to da se MSIL kôd kompajlira samo kada je to potrebno.
Sklopovi Kada kompajliramo aplikaciju MSIL kôd se smiješta u posebne programske skupove. Takvi skupovi sadrže i izvršne programske datoteke. Programski skupovi pored MSIL -a sadrže i takozvane meta informacije (dodatne podatke koje koristi MSIL, kao što su zvukovi i slike). Meta podatci dozvoljavaju programskim skupovima da budu
potpuno samoopisujući. Ne trebaju nam nikakve dodatne informacije da bi smo koristili programske skupove. Ovo u stvari zanči da je razvoj aplikacija jednostavan. Upravljivi kôd CLR vodi računa o našoj aplikaciji kroz upravljanje memorijom, obezbjeđivanjem sigurnosti, dozvoljava međujezičko otklanjanje grešaka itd. Suprotno ovome, aplikacije koje ne rade pod kontrolom CLR-a nazivaju se neupravljive. U C# možemo napisati samo onaj kôd koji radi pod upravljivim okruženjem. Sakupljanje otpada Jedna od najvažnijih mogućnosti upravljivog koda je sistem kolekcije otpada. Ovo je metod .NET-a koji se brine o tome da memorija koju je aplikacija koristila tokom svog izvršenja bude obavezno ispražnjena kada aplikacija više nije u upotrebi. Uklapanje u cjelinu Da bi smo napravili .NET aplikaciju potrebno je:
Kôd za aplikaciju napisati koristeći .NET jezik kao što je C#. Ovaj kôd se kompajlira u MSIL, koji je smješten u programski skup. 3. Kôd koji se izvršava mora se predhodno kompajlirati kroz JIT kompajler u izvorni kôd. 4. Izvorni kôd se izvršava preko upravljive metode CLR. Povezivanje 1. 2.
C# kôd koji se kompajlira u MSIL u koraku 2. ne mora da bude smj ešten u jednu datoteku. Moguće je podijeliti kôd aplikacije u različite datoteke koje će se tokom kompajliranja objediniti u programski skup odnosno assembly. Razlog ove podjele je taj što je mnogo lakše raditi sa više manjih dat oteka nego sa jednom ogromnom.
Šta je C#? C# je jedan od jezika koji služi za izradu aplikacija koje mogu raditi pod .NET CLR-om. To je evolucija C i C++ jezika koju je kreirao Microsoft da bi se radilo sa .NET okruženjem. Dino Dedić
4
Maturski rad
Veb prezentacija programskog jezika C#
Programiranje aplikacije u C# je jednostavnije nego u C++, jer je sintaksa prostija. Kôd C# je malo razumljiviji od C++ koda. Kod koda je jednostavnije otkloniti greške, .NET u svakom trenutku može odrediti koje m tipu pripada traženi podatak. C# je samo jedan od jezika koji omogućava rad sa .NET razvojnim okruženjem.
Kakve aplikacije možemo pisati u C#-u? C# nema ograničenja u vezi toga kakve sve aplikacije možemo napraviti. C# koristi okruženje i samim tim
nema ograničenja u vezi sa mogućim aplikacijama. Tipovi najčešće pravljenih aplikacija su: Windows aplikacije – To su aplikacije tipa Microsoft Office-a koje imaju izgled standardnih Windows aplikacija. Ovo je pojednostavljeno korištenjem modula Windows obrazaca unutar .NET okruženja, koji u stvari čini biblioteka kontrola (kao što su dugmići, palete alatki, meniji i tako dalje), a koje nam koriste pri izradi Windows
korisničkog interfejsa (UI). Web aplikacije – To su web strane koje možemo videti kroz bilo koji web pretraživač. Ovaj sistem se naziva
Active Server Pages.NET (ASP.NET), a C# možemo koristiti za izradu ASP.NET aplikacija uz pomoć web obrazaca. Web servisi – Oni su nov i uzbudljiv način izrade aplikacija koje su razmenljive prirode. Koristeći web serviše
preko Interneta možemo razmenjivati bilo koju vrstu podataka, koristeći prostu sintaksu, ne vodeći računa o tome u kom jeziku je napisana aplikacija niti na kom sistemu je postavljena.
I - 4. Visual Studio.NET Visual Studio.NET (VS) koristi se za izradu aplikacija sastavljenih od prostih linijskih komandi pa sve do kompleksnih tipova projekata. VS nije neophodan za programiranje u C#, ali nam mnogo olakšava stvari. Slijedi kratka lista razloga zbog kojih je VS pravi izbor za .NET razvojno okruženje: VS tekst editor je povezan sa jezicima VS-a (uključujući C#) i to tako da omogućava pametnu detekciju grešaka i sugeriše odgovarajući kôd na pravom mestu dok mi tipkamo.
VS sadrži i dizajnerske alate za aplikacije koje uključuju Windows obrasce, kao i web obrasce, a koji vam omogućavaju prost drag-and-drop dizajn UI elemenata. VS sadrži nekoliko čarobnjaka ili vodiča koji vam automatizuju zadatke opšte namjene, koji mogu dodati odgovarajući kôd postojećim datotekama, a da mi o tome ne brinemo.
Rješenja u Visual Studio-u Kada koristimo VS za razvoj aplikacija, to radimo kreiranjem rješenja. Rješenja sadrže projekte koji mogu biti zasnovani na Windows formularima, Web formularima itd. Rješenja mogu sadržati i vi še projekata, tako da možemo grupisati srodan kôd na jedno mesto, iako će se oni kompajlirati u različite sklopove na različitim m jestima na disku.
Pisanje programa u jeziku C# VS je ogroman i komplikovan proizvod. Prva aplikacija koja se uobićajeno kreira je jednostavna aplikacija koja se pokreće iz komandne linije . Kompleksnije aplikacije su bazirane na Windows formularima i njihova sintaksa je mnogo komplikovanija.
Dino Dedić
5
Maturski rad
Veb prezentacija programskog jezika C#
Razvojno okruženje u Visual Studio .NET Ukoliko prvi put pokrećete VS biti će vam predstavljena lista sa vrijednostima namijenjena za korisnike sa iskustvom u radu na prethodnim izdanjima ovog razvojnog okruženja. Izgled VS okružen ja je u potpunosti prilagodljiv. Glavni prozor je onaj u kome se prikazuje cijeli naš kôd. Ovaj prozor je podi jeljen na kartice tako da možemo lako prelaziti sa jedne na drugu datoteku. Ovaj prozor ima i druge funkcije: može prikazati grafički korisnički
interfejs koji dizajniramo za naš projekat, čiste tekstualne datoteke, HTML, kao i različite alate ugrađene u VS. Iznad glavnog prozora nalaze se palete sa al atkama, kao i VS meni. Ovde možete naći nekoliko različitih paleta sa alatkama rangiranih po funkcionalnosti.
Konzolna aplikacija Za kreiranje konzolne aplikacije potrebno je otvoriti C#, kliknuti na New Project, odabrati Console Application i zatim kliknuti na OK.
Poslije par trenutaka 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 Slika 1. Startna stranica Visual Studio-a C# 2010 Express
prilikom pokretanja programa. U tijelo ove funkcije treba upisati kôd koji je potrebo izvršiti. Tijelo ove funkcije je definisano početnom { i završnom } velikom zagradom i to je početak i kraj svih segmenata u C# jeziku. Da biste probali jednostavan ispis na ekranu, u okviru velikih zgrada upišite tekst tačno kao što je prikazan: class Program { static void Main(string[] args) { Console.WriteLine ("Moja prva C# aplikacija"); Console.ReadKey (); } }
C# razlikuje mala i velika slova!
Pokretanje aplikacije vrši se pomoću tastera F5 na tastaturi. Ako je kôd ispravno napisan pojavljuje se prozor komandne linije sa ispisanim tekstom:
Slika 2. Primjer prozora komandne linije
Dino Dedić
6
Maturski rad
II.
Veb prezentacija programskog jezika C#
Elementi programskog jezika C# II - 1. Promjenljive i izrazi Računarski program je serija operacija koja manipuliše podacima. Skriven od pogleda korisnika i taj skup
operacija se uvijek odvija u pozadini.
Ako je računarski program u osnovi izvođenje operacija nad podacima, nama je potreban način na koji možemo snimiti neke podatke, kao i utvrđivanje metoda manipulacije njima. Ove dvije funkcije se obezbjeđuju preko promjenjivih i izraza. Prethodno je potrebno znati osnovu sintakse C#.
II - 1- 1.
Osnove C# sintakse
Izgled C# vrlo je sličan C++-u. C# kompajler ne obraća pažnju na dodatne razmake unutar koda. C# kôd je sastavljen od niza iskaza, a svaki od njih se završava tačkom -zarez - ;. Savršeno je prihvatljivo da se jedan iskaz unese u vi še redova. C# spada u jezike sa blokovskom strukturom. Ovi blokovi koji su ograničeni vitičastom zagradom { i } mogu da sadrže bilo koju vrstu iskaza. Vitičaste zagrade ne zaht jevaju tačku-zarez iza sebe. Npr. blok C# koda može izgledati ovako: { ; }
Ovdje nije prikazan pravi izgled C# koda. Prikazano je samo gdje bi trebalo staviti C# iskaze. Svaki blok koda ima svoj stepen uvlačenja. Blokovi koda mogu biti jedan u drugom i u tom slučaju se
ubačeni blokovi uvlače još više: { ; { ; } ; }
U C# kodu poželjno je pisati komentare, koji uopšte nisu dio C# koda, ali postoje unutar njega. Komentari omogućavaju da se lakše snalazimo u kodu C#. Postoje dva načina pisanja komentara, a to su: /* Ovo je komentar */
/* Također... ... i ovo */ // Ovo je druga vrsta komentara.
II - 1- 2.
Osnove strukture C# konzolne aplikacije
Iz sljedećeg primjera možemo odmah uočiti sve elemente sintakse. Najvažniji dio koda za sada je: static void Main(string[] args) { Console.WriteLine ("Moja prva C# aplikacija"); Console.ReadKey (); }
Ovaj dio koda se izvršava prilikom pokretanja konzolne aplikacije. Jedini red koda koji će nešto uraditi jeste onaj koji smo dodali automatski generisanom kodu.
II - 1- 3.
Promjenljive
Promjenljive nam služe da u njih pohranimo podatke. Promjenl jive imaju više tipova. Glavni razlog za ovakav način raspodjele po tipovima leži u tome što postoje različiti tipovi podataka kojima se na drugačiji nači n manipuliše. Da bismo koristili promjenljive one moraju biti deklarisane. To znači da moramo da im dodjelimo ime i tip. Da bi se promjenljiva navela u jeziku C# koristi se tip. Npr.: ;
Promjenljiva koja nije deklarisana ili kojoj nije dodjeljena vrijednosti neće se kompajlirati.
Prosti tipovi promjenljivih Prosti tipovi su brojčane ili logičke vrijednosti (tačno ili netačno). Većina prostih tipova su brojevi . Razlog za podjelu tipova brojnih promjenljivih leži u samom mehanizmu smeštanja brojeva kao nizova jedinica i nula u Dino Dedić
7
Maturski rad
Veb prezentacija programskog jezika C#
memoriju računara. Za cjelobrojne vrijednosti jednostavno uzimamo određen broj bito va (nezavisnih cifri koje mogu biti jedinice ili nule) i predstavljamo naš broj u binarnom formatu. Prom jenljiva koja smješta N bitova dozvoljava nam da preko nje prikažemo bilo koji broj izmedu 0 i . Bilo koji broj iznad ove vrijednosti biće prevelik da se smjesti u promjenljivu. Tabela 1. Opseg vrijednosti u odnosu na tip podataka
Tip
Dozvoljene vrijednosti
sbyte byte short ushort int uint long ulong
cijeli broj između -128 i 127. cijeli broj između 0 i 255. cijeli broj između -32768 i 32767. cijeli broj O i 65535. cijeli broj između -2147.483.648 i 2147.483.647.
cijeli broj između 0 i 4294967295 cijeli broj između -9223.372.036.854.775.808 i 9223.372.036.854.775.807. cijeli broj između 0 i 1846.744.073.709.551.615.
Znak u koji stoji ispred imena nekih promjenljivih označava da u taj tip promjenljivih ne možemo sm ještati negativne brojeve, što se može vid jeti iz kolone dozvoljenih vrijednosti u tabeli.
Imenovanje promjenljivih, konvencije i vrijednosti literala Za ime promjenljive ne može se koristiti bilo koji niz znakova. Osnovna pravila pri imenovanju promjenljivih su da prvi znak imena promjenljive mora biti ili slovo ili znak podvlačenja _ ili @, a naredni znakovi mogu biti slova, znakovi podvlačenja ili brojevi. C# je osjetljiv na korištenje velikih i malih slova. Na primer, o vo su sve različite promenljive: myVariable MyVariable MYVARIABLE
Pravila imenovanja Programeri su do sada shvatili da je najbolje imenovati promjenljivu prema njenoj namjeni. U VS-u dovoljno je da pokazivač miša nam jestimo na ime promjenljive kojoj želimo da otkrijemo tip i ispisaće se poruka koja nas o tome obavještava . Preporuka Microsoft-a je da koristimo konvenciju PascalCase. Npr : PrezimeUcenika ZimaNasegNezadovoljstva Tabela 2. Prefiksi tipova podataka Tip podataka
Prefiks
Primjer vrijednosti
Boolean
bln
blnUlogovan
Byte
byt
bytGodiste
Char
chr
chrLozinka
Decimal
dec
decProdato
Double
dbl
dblRezultatIzracunavanja
Integer
int
intBrojacPetlje
Long
lng
lngIdKupca
Object
obj
objWord
Short
sho
shoTotalnaVrednost
String
str
strIme
Tabela 3. Prefiksi promjenjivih po području važenja
Dino Dedić
Područje važenja
Prefiks
Primjer – vrijednosti
Global Private to class
g m
g_strSnimiPutanju m_blnPromenaVrijednosti 8
Maturski rad
Veb prezentacija programskog jezika C#
Vrijednosti literala U prethodnom primjeru vidjeli smo dvije vrijednosti literala - cjelobrojnu i znakovnu. I drugi tipovi promjenljivih takođe mogu imati vr ijednosti literala, što će biti prikazano u sljedećoj tabeli. Mnogi od njih uključuju sufikse, odnosno nizove znakova koji se dodaju na kraju literala da bi se naznačio željeni tip. Neki literali imaju više različitih tipova koje na osnovu konteksta određuje kompajler za vrijeme kompajliranja: Tabela 4. Sufiksi literala kod tipova po dataka Tip/ovi
Kategorija
Sufiks
Primjer - dozvoljene vrijednosti
bool
logička
nema
true ili false
int,uint, long, ulong
cjelobrojna
nema
100
uint,ulong
cjelobrojna
u ili U
100U
long, ulong
cjelobrojna
l ili L
100L
ulong
cjelobrojna
ul, uL, Ul,lu,
100UL
float
realna
f ili F
1.5F
double
realna
nema, d ili D
1.5
decimal
realna
m ili M
1.5M
char
znakovna
nema
’a’, ili escape sekvenca
string
niz znakova
nema
“a..a“, može se uključiti escape sekvenca
String literali Tabela 5. Escape sekvence Escape sekvence
Znak koji pravi
Vrednost znaka u unicode-u
\` \" \\ \0 \a \b \f \n \r \t \v
jednostruki navodnik dvostruki navodnik obrnuta kosa crta nula
0x0027 0x0022 0x005C 0x0000 0x0007 0x00080 0x000C 0x000A 0x000D 0x0009 0x000B
alarm(pravi pištanje) unazad za jedan znak
prelazak na sledeću stranicu novi red prenos u novi red horizontalni tabulator vertikalni tabulator
Posljednja kolona ove tabele prikazuje Unicode vrijednosti. Za svaki Unicode znak možemo navesti odgovarajuću escape sekvencu, kao u tabeli. Sekvenca se uvijek sastoji od znaka \ iza koga slijedi četvorocifrena heksadecimalna vrijednost. To znači da su sljedeća dva stringa ekvivalentna: "Petar\’s string." "Petar\u0027s string"
Određivanje i dod jeljivanje vrijednosti promjenljivim Promjenljive deklarišemo koristeći njihov tip i ime. Npr.: int godiste;
Potom smo joj dodjelili vrijednost uz pomoć operatora dod jele : godiste = 25;
Promjenljive moraju biti inicijalizovane pre nego što ih upotrijebimo. Možemo navesti više različitih promjenljivih istog tipa u isto vrijeme ako ih odvojimo zarezom: int xVelicina, yVelicina;
Druga tehnika koju ćete sretati jeste dodjeljivanje vrijednosti promjenljivim dok ih deklarišemo: int godiste = 25; Dino Dedić
9
Maturski rad
Veb prezentacija programskog jezika C#
Možemo koristiti i obje tehnike zajedno: int xVelicina =4, yVelicina = 5;
Ovdje su xVelicina i yVelicina različitih vrijednosti. int xVelicina, yVelicina = 4;
II - 1- 4.
Izrazi
C# kôd sadrži veći broj operatora koji služe manipulaciji promjenjivih, uključujući i operator dodeljivanja. Kombinovanjem operatora sa promenljivima i literalima možemo formirati izraze.
Postoji širok spektar operatora. Prosti uključuju sve osnovne matematičke operacije, kao što je operator + za sabiranje, a oni komplikovaniji manipulaciju nad sadržajem promenljive. Postoje i logički operatori koji služe u radu sa logičkim promenl jivima. Operatori se mogu grubo podeliti na tri kategorije:
unarni operatori koji rade samo sa jednim operandom
binarni operatori koji rade sa dva operanda
ternarni operatori koji rade sa tri operanda
II - 1- 5.
Matematički operatori
U donjoj tabeli navedeni su svi operatori zajedno sa kratkim primjerom njihove upotrebe i rezultatima. Tabela 6. Operatori Operator
Kategorija
Kategorija
+ * / % + -
binarni
var1
binarni binarni binarni
var1 = var2 - var3; var1 = var2 * var3 var1 = var2 /var3
var1 je dodejljena vrijednost razlike var1 je dodjeljena vrijednost proizvoda var1 je dodjeljena vrijednost dijeljenja
binarni unarni
var1 = var2 % var3 var1 = + var2
var1 je dodjeljena vrijednost koja je ostatak dijeljenja var1 je dodjeljena vrijednost var2
unarni
var1 = - var2
var1 je dodjeljena vrijednost var2
=
var2 + var3;
Rezultat var1 je dodjeljena vrijednost sume
Tabela 7. Operatori inkrementiranja i dekrementiranja Operator
Kategorija
++
unarni
Primer izraza
var1 = ++var2
Primer izraza
var1 je dodjeljena vrijednost. var2+1,
var2 je uvećana za 1. --
unarni
var1 = --var2
++
unarni
var1 = var2++
var1 je dodjeljena vrijednost. var2-1, var2 je umanjena za 1. var1 je dodjeljena vrijednost var2.
var2 je uvećana za 1 --
unarni
var1 = var2--
var1 je dodjeljena vrijednost var2. var2 je umanjena za 1.
Operator ++ uvijek uvećava svoj 1 operand za 1, a - - ga uvijek umanjuje za 1. Stavljanje operatora prije operanda znači da se operan d mijenja prije nego što se izvrše dalja izračunavanja i obrnuto.
II - 1- 6.
Operatori dodjeljivanja
U donjoj tabeli navedeni su operatori dodjeljivanja zajedno sa primjerom njihove upotrebe i rezultata. Tabela 8. Operatori dodeljivanja Operator
Kategorija
Primer izraza
= += -= *= /= %=
binarni binarni binarni binarni Binarni binarni
var1=var2; var1+=var2 var1-=var2; var1*=var2; var1/=var2; var1%=var2;
Dino Dedić
Rezultat
var1 je dodjeljena vrijednost var2 var1 je dodjeljena vrijednost koja čini sumu var 1 var 2 var1 je dodjeljena vrijednost razlike var1 i var2 var1 je dodjeljena vrijednost proizvoda var1 i var 2 var1 je dodjeljena vrijednost djeljenja var1 i var2 var1 je dodjeljena vrijednost ostatka djeljenja var1 i var2
10
Maturski rad
Veb prezentacija programskog jezika C#
II - 1- 7.
Prvenstvo operatora
Kada računar obrađuje izraz, on izvršava svaki operator prema redoslijedu. To ne znači da se operatori uvijek izračunavaju s lijeva na desno. Jednostavan primjer gdje se prvo izvršava operator + pa tek onda = : var1 = var2 + var3;
Postoje i druge situacije kada prvenstvo izvođenja operatora nije očigledno, na prim jer: var1 = var2 + var3 * var4;
Ovdje je redoslijed izvršavanja sljedeći: prvo operator * , zatim + i na kraju =. Tu možemo odrediti prvenstv o izvršavanja koristeći zagrade. Npr. : var1 = ( var2 + var3) * var4;
Redoslijed po kome se izvršavaju operatori prikazan je u tabeli. Tabela 9. Prvenstvo operatora Primer izraza
Rezultat
var1=var2;
var1 je dodjeljena vrijednost var2
var1+=var2
var1 je dodjeljena vrijednost koja čini sumu v ar 1 var 2
var1-=var2;
var1 je dodjeljena vrijednost razlike var1 i var2
var1*=var2;
var1 je dodjeljena vrijednost proizvoda var1 i var 2
var1/=var2;
var1 je dodjeljena vrijednost djeljenja var1 i var2
var1%=var2;
var1 je dodjeljena vrijednost ostatka djeljenja var1 i var2
II - 1- 8.
Imenovani prostori
Imenovani prostori se također koriste i prilikom kategorisanja objekata .NET okruženja. C# kôd sadrži u globalnim imenovanim prostorima. To znači da se tom kodu može pristupiti iz nekog drugog koda koji je unutar globalnih imenovanih prostora tako što se navede njegovo ime. Možemo koristiti i ključnu riječ namespace, da bismo definisali imenovani prostor u bloku koda. Takva imena moraju biti kvalifikovana, ukoliko će ih koristiti kôd izvan imenovanog prostora. Kvalifikovano ime je ono koje sadrži sve informacije o svojoj hijerarhiji. Kvalifikovana imena koriste znak (.) između nivoa imenovanog pr ostora. namespace LevelOne { //kôd u imenovanom prostoru LevelOne //ime "NameOne" definisano } //kôd u globalnom imenovanom prostoru
Ovaj kôd definiše jedan imenovani prostor LevelOne kao i jedno ime u njemu, NameOne. Kôd napisan unutar LevelOne imenovanog prostora poziva ovo ime upotrebom " NameOne“. Kôd u globalnom imenovanom prostoru mora pozivati ovo ime na sljedeći način: "LevelOne.NameOne ".
U okviru imenovanih prostora možemo definisati ugnježdene imenovane prostore, također koristeći ključnu riječ namespace. Ugnježdeni imenovani prostori se pozivaju preko svoje hijerarhije . Npr. : namespace LevelOne { //kôd u imenovanom prostoru LevelOne namespace LevelTwo { //kôd u imenovanom pro storu LevelOne.LevelTwo //ime "NameTwo" definisano } } //kôd u globalnom imenovanom prostoru
Ovdje se NameTwo mora pozivati kao "LevelOne.LevelTwo.NameTwo" iz globalnog imenovanog prostora.
Važno je naglasiti da su imena jedinstveno definisana od strane njihovih imenovanih prostora. Mogli bismo definisati ime "NameThree" u imenovanim prostorima LevelOne i LevelTwo :
Dino Dedić
11
Maturski rad
Veb prezentacija programskog jezika C#
namespace LevelOne { //ime "NameThree" definisano namespace LevelTwo { //ime "NameThree" definisano } }
Ovdje smo definisali dva imena, LevelOne.NameThree i LevelOne.LevelTwo.NameThree, koja se mogu koristiti nezavisno jedno od drugoga. Kada definišemo imenovani prostor, možemo poje dnostaviti pristup imenima koje sadrže pomoću iskaza using. Npr. u sljedećem kodu iz imenovanog prostora LevelOne treba da imamo pristup imenima u imenovanom prostora LevelOne.LevelTwo bez klasifikacije: namespace LevelOne { using LevelTwo; namespace LevelTwo { //ime "LevelTwo" definisano } }
Sada iz imenovanog prostora LevelOne možemo pozvati ime LevelTwo.NameTwo pomoću "NameTwo".
II - 2. Kontrola toka programa Postoje dvije metode kontrole toka programa, odnosno redosljeda izvršenja redova u C# kodu.
Grananje – gdje se izvršava kôd uslovno u zavisnosti od rezultata nekog poređenja.
Petlje - ponavljanje izvršenja istih iskaza (određeni broj puta do unaprijed zadatog uslova).
II - 2 - 1.
Bulova logika
Tip bool može sadržati samo dv ije vrijednosti: true ili false. Uglavnom se tipovi bool koriste da snimi rezultat nekog poređenja. Poređenje zaht jeva upotrebu relacionih operatora koji su prikaz anih u donjoj tabeli. Tabela 10. Operatori poređenja Operator
Kategorija
Primjer izraza
==
binarni
var1=var2== var3;
!=
binarni
var1=var2!= var
<
binarni
var1=var2< var3
>
binarni
var1=var2>var3;
= var3;
Rezultat
var1 je dodjeljena vrijednost true ako je var2 jednaka var3, u suprotnom false. var1 je dodjeljena vrijednost true ako je var2 nije jednaka var3, u suprotnom false. var1 je dodjeljena vrijednost true ako je var2 manja od var3, u suprotnom false. var1 je dodjeljena vrijednost true ako je var2 veća od var3, u suprotnom false. var2 manja ili jednaka var3, u suprotnom false.
var2 veća ili jednaka var3, u suprotnom false.
Postoje i logički operatori koji su namjenjeni isključivo radu sa logičkim vrijednostima: Tabela 11. Logički operatori Operator
Kategorija
Primjer izraza
!
unarni
var1 = !var2;
&
|
binarni
binarni
var1 = var2 & var3;
var1 = var2|var3;
Rezultat
var 1 je dodeljena vrednost true ako je var2 false, ili vrednost false ako je var2 true (logičko NE). var1 je dodeljena vrednost true ako var2 i var3 imaju vrednost true u suprotnom false (logičko I). var1 je dodeljena vrednost true ako var2ima vrednost true ili var3 ima vrednost true ili obe promenljive imaju
vrednost true, u suprotnom dobija vrednost false (logičko ILI).
Dino Dedić
12
Maturski rad
Veb prezentacija programskog jezika C#
^
var1=var2 ^ var3;
binarni
var1 je dodeljena vrednost true ako var2 ima vrednost true ili var3 ima vrednost true, ali ne i ako obe promenljive imaju vrednost true, u suprotnom false (Logičko ekskluzivno ILI).
Operatori & i I imaju dva slična operatora: Tabela 12. Logički operatori Operator
Kategorija
Primjer izraza
&&
binarni
var1=var2&&var3;
||
binarni
var1=var2||var3;
Rezultat
var1 je dodjeljena vrijednost true ako var2 i var3 imaju vrednost true, u suprotnom f alse (logičko I) var1 je dodeljena vrednost true ako var2 ili var3 (ili obje promenljive) imaju vrednost true, u suprotnom var1 dobija vrednost false (logičko ILI)
Njihov rezultat je potpuno isti kao & i |, ali postoji bitna razlika u načinu na koji se dobija njihov rezultat, što može dati bolje performanse programa. Oba operatora prvo ispituju vr ijednost prvog operanda (var2, pa na osnovu vrijednosti ovog operanda možda neće biti potrebno da se ispita drugi operand (var 3). II - 2 - 2.
Iskaz goto
Jezik C# dozvoljava da se određeni d ijelovi koda obilježe i da se na ta mesta direktno skače pomoću iskaza goto. Galvna korist je u tome što možemo na jednostavan način kontrolisati šta se u kodu izvršava i kada. Iskaz goto se koristi na sljedeći način: goto ;
Npr.: int myInteger = 5; goto myLabel; myInteger +=10; myLabel; Console.WriteLine("myInteger = {0}", myInteger);
Program se izvršava na sl jedeći način:
Promjenjiva mylnteger je deklarisana kao tip int i dodjeljena joj je vrijednost 5.
Iskaz goto prekida normalan tok programa i prebacuje kontrolu na red obilj ežen sa myLabel .
Vrijednost mylnteger se ispisuje na konzoli.
II - 2 - 3.
Grananje
Grananje je kontrola toka. Red na koji se prelazi zavisi od uslovnog iskaza. Taj uslovni iskaz biti će zasnovan na poređenju dvije ili više vrijednosti sa korištenjem Bulove logike. Postoje tri tehnike grananja :
tenarni operator
iskaz if
iskaz switch
Ternarni operator Najjednostavniji način da se izvede poređenje jeste pomoću ternarnog uslovnog operatora ? : . Sintaksa je sljedeća: ? :
Ovdje se ispituje da bi se dobila logička vrednost, pa je rezultat operator ili u zavisnosti od te vrijednosti.
II - 2 - 4.
Iskaz IF
Iskaz if je mnogo bolji način za donošenje odluka. Ovaj iskaz koristimo da uslovno izvršimo druge iskaze. Najjednostavnije korištenje iskaza if je sledeće:
Dino Dedić
13
Maturski rad
Veb prezentacija programskog jezika C#
If (): ;
Ovdje se izračunava (mora biti logička vrednost da bi se kôd kompajlirao), a iskaz ispod se izvršava ako uslov ima vrednost true. Nakon izvršenja tog koda, ili ukoliko imao rezultat false, program se
nastavlja od sledećeg reda koda. Možemo navesti i dodatni kôd koristeći iskaz else u kombinaciji sa iskazom if . Ovaj iskaz se izvršava ako ima vrednost false: if () ; else ;
Da bi ste probali jednostavan ispis na ekranu u okviru velikih zgrada upišite tekst tačno kao što je prikazano: static void Main(string[] args) { string poredjenje; Console.WriteLine("Dobar dan."); Console.WriteLine("Unesite prvi broj"); double prvi = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Unesite drugi broj"); double dr ugi = Convert.ToDouble(Console.ReadLine()); if (prvi > drugi) Console.WriteLine("Prvi broj je veci od d rugog."); else Console.WriteLine("Drugi broj je veci od prvog."); Console.ReadKey();
Slika 3. Rezultat izvršavanja navedenog programa
}
Ako je kôd ispravno napisan, pojavljuje se prozor komandne linije sa ispisanim tekstom:
II - 2 - 5.
Iskaz switch
Iskaz switch je vrlo sličan iskazu if po načinu uslovnog izvršavanja koda na osnovu neke vrijednosti dobijene iz testa. Switch nam dozvoljava da ispitamo više različitih vrijednosti test promenljive (selektorske vrijednosti) odjednom. Osnovna struktura switch iskaza je sljedeća: switch () { case : case : default::
View more...
Comments