Objektno orijentirano programiranje. Auditorne vježbe

Size: px
Start display at page:

Download "Objektno orijentirano programiranje. Auditorne vježbe"

Transcription

1 Objektno orijentirano programiranje Auditorne vježbe Elektrotehnički fakultet Osijek Kneza Trpimira 2b Osijek 1. Uvod u C# C# (CSharp) je nastao u tvrtki Microsoft i razvijen je od strane tima stručnjaka predvođenih sa Anders Hejlsberg-om i Scott Wiltamuth-om. Na tržištu se pojavio godine zajedno sa.net platformom. C# je nastao s ciljem da bude jednostavan, siguran, moderan, objektno orijentiran jezik visokih performansi za.net platformu. C# je nastao na temelju objektnih jezika Java, C++ i Visual Basic. Vrlo je sličan Javi i C++ jeziku (sintaksa i semantika je dobrim dijelom preuzeta iz Jave, koja je kao i C# potpuno objektno orijentirani jezik). Ali C# za razliku od Jave nije neovisan o platformi, tj. operativnom sustavu, već je kreiran za izradu stolnih (desktop) i Internet aplikacija u.microsoft.net okruženju. C# sadrži sve dobre odlike potpuno objektnog programskog jezika (koje većinom preuzima iz C++ i Jave), a u sklopu.net platforme omogućava kreiranje vizualnih aplikacija čak i onim korisnicima koji nemaju programerskog iskustva. Također daje dobar uvid u način na koji nastaju objektne i vizualne aplikacije, i vrlo je lako naučiti korisnike kako projektirati takve aplikacije i upravljati njihovim korištenjem. C# sadrži samo oko 80 ključnih riječi i na desetke ugrađenih tipova podataka kao što su:

2 C# ima velike mogućnosti u definiranju klasa (tipova objekata), novih metoda i svojstava, te korištenju enkapsulacije, nasljeđivanja i polimorfizma kao što je to omogućeno u C++ i Javi. Također podržava XML stil unutar dokumenata, sučelja, svojstva, događaje te podržava rad s pokazivačima i ''garbage collection''. C# koristi postupak zvan garbage collection za oslobađanje memorije koju zauzimaju objekti koji više nisu dostupni programu. Programer je oslobođen brige o tome koji su mu objekti više ne trebaju (garbage), jer to umjesto njega radi sustav. Ako je objekt postojao i bio korišten neko vrijeme, može postojati nekoliko poziva na njega. Objekt postaje garbage tek nakon što su nestanu svi pozivi na njega. Ranije smo rekli da je C# radi u razvojnom okruženjo nazvanom.net platforma, a sada ćemo objasniti što je to..net platforma je zapravo razvojni okvir koji omogućava novo sučelje za programiranje aplikacija (eng. application programming interface, tj. API) i ujedinjuje klasično sučelje Windows operativnog sustava, zajedno s brojnim tehnologijama koje su proizašle iz Microsoft-a, kao što su ASP razvojni okvir za web, XML, objektnoorijentirani dizajn, podršku za nove web uslužne protokole kao što je SOAP, WSDL, i UDDI, sa naglaskom na Internet, a sve integrirano unutar DNA arhitekture (eng. Windows Distributed internet Applications Arcitecture)..NET platfoma sastoji se od 4 grupe proizvoda: 1. skup programskih jezika u okviru Visual Studio razvojne okoline (jezici: C#, Visual Basic.NET, Managed C++, Jscript.NET) 2. skup.net Enterprise servera (u čijem sklopu se nalaze SQL Server, Exchange Server, BizTalk) 3. ponuda komercijalnih web usluga (Project Hailstorm) 4. mobilni.net uređaji (koji nisu PC), kao npr. mobilni telefoni, uređaji za igre, i dr..net okvir (Framework) je okvir koji povezuje programske jezike uključene u.net platformu, omogućavajući korištenje istih objekata (klasa), njihovo nasljeđivanje i polimorfizam u različitim jezicima koje ta platforma podržava. Dakle, jezici u.net platformi su u isto vrijeme i nezavisni i integrirani. Kako.NET okvir omogućava integriranje programskih jezika?.net okvir definira specifikaciju zvanu CTS (Common Type System) koje se moraju držati svi.net jezici (npr. sve u.net jeziku je objekt neke specifične klase koja je dio korijenske klase System.Object)..NET okvir definira opći koncept klasa, sučelja, delegata, tipova referenci i tipova vrijednosti, također uključuje i Common Language Specification (CLS), specifikaciju s pravilima kojih se treba držati kako bi integracija jezika bila moguća i kako bi neki jezik mogao biti dio.net platforme. Prevoditelji (compiler-i) tih jezika rade na principu CLS pravila i mogu kreirati objekte koji mogu međusobno komunicirati neovisno o jeziku u kojem su napisani. Tako se stvara biblioteka klasa unutar.net okvira - Framework Class Library (FCL) koju može koristiti bilo koji jezik koji se drži CLS-a.

3 Glavne komponente.net okvira su: Četiri službena programska jezika: C#, Visual Basic.NET, Managed C++, Jscript.NET + ova dva glavna dijela koja može koristiti svaki.net jezik: 1. Common Language Runtime (CLR) zajednička platforma izvršavanja programa, koju dijele Windows i web aplikacije kreirane u.net okviru 2. Skup kreiranih klasa (FCL) - biblioteka klasa koju dijele programski jezici unutar ovog okvira Slika 1. Arhitektura.NET okvira. CLR (Common Language Runtime) je mehanizam izvršavanja u zajedničkom jeziku koji različite.net jezike prevodi u isti zajednički jezik, koji se koristi kada se aplikacije izvršavaju (Barker, 2007). Uključuje virtualni stroj (virtual machine), slično kao Java virtual machine (JVM), a radi tako da aktivira pojedine objekte uključene u aplikaciju, radi debugging (provjeru grešaka), provjeru tipova, te JIT (just in time) prevođenje. Prilikom prevođenja programa u.net-u se ne kreira odmah izvršna datoteka u strojnom jeziku, nego

4 najprije MSIL ili IL datoteka (Microsoft Intermediate Language), koja se tek kod pokretanja projekta prevodi u strojni jezik po principu JIT, odnosno prevođenja na zahtjev (on demand). Svi jezici unutar.net platforme proizvode sličan IL kod i objekti i klase iz jednog jezika mogu se koristiti u drugom. Biblioteke (ili skupovi) klasa u.net okviru su različiti prostori za nazive (namespaces). Namespaces su skupovi tipova koji su logički organizirani, što omogućuje korištenje više verzija tipova s istim nazivom, ali unutar različitih prostora za nazive (npr. kao što postoje u prirodi skupine ili vrste živih bića), npr. Živa bića Vodozemci Gmazovi Sisavci Životinje Ljudi...daljnja podjela prema rasi, spolu, itd. Postoji hijerarhija prostora za nazive, tako jedan prostor može sadržavati druge prostore u hijerarhijskom poretku. Prostori za nazive su sadržani unutar.net okvira, ali i korisnici razvojnih alata mogu koristiti te prostore. Primjer korisničkog Namespace-a: // Namespace deklaracija using System; // Namespace deklariran od strane korisnika namespace korisnicki_namespace namespace tutorial // Neka klasa class NamespaceCSS // Main pokreće program public static void Main() // Ispis na konzoli Console.WriteLine("Primjer Namespace-a u C#.");

5 Osnovni prostori za nazive u.net-u su: Naziv klase System System.Data System.Drawing System.Windows.Forms Opis Glavni prostor za nazive sustava Klase koje se upotrebljavaju za ADO.NET i globalnu manipulaciju podacima Klasa za crtanje oblika i objekata u aplikacijama Prostori za nazive i klase za korištenje formi u windows aplikacijama Alat koji daje prikaz svih raspoloživih prostora za nazive, klasa i metoda, te pruža i sintaksu i pomoć za upotrebu nekog prostora za naziv ili klase je Object Browser. Pokreće se s omoću izbornika View -> Object Browser. Najprije se u prozoru prikazuju prostori za nazive koji se koriste u aktivnom projektu, ali se pretraživanjem može dobiti pomoć za bilo koji prostor za nazive. Pretpostavimo da želimo pronaći upute kako se koristi klasa za ispis poruke korisniku na ekranu aplikacije. Ako u polje za pretraživanje u Object Browser-u upišemo npr. ''MessageBox'' i pritisnemo Enter, dobije se popis svih skupina klasa za ispis poruka. Ako želimo pronaći samo klase za ispis poruka u Windows formi, tada ćemo na popisu klasa označiti ''System.Windows.Form.MessageBox''. Na ekranu će se pojaviti sve metode (postupci koji se mogu napraviti) za tu klasu. Tipkom F1 na ekranu se dobiva pomoć za korištenje te klase. Za povratak natrag potrebno je zatvoriti i prozor za pomoć i prozor Object Browser-a. Sve naredbe možemo pisati upotrebom dužeg načina, tj. navođenjem pune sintakse svih prostora naziva koji se koriste za ispis poruke na ekranu: System.Windows.Forms.MessageBox.Show ("Ispisi neke poruke.","projekt1", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); Upotreba kraćeg načina pozivanja klase iz prostora za nazive (ako je System.Windows.Forms klasa već navedena na početku programa u naredbi Using): MessageBox.Show ("Ispisi neke poruke.", "Projekt1", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk); Ako upisujemo duži način pozivanja nekog objekta, to se zove potpuno kvalificirana naredba. Kod kraćeg načina može se koristiti mogućnost IntelliSense ugrađena u alat, koja pruža pomoć pri pisanju naredbi na način da nam prikazuje listu s mogućim klasama, objektima, metodama koje možemo izabrati s popisa. Aktivira se automatski pri početku pisanja naredbe ili tipkom Ctrl-Space. Duži (potpuno kvalificirani) način pisanja naredbi ima smisla koristiti ako u različitim prostorima za nazive koristimo klase ili objekte s istim nazivom, jer se može pratiti iz kojeg prostora je uzet određeni objekt. U svakom drugom slučaju praktičnije je koristiti kraći način pisanja naredbi.

6 1. 1. C# tipovi podataka Kao i većina programskih jezika, i C# upotrebljava varijable i konstante za rad s informacijama u memoriji. Vrijednost varijabli se može mijenjati kroz program, dok se konstante koriste za memoriranje vrijednosti koje se neće mijenjati kroz neku proceduru ili cijelu aplikaciju (ključna riječ Const ispred deklaracije varijable). Prema tome tko ih definira, tipovi se mogu podijeliti na dva skupa: 1. intrinsic ili built-in (ugrađeni tipovi) 2. userdefined (oni koje definira sam korisnik). Nadalje se tipovi dijele prema svrsi: 1. Value types (tipovi vrijednosti) - oni koji se koriste za čuvanje dijelova informacija u memoriji standardni tipovi (npr. brojevi i tekst) 2. Reference types (tipovi referenci) - oni koji su reference i pokazuju na objekte napravljene iz klasa Tip Opis.NET tip Tip Opis.NET tip Tip Opis.NET tip int Cijeli broj (od System.Int32 do ) short Cijeli broj (manji: od System.Int16 do 32767) long Cijeli broj (veliki, oko 16 System.Int64 znamenaka) decimal Decimalni broj (fiksna System.Decimal preciznost) double Veliki realni broj s pokretnim System.Double zarezom string Niz karaktera (tekst) System.String bool Logički podatak (istina ili System.Boolean laž) object Generički objekt koji može System.Object sadržavati druge tipove float Mali realni broj s pokretnim System.Float zarezom byte 1 znak (vrijednosti 0-255) System.Byte char 1 tekstualni znak System.Char Slika 2. Standardni tipovi u C#. Imena varijabli su ključna za programiranje. U programima, imena se koriste za pozivanje različitih stvari. Da bi mogao koristiti te stvari, programer mora razumjeti pravila davanja imena i pravila korištenja imena. Zapravo, programer mora znati sintaksu i semantiku imena. Prema sintaksnim pravilima, ime je niz od jednog ili više karaktera. Mora počinjati slovom i mora biti u potpunosti sastavljeno od slova, brojeva i donje crte "_".

7 Nekoliko primjera ispravnih imena: N n rate x15 quite_a_long_name HelloWorld Velika i mala slova smatraju se različitima pa su: HelloWorld helloworld HELLOWORLD i HElloWorLD sasvim različita imena. Neka imena rezervirana su za posebne namjene u Javi i programer ih ne može koristiti za druge namjene. Rezervirane riječi uključuju: class public static if else while i nekoliko desetaka drugih riječi koje smo ranije nabrojali Operatori Izraz je dio koda programa koji predstavlja ili računa neku vrijednost. Izraz može biti konstanta, varijabla, poziv funkcije ili više ovakvih elemenata kombiniranih operatorima (npr. + ili >). Vrijednost izraza može se dodati varijabli, koristiti kao ulazna vrijednost izlaznog potprograma ili pomoću operatora povezati s drugim vrijednostima u složeniji izraz. Četiri osnovne skupine operatora su: - aritmetički - operatori na bitovima - relacijski - logički

8 Aritmetički operatori Operator Namjena + Zbrajanje - Oduzimanje * Množenje / Dijeljenje (za brojeve s pomičnim zarezom), cjelobrojno dijeljenje % Ostatak cjelobrojnog dijeljenja (modulo) ++ Inkrementiranje (povećavanje vrijednosti za 1) += Zbrajanje i dodjela vrijednosti -= Oduzimanje i dodjela vrijednosti *= Množenje i dodjela vrijednosti /= Dijeljenje i dodjela vrijednosti, cjelobrojno dijeljenje i dodjela vrijednosti %= Ostatak cjelobrojnog dijeljenja (modulo) i dodjela vrijednosti -- Dekrementiranje (smanjivanje vrijednosti za 1) Operator Namjena Operatori na bitovima ~ Unarno NE (NOT) na bitovima & I (AND) na bitovima ILI (OR) na bitovima ^ Ekskluzivno ILI (XOR) na bitovima >> Pomicanje bitova udesno >>> Pomicanje bitova udesno uz popunjavanje nulom (logičko pomicanje) << Pomicanje bitova ulijevo &= I (AND) na bitovima = ILI (OR) na bitovima uz dodjeljivanje vrijednosti ^= Ekskluzivno ILI (XOR) na bitovima uz dodjeljivanje vrijednosti >>= Pomicanje bitova udesno uz dodjeljivanje vrijednosti >>>= Pomicanje bitova udesno uz popunjavanje nulom uz dodjeljivanje vrijednosti <<= Pomicanje bitova ulijevo uz dodjeljivanje vrijednosti Operator Namjena == Je jednako!= Nije jednako > Je veće < Je manje >= Veće jednako <= Manje jednako Relacijski operatori

9 Logički operatori Operator Namjena! Logička negacija & Logički AND Logički OR ^ Logički XOR && Uvjetni AND Uvjetni OR == Jednakost!= Nejednakost (različito od) &= AND uz dodjeljivanje vrijednosti = Logički OR uz dodjeljivanje vrijednosti ^= Logički XOR uz dodjeljivanje vrijednosti?: Ternarni operator Prioriteti operatora Ukoliko se koristi više operatora u jednom izrazu, a bez zagrada koje bi odredile redoslijed procjenjivanja, potrebno je voditi računa o prioritetima operatora koji određuju redoslijed procjenjivanja. Lista operatora prema prioritetima: Unarni operatori: ++, --,!, unarni - i +, pretvorba vrste Množenje i dijeljenje: *, /, % Zbrajanje i oduzimanje: +, - Relacijski operatori: <, >, <=, >= Jednakost i nejednakost: ==,!= Logički i: && Logički ili: Uvjetni operator:?: Operatori pridjeljivanja: =, +=, -=, *=, /=, %= Operatori u istom redu imaju jednake prioritete, kad se pojave zajedno, unarni operatori i operatori pridjeljivanja se procjenjuju s desna na lijevo, a ostali s lijeva na desno. Da biste sami odredili prioritet najbolje je koristiti zagrade. Primjer: using System; class Binary public static void Main() int x, y, rezultat; float floatrezultat; x = 7; y = 5;

10 rezultat = x + y; Console.WriteLine("x+y: 0", rezultat); rezultat = x - y; Console.WriteLine("x-y: 0", rezultat); rezultat = x * y; Console.WriteLine("x*y: 0", rezultat); rezultat = x / y; Console.WriteLine("x/y: 0", rezultat); floatrezultat = (float)x / (float)y; Console.WriteLine("x/y: 0", floatrezultat); rezultat = x % y; Console.WriteLine("x%y: 0", rezultat); rezultat += x; Console.WriteLine("rezultat+=x: 0", rezultat); Rezultat: x+y: 12 x-y: 2 x*y: 35 x/y: 1 x/y: 1.4 x%y: 2 rezultat+=x: 9

11 1.3. Blokovi, petlje, grananja Sposobnost računala da obavlja složene zadatke zasniva se na svega nekoliko načina kombiniranja jednostavnih naredbi u upravljačke strukture. U C# postoji šest takvih struktura: blok, while petlja, do..while petlja, for petlja, foreach petlja, if izraz i switch izraz. Svaka od ovih struktura smatra se jednim "izrazom", iako se zapravo radi o strukturiranom izrazu koji u sebi može sadržavati jednu ili više drugih naredbi. Blok je najjednostavnija vrsta strukturiranog izraza. Namjena mu je da jednostavno okupi niz naredbi zatvorenih vitičastim zagradama u jednu naredbu. Način zapisivanja bloka je: izrazi Blokovi naredbi se najčešće javljaju unutar drugih izjava gdje služe okupljanju više naredbi u jednu cjelinu. Zapravo, blok se može koristiti bilo gdje gdje se može javiti izraz. A već smo vidjeli da je njegovo korištenje nužno kod podprograma main. Po definiciji, podprogram je jedan blok. Dva primjera blokova: // Ovaj blok ispisuje vrijednost varijable odg System.Console.WriteLine("Odgovor je "); System.Console.WriteLine (("0", odg); // Ovaj blok zamjenjuje vrijednosti varijabli x i y int temp; // deklariranje privremene varijable koja se koristi //samo u ovom bloku temp = x; // Sačuvaj kopiju vrijednosti varijable x u temp x = y; // Kopiraj vrijednost varijable y u x y = temp; // Kopiraj vrijednost varijable temp u y Uočite u drugom primjeru: varijabla temp je deklarirana unutar bloka, te je nevidljiva i nedostupna izvan bloka. Takva varijabla naziva se lokalna varijabla. Doseg (scope) nekog identifikatora je dio programa u kojem se taj identifikator može koristiti. Doseg varijable definirane unutar bloka je ograničen na taj blok, točnije na dio bloka nakon deklaracije varijable. Nije dozvoljeno više deklaracija s istim imenom u istom dosegu. Sam blok ne utječe na tok izvršavanja programa. Preostalih šest navedenih struktura koje za razliku od bloka utječu na tok izvršavanja programa mogu se podijeliti u dvije skupine: petlje i grananja.

12 While petlja se koristi za uzastopno ponavljanje jednog izraza. Točnije, while petlja ponavlja izjavu dok je zadani uvjet istinit. While petlja ima oblik: while (logički izraz) izraz Budući da izraz može biti, a najčešće i je, blok, uobičajene su while petlje oblika: while (logički izraz) izrazi Kad računalo dođe do while izjave, procjenjuje logički izraz koji vraća vrijednost true ili false. Ako je vrijednost izraza false, računalo preskače ostatak while petlje i nastavlja s izvršenjem programa. Ako je vrijednost true, računalo izvršava izraze unutar petlje, zatim se vraća na početak petlje i ponavlja postupak, tj. ponovo procjenjuje logički izraz, te završava petlju ako je vrijednost false, a nastavlja ako je vrijednost true. Ovo se nastavlja dok izraz ne poprimi vrijednost false; slučaj u kojem se to nikad ne dogodi naziva se beskonačna petlja. Evo primjera petlje koja ispisuje brojeve 1,2,3,4 do 9: using System; class WhilePetlja public static void Main() int myint = 0; while (myint < 10) Console.Write("0 ", myint); myint++; Console.WriteLine(); Do-while petlja je namijenjena slučajevima kada je potrebno da se uvjet ponavljanja testira na kraju petlje umjesto na početku. Do-while petlja je zapravo while petlja s uvjetom ponavljanja postavljenim na kraju petlje. Riječ do se koristi za označavanje početka petlje. Dakle, do-while petlja ima oblik: do izraz while ( logički izraz ); ili s korištenjem blokova: do izrazi while (logički izraz);

13 ';' na kraju se ne smije izostaviti jer je to dio izraza. Izostavljanje bi prouzročilo sintaksnu grešku. Pri izvršavanju do petlje, računalo prvo izvršava tijelo petlje, tj. izraze unutar petlje, a zatim procjenjuje logički izraz. Ako je vrijednost izraza true, računalo se vraća na početak do petlje i ponavlja postupak; ako je vrijednost logičkog izraza false, izlazi iz petlje i nastavlja izvršavanje ostatka programa. Budući da se uvjet nastavljanja procjenjuje tek na kraju petlje, tijelo petlje se izvršava bar jedan put. U slijedećem primjeru pseudokoda "igre", do petlja ima smisla u odnosu na while petlju jer osigurava barem jednu "igru", a osim toga, test koji se izvodi na kraju "igre" ne bi ni imao smisla na početku. do Odigraj igru Pitaj korisnika želi li igrati još jednu igru Pročitaj korisnikov odgovor while ( Korisnikov odgovor je da ); For petlja je slična while petlji i ne donosi nove sposobnosti programskom jeziku, ali je za neke namjene prikladnija od odgovarajuće while petlje. Uobičajena while petlje ima oblik: inicijalizacija while ( uvjet nastavljanja ) izrazi promjena vrijednosti Na primjer, promotrimo sljedeću while petlju: godine = 0; while ( godine < 5 ) // inicijalizacija // uvjet nastavljanja kamata = glavnica * postotak; glavnica += kamata; // izvrši tri izraza System.Console.WriteLine("0", glavnica); godine++; // promjena vrijednosti Ova petlja se može zamijeniti sljedećom for petljom: for ( godine = 0; godine < 5; godine++ ) kamata = glavnica * postotak; glavnica += kamata; System.Console.WriteLine("0", glavnica); Inicijalizacija, uvjet nastavljanja i promjena vrijednosti su objedinjeni u prvoj liniji for petlje. Na ovaj način su svi činitelji for petlje na jednom mjestu što olakšava čitanje i razumijevanje. For i izvorna while petlja izvršavaju se jednako.

14 For petlja ima oblik: ili korištenjem blokova: for (inicijalizacija; uvjet nastavljanja; promjena vrijednosti ) izraz for (inicijalizacija; uvjet nastavljanja; promjena vrijednosti) izrazi Uvjet nastavljanja mora biti logički izraz, dok inicijalizacija i promjena vrijednosti mogu biti bilo kakvi izrazi. Primjer: using System; class ForPetlja public static void Main() for (int i = 0; i < 20; i++) if (i == 10) break; if (i % 2 == 0) continue; Console.Write("0 ", i); Console.WriteLine(); Foreach petlja se koristi za iteraciju kroz stavke u popisu. Ona djeluje na polja kao što su ArrayList. Sintaksa foreach petlje je: foreach (<Tip> <Iteracijska varijabla> in <lista>) //izrazi Tip je tip stavke koja se nalazi u listi, na primjer, ako je tip liste int [] tip će biti int. Iteracijska varijabla je identifikator koji ste odabrali i trebala bi biti smislena. Na primjer, ako lista sadrži niz sa godinama ljudi, smislen naziv iteracijske varijable je dob. Ključna riječ in je potrebna, jer je dio sintakse foreach petlje. Foreach petlja je samo za čitanje što znači da ne možete mijenjati iteracijsku varijablu unutar petlje. Na svakoj iteraciji kroz foreach petlju provjerava se da li postoji još elemenata u listi i ako postoji u idućem koraku se prelazi na

15 idući element liste. Kad je lista gotova završit će se petlja i kontrola programa će se prenijeti na prvi izjavu nakon završetka foreach bloka. Primjer: using System; class ForEachPetlja public static void Main() string[] names = "Ante", "Josip", "Martina", "Robert" ; foreach (string person in names) Console.WriteLine("0 ", person); Rezultat: Ante Josip Martina Robert If izraz kaže računalu da izabere jedan od dvaju različitih tokova izvršavanja programa, u ovisnosti o vrijednosti zadanog logičkog izraza. If izraz "grananja" ili "odlučivanja" ima oblik: if (logički izraz) izraz else izraz Računalo pri izvršavanju if izraza procjenjuje logički izraz koji vraća vrijednost true ili false. Ako je vrijednost true, računalo izvršava prvi izraz, a preskače izraz nakon "else". Ako je vrijednost izraza false, računalo preskače prvi izraz i izvršava drugi. U svakom slučaju, samo jedan od tih dvaju izraza unutar if izraza će biti izvršen. Dva izraza predstavljaju alternativne tokove programa; računalo se odlučuje za jedan od ovih tokova programa na osnovi vrijednosti logičkog izraza. Jedna od mogućnosti primjene ove naredbe je odlučivanje samo da li će neka naredba biti izvršena ili ne. U tom slučaju if izraz nema else dio: if (logički izraz) izraz

16 Ako je vijednost izraza true, računalo izvršava izraz unutar if izraza, a u slučaju rezultata false ga preskače. Korištenjem blokova, if izraz poprima oblik: ili samo: if (logički izraz) izrazi else izrazi if (logički izraz) izrazi Slijedi primjer if izraza koji zamjenjuje vrijednosti dviju varijabli, x i y, ali samo ako je x veći od y. Nakon izvršavanja ovog if izraza, možemo biti sigurni da je x manji ili jednak y: if ( x > y ) int temp; // deklariranje privremene varijable koja se koristi // samo u ovom bloku temp = x; // Sačuvaj kopiju vrijednosti varijable x u temp x = y; // Kopiraj vrijednost varijable y u x y = temp; // Kopiraj vrijednost varijable temp u y Na kraju evo primjer if izraza koji ima i dio else: if ( br_godina > 1 ) System.Console.WriteLine("Vrijednost ulaganja nakon "); System.Console.WriteLine("0", br_godina); System.Console.WriteLine(" godina je "); else System.Console.WriteLine("Vrijednost nakon 1 godine:"); System.Console.WriteLine("0", ulaganje +" kn"); Switch izraz koristi znatno rijeđe nego if izraz, vrlo je koristan za grananja u više grana. Switch izraz omogućuje procjenu uvjeta i na osnovu te vrijednosti skok na neko mjesto unutar switch izraza. Vrijednost izraza koji se procjenjuje mora biti cjelobrojna (byte, short, int ili char), nikako ne može biti string ili realni broj. Za razliku od kombinacije if - else, ovdje se ne može nalaziti logički izraz. Razlog je tome u činjenici da naredba switch utvrđuje vrijednost izraza u određenom trenutku i zatim skače na blok koji je označen vrijednošću dobivene cjelobrojne konstante oblika "case konstanta:". Moguća je također upotreba oznake "default:" na koju se izvodi skok u slučaju da vrijednost izraza ne odgovara ni jednoj od oznaka slučaja.

17 Switch izraz ima oblik: switch (izraz) case konstanta_1: izrazi_1 break; case konstanta_2: izrazi_2 break;.. // (ostali slučajevi). case konstanta_n: izrazi_n break; default: // proizvoljni postavni slučaj izrazi_(n+1) // kraj switch izraza Break naredbe su stvar izbora i nisu obavezne. Učinak break naredbe je da skače na kraj switch izraza. Ako se izostavi break naredba računalo će nastaviti s izvršavanjem programa, izvršavajući redom naredbe iz slijedećih slučajeva. Moguće je izostaviti čitave grupe izraza s break naredbom i tako dobiti dvije (ili više) oznaka slučaja u jednom redu, čime se omogućava skok na isti skup izraza za različite vrijednosti izraza u switch naredbi. Primjer upotrebe switch naredbe (uočiti da konstante u oznakama slučaja ne moraju biti poredane po nekom redu, važno je da su različite): switch (N) // N je neka cjelobrojna varijabla case 1: System.Console.WriteLine("Broj je 1.") break; case 2: case 4: case 8: System.Console.WriteLine("Broj je 2, 4, ili 8."); break; case 3: case 6: case 9: System.Console.WriteLine("Broj je 3, 6, ili 9."); break; case 5: System.Console.WriteLine("Broj je 5."); break; default: System.Console.WriteLine("Broj je 7,"); System.Console.WriteLine(" ili nije između 1 i 9.");

18 1.4. Rukovanje izuzecima Osim sintaksnih i semantičkih grešaka, u aplikaciji se mogu pojaviti i greške izuzetaka (eng. exceptions). One se ne vide kod prevođenja (prilikom Build-anja i Debug-iranja) nego se pojavljuju prilikom izvršavanja aplikacije i ne mogu se spriječiti. To su greške koje nastaju najčešće zbog unosa neodgovarajućih podataka od strane korisnika, ili zbog neunesenih podataka. Rukovanje izuzecima je važno napraviti u programskom kodu, kako bi se spriječilo ''iskakanje'' programa, i omogućilo daljnje nastavljanje izvršavanja aplikacije. Što bi se dogodilo kada ne bismo rukovali izuzecima u kodu? Ako u programskom kodu nije predviđeno rukovanje izuzecima, tada se prilikom izvršavanja aplikacije može dogoditi da program izbaci ''grubu'' poruku o grešci i zaustavi izvršavanje aplikacije. Korisnik tada ne može dalje raditi s aplikacijom. Ako se prilikom debug-iranja pojavi greška izuzetka, program će nas izbaciti u kod. Da bi se sve to spriječilo, potrebno je u kodu ''hvatati'' moguće izuzetke koje možemo predvidjeti. Primjeri nekih izuzetaka: Ako korisnik u textbox ne unese neki podatak koji je potreban (npr. plaću djelatnika), pa se ne može izračunati prosječna plaća, pojavit će se poruka o grešci i zaustaviti aplikacija. Npr. ako korisnik prilikom unosa nekog podatka s kojim treba dijeliti neki broj unese vrijednost 0. Npr. ako se unese vrijednost koja po tipu ne odgovara tipu vrijednosti koju treba unijeti u odgovarajući textbox (npr. ako se očekuje da se unese broj, a korisnik je unio tekst). Primjer: using System; using System.IO; class trycatchdemo static void Main(string[] args) try File.OpenRead("Nepostojeca_Datoteka"); catch (Exception ex) Console.WriteLine(ex.ToString()); Gornji primjer sastoji se od jednog catch bloka koji će uhavitit iznimku ako pokušamo pročitati nepostojeću datoteku. U ovom slučaju samo će ispisati poruku o pogrešci u konzoli.

19 Iznimka može završiti program, a da pri tome ostavi program u nepostojanom stanju bez oslobađanja svih resursa i čišćenja varijabli. Catch blok je prikladno mjesto da se uhvate iznimke i pokuša popraviti program. Ponekad je potrebno napraviti oslobađanje resursa neovisno o tome jeste li uspjeli popraviti iznimku ili ne. U takvim situacijama se najčešće korisiti finally blok. Kao što znate, datotečni tok mora biti zatvoren kad završite rad s datotekom. U tom slučaju, file stream je resurs koji treba biti očišćen. U idućem primjeru, outstream je uspješno otvoren, što znači da program sada može rukovati datotekom. Kada pokušate otvoriti InStream, pokrenut će se FileNotFoundException i prebaciti izvođenje programa u catch blok. Moguće je zatvoriti outstream catch bloku, ali što ako se algoritam izvrši uspješno? Tada datoteka nikada neće biti zatvorena. Srećom, uključili smo Finally blok koji će se uvijek biti izvršen. Bez obzira da li će algoritam podići iznimku ili ne, kod u bloku Finally će se izvršiti prije nego napusti metodu. Primjer: using System; using System.IO; class FinallyDemo static void Main(string[] args) FileStream outstream = null; FileStream instream = null; try outstream = File.OpenWrite("Izlazna_datoteka.txt"); instream = File.OpenRead("Nepostojeca_Datoteka.txt"); catch (Exception ex) Console.WriteLine(ex.ToString()); finally if (outstream!= null) outstream.close(); Console.WriteLine("outStream zatvoren."); if (instream!= null) instream.close(); Console.WriteLine("inStream zatvoren.");

20 Primjer Windows form aplikacije koja ne rukuje iznimkama: Kroz jedan primjer pokazat ćemo što se događa ako aplikacija ne rukuje izuzecima. Otvorite novi projekt. U Visual Studio 2008 odaberite File -> New-> Project. Nakon toga Visual C# i Windows Forms Application. Program pohranite pod nazivom Iznimka i kliknite na gumb OK. Otvorit će se prazna forma. Pomoću trake Toolbox kreirajte na formi input polja, texboxove i tri gumba kao na slici: Cilj je pokazati kako se ponaša aplikacija ako se ne rukuje izuzecima. Za tu svrhu koristit ćemo dugme ''Iznimka bez rukovanja''. Kliknite dvaput na to dugme kako bismo upisali kod u metodu button1_click. U metodu button1_click upisat ćemo naredbe koje će vrijednost koju korisnik unese u textbox1.text pohraniti u cjelobrojnu varijablu broj1, zatim ćemo varijablu broj1 uvećati za 5 i rezultat ispisati u textbox2.text. Cijela metoda će izgledati ovako: private void button1_click(object sender, EventArgs e) int broj1; int rezultat; broj1 = Convert.ToInt32(textBox1.Text); rezultat = broj1 + 5; textbox2.text = Convert.ToString(rezultat); Pohranite i debugirajte aplikaciju, testirajte ispravnost tako da u prvi okvir za tekst unesete broj: 8. Nakon što kliknete na prvo dugme, kao rezultat će se u drugom okviru za tekst upisati broj 13. Sada obrišite unesenu vrijednost 1 u prvom okviru za tekst i nemojte unijeti ništa. Zatim kliknite na dugme ''Iznimka bez rukovanja''. Budući da nije unijeta vrijednost koja je programu potrebna za računanje rezultata, pojavit će se poruka o izuzetku kojim nije rukovano (eng. exception was unhandled), u prozoru kao na slici:

21 Poruka da ulazni tekst nije u ispravnom obliku se pojavila se jer nismo unijeli niti jednu vrijednost u okvir za tekst. Kliknite na dugme Continue kako biste uklonili taj prozor. Osim što se pojavila poruka o izuzetku kojim nije rukovano (eng. unhandled exception), izvršavanje aplikacije je prekinuto, a program nas vraća u prozor za pisanje koda, u liniju gdje se dogodila greška izuzetka (ta je linija i posebno označena zelenom bojom). Ako pokušamo nastaviti izvršavanje aplikacije naredbom Debug / Continue (F5), vidimo da program ponovo prikazuje istu poruku o izuzetku i aplikacija se ne može nastaviti. Možemo samo prekinuti debug-iranje naredbom Debug / Stop debugging (shift-f5). Pohranite aplikaciju, zatvorite Visual Studio 2008, te na disku pronađite mapu u kojoj je pohranjena Iznimka.exe izvršna datoteka. Da biste vidjeli što će se dogoditi ako korisnik pokrene aplikaciju koja ne rukuje izuzecima, dvaput kliknite na Iznimka.exe datoteku. U prvi okvir za tekst opet nemojte unijeti ništa, nego samo kliknite na dugme ''Iznimka bez rukovanja''. Pojavit će se poruka kao na slici: Korisnik sada može nastaviti aplikaciju klikom na dugme Continue ili prekinuti klikom na dugme Quit. Ukoliko korisnik nastavi rad aplikacije (Continue), neće se ispisati rezultat, jer je program prekinuo izvršavanje, a ako klikne na dugme Quit, program će izaći iz plikacije u Windows operativni Sustav. Na taj način onemogućuje se korisniku kvalitetan rad s aplikacijom, te svaki programer treba u aplikaciji predvidjeti barem većinu izuzetaka koji se mogu dogoditi i upisati naredbe koje rukuju s njima i tako omogućiti korisniku nesmetani rad s aplikacijom.

22 Rukovanje izuzecima pomoću petlja try...catch Da bi se rukovalo iznimkom, potrebno je koristiti naredbe petlje: try ovdje naredbe u kojima se može pojaviti izuzetak catch (tip izuzetka varijabla) ovdje naredba kojom se ispisuje poruka korisniku da unese ispravan podatak U aplikaciji Iznimka napravit ćemo primjer rukovanja iznimkom. Otvorite projekt Iznimka, te dvaput kliknite na dugme ''Try...catch'', kako biste se pozicionirali u metodu button2_click. U metodu button2_click kopirajte sve naredbe iz prethodne metode button1_click. Neposredno iza vitičaste zagrade, a ispred prve naredbe treba upisati naredbu: try. Dalje dodajte vitičaste zagrade za naredbu try tako da sve upisane naredbe budu u zagradama. U dijelu catch treba upisati naredbu koja će ispisati korisniku poruku da treba unijeti broj1. Trenutni kod za metodu button2_click izgledat će ovako: private void button2_click(object sender, EventArgs e) try int broj1; int rezultat; broj1 = Convert.ToInt32(textBox1.Text); rezultat = broj1 + 5; textbox2.text = Convert.ToString(rezultat); catch MessageBox.Show("Niste unijeli cijeli broj!"); Gore navedene naredbe try...catch sprečavaju pucanje programa ispisivanjem poruke korisniku i omogućavaju nastavak aplikacije. Pohranite i pokrenite aplikaciju debug-iranjem. Nemojte unijeti broj1 u prvi okvir za tekst, nego samo kliknite na dugme Try...catch. Nakon ispisane poruke u MessageBox-u unesite neku cjelobrojnu vrijednost u prvi okvir za tekst. Koji će se sada rezultat ispisati? Što će se dogoditi ako u prvi okvir za tekst unesemo decimalni broj ili neki tekst? Da li se pojavljuje izuzetak? Pokušajte u prvi okvir za tekst unijeti broj: 2.3. Kliknite na dugme

23 Try...catch. Ponovo se pojavljuje poruka korisniku da treba unijeti cijeli broj. Isto ponovite tako da u okvir za tekst unesete tekst ''Dobar dan.'', a zatim kliknete na dugme Try...catch. Što se događa? Petlja try..catch...finally U slučaju kada želimo da program nastavi s radom iako se dogodio izuzetak (ne želimo korisnika vraćati na ponovni unos podataka), u try...catch petlju dodaje se naredba finally. Opći oblik je: try ovdje naredbe u kojima se može pojaviti izuzetak catch [(tip izuzetka varijabla)] ovdje naredba kojom se ispisuje poruka korisniku da unese ispravan podatak finally ovdje naredba kojom se ispisuje poruka korisniku da je program nastavio s radom unatoč izuzetku U projektu Iznimka kliknite dvaput na dugme Try...catch...finally kako biste kreirali metodu button3_click. U tu metodu najprije kopirajte sve naredbe iz prethodne metode button2_click (sve naredbe petlje try...catch). U ovoj metodi button3_click na kraju (iza petlje catch, tj. završene vitičaste zagrade za tu petlju), dodajte sljedeće naredbe: textbox2.text = "Rezultat nije mogao biti izračunat. Program je završen."; Pohranite i pokrenite debug aplikacije. Nakon poruke u MessageBox-u da niste unijeli broj, pojavit će se poruka u okviru textbox2 koju smo upisali u naredbu finally. Zaključak: Rukovanje izuzecima vrlo je važno za kontinuirano izvršavanje aplikacija. Izuzeci se mogu pojaviti zbog neunesenog podatka, ali i zbog pogrešnog ili specifičnog unosa zbog kojeg se ne može dalje nastaviti s radom aplikacije. Ukoliko želimo rukovati izuzetkom na način da korisnik ponovo unese traženu vrijednost, koristi se petlja try..catch. Ukoliko želimo rukovati izuzetkom na način da se nakon pojave izuzetka samo nastavi dalje s izvršavanjem aplikacije, koristi se petlja try...catch...finally.

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Uputa za instaliranje programske potpore za operativni sustav WINDOWS ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE

More information

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

More information

Uvod, varijable, naredbe, petlje

Uvod, varijable, naredbe, petlje 8. JavaScript Uvod, varijable, naredbe, petlje M. Zekić-Sušac 1 Što je JavaScript? JavaScript je najpopularniji skriptni jezik na Internetu kojeg podržavaju svi poznatiji preglednici (Internet Explorer,

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2 Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1 Baze podataka 2 Web: http://www.fpmoz.ba/gkraljevic Pitanja, primjedbe,

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

PKI Applet Desktop Application Uputa za instalaciju programske potpore

PKI Applet Desktop Application Uputa za instalaciju programske potpore 1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (550) Poglavlje 3 Strukture odluka i ponavljanja dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo Žuljević, dipl.. ing. teo.zuljevic@fesb.hr Pregled

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 2 Uvod u Javu Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 12 Java i objektno orijentirano programiranje Programski jezik Java Krajem

More information

16. Sigurnije programiranje

16. Sigurnije programiranje 16. Sigurnije programiranje 16.1 Pretvorba tipova Pretvorba realnog broja u cijeli broj se može izvršiti naredbama: int i; double d; ili: i = (int) d; i = int(d); U cilju bolje kontrole pretvorbe tipova

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

Iskočni okviri (eng. popup boxes)

Iskočni okviri (eng. popup boxes) 9. JavaScript 2.dio Iskočni okviri, funkcije, petlje, događaji M. Zekić-Sušac 1 Iskočni okviri (eng. popup boxes) U JavaScriptu mogu se koristiti 3 vrste iskočnih okvira: Upozoravajući okviri (eng. alert

More information

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int Sadržaj predavanja 02 Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka Realni tip podataka Aritmetički operatori Izrazi Operatori inkrement i dekrement Kontrola toka programa Naredba za jednostruki

More information

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n.

Rekurzivne metode. Posmatrajmo rekurzivan metod kojim u objektu listbox1 klase ListBox upisujemo sve prirodne brojeve od 1 do datog n. Rekurzivne metode Rekurzivan metod je onaj metod koji u nekoj svojoj instrukciji sadrži poziv samog sebe. Svakako prilikom kreiranja rekurzivnog metoda moramo voditi računa da ne dodje do beskonačne rekurzije

More information

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML PHP, ASP.NET PHP, ASP.NET Što ćete naučiti Internet općenito HTML CSS XML XHTML Javascript DOM DHTML AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG... 2 1 PHP i ASP.NET Uvod u PHP i ASP.NET Samo

More information

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom. tog (tack) tog je posebna vrsta liste: od svih operacija dozvoljeno je ubacivanje, brisanje i gledanje sadržaja elementa samo na jednom kraju liste koji zovemo vrh stoga. tog zovemo i lifo last in first

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo

More information

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja -

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja - ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja - PRIPREMA 5-2015 DVOSMJERNA SERIJSKA KOMUNIKACIJA Paolo Zenzerović, mag. ing. el. Zagreb, 2015. 2 ARDUINO KROZ JEDNOSTAVNE PRIMJERE DVOSMJERNA

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 07 - Uvod u PHP 4. svibnja 2015. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

Primjer ispisuje rečenicu Dobro dosli na brzi tecaj C-a na ekranu Osnove programiranja p. 1/27 Brzi tečaj C-a Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu Programiranje se sastoji od nekoliko koraka - pisanje programa u tekstualnom editoru (joe,

More information

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

JAVA PROGRAMIRANJE 1

JAVA PROGRAMIRANJE 1 JAVA PROGRAMIRANJE 1 1. Uvod 1. Uvod - kako početi programirati u JAVA jeziku Cilj ovog poglavlja je napisati i pokrenuti jednostavnije Java programe. SADRŽAJ 1. O predmetu. 2. Programi i programski jezici.

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

VEŽBA 5 do while petlja, switch case

VEŽBA 5 do while petlja, switch case VEŽBA do while petlja, switch case Petlja sa ulaznim uslovom do while U slučaju do while petlje obavezno izvršavanje bar jedne iteracije se postiže tako što je upravljački izraz petlje na samom dnu petlje.

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

KLASIFIKACIJA JELENA JOVANOVIĆ.   Web: KLASIFIKACIJA JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je klasifikacija? Binarna i više-klasna klasifikacija Algoritmi klasifikacije Mere uspešnosti

More information

OSNOVE PROGRAMIRANJA

OSNOVE PROGRAMIRANJA OSNOVE PROGRAMIRANJA Struktura aplikacije Visual Basica Za svaku formu u aplikaciji postoji pripadajuci modul forme (.frm) koji sadrži njen programski kod Modul forme sadži event procedure - dijelovi koda

More information

9. RAD S DATOTEKAMA PODATAKA

9. RAD S DATOTEKAMA PODATAKA Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

More information

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Sustavi za praćenje i vođenje procesa Seminarski rad LOGIČKI ANALIZATOR (PC kao instrument) 26. svibnja 2007. Ivan Grubišić 0036404380 1. Logički analizator Logički

More information

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu: Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele

More information

Kodiranje GUI aplikacija u Visual C#

Kodiranje GUI aplikacija u Visual C# Kodiranje GUI aplikacija u Visual C# UVOD Uvod Kodiranje grafičke aplikacije u Visual C#: Ova lekcija se bavi dogadjajima, programiranjem dogadjaja. Daćemo jedan primer event-driven-programming-a, u vidu

More information

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 POM - Pomoć korisnicima Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 IZUM, 2016 COBISS, COMARC, COBIB, COLIB, IZUM su zaštićeni znaci u posedu

More information

NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE

NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE Objektno orijentirani jezici Kod proceduralnih jezika podaci su pasivan element. OO jezici imaju i proceduralne i neproceduralne elemente, procedure i podaci

More information

SELECT CASE i FOR NEXT. Programiranje 1

SELECT CASE i FOR NEXT. Programiranje 1 SELECT CASE i FOR NEXT Programiranje 1 VISUAL BASIC SELECT SELECT komanda služi umjesto višestrukih IF THEN naredbi u slučaju grananja programa, zavisno o vrijednosti ispitivanog izraza početak v1 var

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

Uvod u programski jezik

Uvod u programski jezik 2016 Uvod u programski jezik EDIN PAŠIĆ BIHAĆ sejjidin Muhammedin ve âlih lihî ve sellem Sallallâhu 'alâ sejjidinâ Neka je salavat i selam na prvaka Muhammeda a.s. i na njegovu porodicu ii Predgovor Ovo

More information

CAD u građevinarstvu. v.prof.dr. Samir Lemeš. Predavanja za predmet CAD u građevinarstvu. Politehnički fakultet Univerziteta u Zenici, 2018.

CAD u građevinarstvu. v.prof.dr. Samir Lemeš. Predavanja za predmet CAD u građevinarstvu. Politehnički fakultet Univerziteta u Zenici, 2018. CAD u građevinarstvu v.prof.dr. Samir Lemeš Predavanja za predmet CAD u građevinarstvu Politehnički fakultet Univerziteta u Zenici, 2018. Korisnički interfejsi AutoCAD interfejsi Komandna linija Visual

More information

Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora).

Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora). SCHEME Scheme je funkcionalni jezik moderna varijanta jezika LISP-a, s dodacima iz Algola (lokalni doseg identifikatora). Sheme se uglavnom koristi kao intepreter. Koristit ćemo Petit Chez Scheme. Petite

More information

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić

Programiranje 1 Programski jezik C 2. čas. Mirko Spasić Programiranje 1 Programski jezik C 2. čas Mirko Spasić Operatori U C-u postoji veliki broj operatora. Mogu biti unarni (imaju jedan argument) i binarni (dva argumenta). Unarni operatori mogu biti prefiksni

More information

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML. AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG...

Što ćete naučiti. Internet općenito HTML CSS XML XHTML Javascript DOM DHTML. AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG... PHP, ASP.NET Što ćete naučiti Internet općenito HTML CSS XML XHTML Javascript DOM DHTML AJAX jquery PHP ASP.NET Ruby On Rails MS Silverlight FLASH, SMIL, SVG... 2 PHP i ASP.NET Uvod u PHP i ASP.NET Samo

More information

6. SWITCH IZRAZ I PETLJE

6. SWITCH IZRAZ I PETLJE 6.. Switch izraz i petlje 6. SWITCH IZRAZ I PETLJE SADRŽAJ 1. switch izraz (kontrolna struktura) 2. while petlja. 3. do-while petlja. for petlja. Kontrola izvršavanja petlje - break i continue naredbe

More information

Numerical Computation

Numerical Computation GNU Octave Numerical Computation vrlo često u tehnici retko stvarni problemi imaju closed-form solution čak i kad imaju, pitanje upotrebljivosti mnogo detalja numerički pristup u početku tretirano kao

More information

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

More information

Nizovi. Programiranje 1

Nizovi. Programiranje 1 Nizovi Programiranje 1 VB Nizovi Zamislite da imate 10,000 šešira i da morate svakome od njih dati jedinstvenu oznaku. Kako biste to napravili? Bilo bi razumno svakom šeširu dati njegov broj. Sada možete

More information

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

More information

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7 Java zadaci Zadaci 1. Priprema novog projekta... 1 2. Organizacija klasa u fajlove... 2 3. Ispis vrijednosti u konzolni prozor... 3 4. Učitavanje vrijednosti sa konzolnog prozora... 4 4.1 Učitavanje podatka

More information

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku?

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku? Veleučilište u Rijeci Poslovni odjel Ispit iz OOT I - Grupa A 28.6.2008 Stručni studij informatike Ime i prezime: JMBAG: Bod/ocj: Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog

More information

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije Iskustva u razvoju i implementaciji ADF aplikacije Sadržaj Opis aplikacije za AZ Mirovinski Fond Internacionalizacija aplikacije Integracija sa Oracle Reports Iskorištenje postojeće PL/SQL logike Kreiranje

More information

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme INFOTEH-JAHORINA Vol. 12, March 2013. Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme Igor Dujlović Elektrotehnički fakultet Banja Luka Banja Luka, BiH dujlovic@gmail.com Zoran Đurić Elektrotehnički

More information

Programski jezik JAVA PREDAVANJE

Programski jezik JAVA PREDAVANJE Programski jezik JAVA PREDAVANJE 8 2018 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

JavaScript JS Cookies

JavaScript JS Cookies Predmet: Aplikativni softver Predavač: dr Violeta Tomašević, vanr.prof. JavaScript JS Cookies Literatura Boško Nikolić, Internet programiranje: HTML, CSS, JavaScript, Panevropski univerzitet Apeiron za

More information

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku. dr Dejan S. Aleksić Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici 7-8 Definicija, inicijalizacija promenljivih 2/21 u C-u Program napisan u programskog

More information

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) HTML5

Lab. vježba PROGRAMIRANJE ZA INTERNET. Upute za laboratorijske vježbe. (izradio: Marin Bugarić) HTML5 Lab. vježba 5 PROGRAMIRANJE ZA INTERNET Upute za laboratorijske vježbe (izradio: Marin Bugarić) HTML5 P R O G R A M I R A N J E Z A I N T E R N E T Općenito HTML5 je posljednja verzija HyperText Markup

More information

Shell programiranje. Damir Kirasić Škola otvorenog računarstva FER Zagreb

Shell programiranje. Damir Kirasić Škola otvorenog računarstva FER Zagreb Shell programiranje Damir Kirasić Škola otvorenog računarstva FER Zagreb Imenovanje Dijeli pod istim uvjetima 2.5 Hrvatska Shell programiranje UNIX i LINUX shell programi su učinkovito sredstvo za rješavanje

More information

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

OBJEKTNO ORIJENTISANO PROGRAMIRANJE OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 12: NASLEĐIVANJE Miloš Kovačević Đorđe Nedeljković 1 /17 OSNOVNI KONCEPTI - Statički i dinamički tipovi podataka - Prepisivanje metoda superklase - Polimorfizam

More information

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom U ovoj vježbi trebate dodati sljedeće view-ove u OnlineVrijednosnice aplikaciju: Details view za Graf model objekte ovaj view će prikazivati

More information

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI 1. Enkapsulacija je podataka. skrivanje apstrakcija nasledivanje 2. Unutar deklaracije klase navode se: definicije funkcija clanica prototipovi (deklaracije) funkcija

More information

KURSORI BAZE PODATAKA U ORACLE 11g

KURSORI BAZE PODATAKA U ORACLE 11g KURSORI BAZE PODATAKA U ORACLE 11g SAŽETAK Kursor baze podataka je privatno SQL područje u kojem se čuvaju informacije za procesiranje određene SQL naredbe. Oracle PLSQL jezik koristi implicitne i eksplicitne

More information

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne.

Aktuelna verzija Matlaba je 7, koja ima dosta poboljšanja u odnosu na prethodne. 1. MATLAB UVOD Matlab predstavlja vrlo razvijen skup alata za računanje (matrice, kompleksni brojevi, simbolička matematika), vizualiziranje (2D i 3D), modeliranje, simulaciju i programiranje. Karakterizira

More information