1 / 43

Osnovna struktura programa

Osnovna struktura programa. Osnovna struktura programa. Program se sastoji od više funkcionalnih delova. Način na koji se ti delovi slažu i povezuju u celinu, naziva se struktura programa. Funkcije. Razlaganjem glavnog zadatka na manje celine olakšava se izrada programa.

Download Presentation

Osnovna struktura programa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Osnovna struktura programa

  2. Osnovna struktura programa • Program se sastoji od više funkcionalnih delova. • Način na koji se ti delovi slažu i povezuju u celinu, naziva se struktura programa. (c) S.Šutalo i D.Grundler, 2009.

  3. Funkcije • Razlaganjem glavnog zadatka na manje celine olakšava se izrada programa. • Posebnim rešavanjem pojedinih celina nastaju funkcije. • Funkcije su nizovi naredbi koji čine logičkeceline a obavljaju određene zadatke. (c) S.Šutalo i D.Grundler, 2009.

  4. Funkcije • Moguće je: • Koristiti već napravljene, za uporabu pripremljene funkcije pohranjene u bibliotekama, ili • Napraviti sopstvene funkcije. (c) S.Šutalo i D.Grundler, 2009.

  5. Funkcija main • Programi mogu sadržati mnogo funkcija. • Za da se zna na koje mesto na kojem mjestu počinje glavni program, uvodi se funkcija main. • Funkcija main se zato naziva “ulazna točka”. (c) S.Šutalo i D.Grundler, 2009.

  6. Funkcija main • Svaki C++ program mora imati funkciju mainjer ako je nema, program ne bi “znao” gdje da počne • Ako program ne sadrži funkciju main prevodilac javlja grešku. (c) S.Šutalo i D.Grundler, 2009.

  7. Deklaracija funkcije main • Postoji više oblika funkcije main. int main() • Funkcijamainzavršava naredbom return 0. (c) S.Šutalo i D.Grundler, 2009.

  8. Prvi program int main() { return 0; } (c) S.Šutalo i D.Grundler, 2009.

  9. Prvi program • Ako se napiše program kao u primeru, pa se pokrene prevođenje i povezivanje, sve će proći bez greške. (c) S.Šutalo i D.Grundler, 2009.

  10. Prvi program • Kada se taj program izvrši, neće se dogoditi ništa jer u tijelu funkcije između vitičastih zagrada nema naredbi osim return 0. (c) S.Šutalo i D.Grundler, 2009.

  11. Pretprocesorske naredbe • Pre glavne,main funkcije navode se pretprocesorske naredbe. • To su naredbe koje se izvršavajupre početka prevođenja izvornog koda. • Program pretprocesor dopunjuje izvorni kôd, dopunjeni (modificirani) izvorni kôd prevodi. (c) S.Šutalo i D.Grundler, 2009.

  12. Pretprocesorske naredbe • Opći oblik pretprocesorskih naredbi je: #naredba parametri • Pretprocesorske naredbe započinju znakom #. • Za razliku od ostalih naredbi, ne završavaju znakom točka-zarez (;). (c) S.Šutalo i D.Grundler, 2009.

  13. include • Jedna od pretprocesorskih naredbi je naredba includeoblika: #include <naziv_biblioteke> (c) S.Šutalo i D.Grundler, 2009.

  14. include • Naredbom include se u izvorni kod programa uključuje sadržaj biblioteke koja jenavedena unutar znakova < i >. Biblioteke (engl. libraries) su datoteke koje sadržegotove, prevedene funkcije koje semogu koristiti u raznim programima. (c) S.Šutalo i D.Grundler, 2009.

  15. include • Kada programer naredbom includeuključi željenu biblioteku,na raspolaganju su mu sve funkcije te biblioteke. • Postoje razne biblioteke u koje su smeštene funkcije po smislu. (c) S.Šutalo i D.Grundler, 2009.

  16. include • U programu se mogu koristiti i proizvoljan broj naredbi include(on zavisi od broja biblioteka čiji se sadržaj želi uključiti u izvorni kod). (c) S.Šutalo i D.Grundler, 2009.

  17. Ulazni i izlazni funkcii • Da bi program mogao primati podatke i prikazivati rezultate mora komunicirati s ulazno/izlaznim uređajima (tastatura , monitorom, diskom i sl.). • Komunikacijas ulazno/izlaznim uređajima se u C++u ostvaruje pomoću ulaznih i izlaznih uređaja(engl. input and output streams). (c) S.Šutalo i D.Grundler, 2009.

  18. Ulazni i izlazni funkcii • Ulazna funkcija prima podatke od ulaznog uređaja (s konzole) i predaje ih programu. • Izlazna funkcija prima podatke od programa i prosljeđuje ih izlaznom uređaju (konzoli). • Ulazno-izlaznim funkcije su sastavni deo biblioteke iostream. (c) S.Šutalo i D.Grundler, 2009.

  19. iostream • iostream je bibloteka koja sadrži niz ulazno-izlaznih funkcija koje omogućavaju rukovanje ulazno-izlaznim tokovima. • Najčešće korišćene funkcije ove biblioteke su cout i cin. • Programer ih poziva prema potrebi u svoj program. (c) S.Šutalo i D.Grundler, 2009.

  20. cout • Funkcija cout zajedno s operatorom ispisa << omogućava ispis podataka na konzolu koja je u većini slučajeva monitor. Npr.: cout<<13; Posledica: na monitora će ispisati broj 13. (c) S.Šutalo i D.Grundler, 2009.

  21. konstanta varijabla znakovni niz cout • S desne strane operatoraispisa može biti varijabla, vrednost ili znakovni niz. (c) S.Šutalo i D.Grundler, 2009.

  22. cout • Moguće je ispisa niza koje se izvodi s lijeva na desno. (c) S.Šutalo i D.Grundler, 2009.

  23. endl • Za ispis podataka u posebnom redu, treba koristiti konstantu endl. • Omogućava pokazivač ispisa da se pomeri na početak sledećeg reda. • Konstanta endl je pohranjena u biblioteci iostream. (c) S.Šutalo i D.Grundler, 2009.

  24. endl • Ako se u prethodni primer doda endl, ispis će izgledati ovako: (c) S.Šutalo i D.Grundler, 2009.

  25. endl • endl je moguće dodati i u slučaju ulančavanjaoperatora ispisa. Rezultat je isti kao i u prethodnom primeru. (c) S.Šutalo i D.Grundler, 2009.

  26. Ulančavanje operatora << • Ako se priulančavanju operatora ispisa dug red želi prelomiti, to je potrebno učiniti ispred operatora ispisa. Npr: cout<<34<<a<<" Moguc je i ispis niza znakova"; • može se prelomiti i zapisati ovako: cout<<34<<a <<" Moguc je i ispis niza znakova"; (c) S.Šutalo i D.Grundler, 2009.

  27. cin • Funkcija cin zajedno s operatorom unosa >> omogućava unos podataka s konzole što je u većini slučajeva tipkovnica. Npr.: cin>>a; Posljedica: očekuje se unos podatka s tastature, podatak će biti pohranjen u varijablu a. (c) S.Šutalo i D.Grundler, 2009.

  28. cin • S desne strane operatora unosamože biti varijablabilo kojeg tipa podatka. (c) S.Šutalo i D.Grundler, 2009.

  29. Unos podataka • Rezultat funkcije unosa je prekid izvršenja programa sve dok se ne unese podatak i pritisneEnter (program “čeka” na podatak). Enter Enter (c) S.Šutalo i D.Grundler, 2009.

  30. Ulančavanje operatora >> • Moguće je ulančavanje operatora unosa koje se izvodi s lieva na desno. (c) S.Šutalo i D.Grundler, 2009.

  31. Ulančavanje operatora >> • Ako je operator unosa ulančan, ulazni podaci se upisuju: • jedan ispod drugog, posle svakog unosa,Enter, ili • u istome redu odvojeni prazninama, • tek nakon posljednjeg unosa pritisnuti Enter. (c) S.Šutalo i D.Grundler, 2009.

  32. namespace • Korisnik može u istom programu koristiti više biblioteka. (c) S.Šutalo i D.Grundler, 2009.

  33. namespace • Da bi se izbjegla zabuna, funkcije pojedine biblioteke dodatno se označavaju ključnom riječjunamespace uz zadavanje dodatnog imena. • Dodatno označavanje je oblika: namespace dodatno_ime • Zadatak označavanja je jednoznačno odreditifunkcije neke biblioteke. (c) S.Šutalo i D.Grundler, 2009.

  34. namespace • U priimeru se funkcije biblioteke1 označavaju dodatnim imenomprva, a funkcije biblioteke2dodatnim imenomdruga. (c) S.Šutalo i D.Grundler, 2009.

  35. namespace • Da bi se funkcijeoznačene dodatnim imenom učinile aktivnima koristi se: • operator dodele područja (dvije dvotočke, ::) ili • naredba using. (c) S.Šutalo i D.Grundler, 2009.

  36. Operator dodjele područja • Pri pozivanju funkcije se uz željeno imefunkcije navodi i njeno dodatno ime. Npr.: (c) S.Šutalo i D.Grundler, 2009.

  37. Operator dodele područja • Kada se u program želi uključiti više funkcija, a koristi se aktivacija operatorom dodjele područja, pri pozivu svake od funkcija uz njeno ime treba navesti i njeno dodatno ime. (c) S.Šutalo i D.Grundler, 2009.

  38. Ključna riječusing • Ako se želi sve funkcije neke biblioteke označene dodatnim imenom odjednom učiniti aktivnima koristi se naredba: using namespace dodatno_ime (c) S.Šutalo i D.Grundler, 2009.

  39. Ključna riječusing • Ako se uporabi naredba using namespace prva, funkcije biblioteke označene dodatnim imenom prvapozivaju se samo njihovim imenom. (c) S.Šutalo i D.Grundler, 2009.

  40. Standardne funkcije • U programu C++ postoji standardne funkcije koje se redovno isporučuju uz program C++. • Standardne funkcije su različitekorisne funkcije za koje se pretpostavlja da će trebati mnogim korisnicima. (c) S.Šutalo i D.Grundler, 2009.

  41. namespace std • Skup svih standardnih funkcija naziva se zajedničkim imenom standardna biblioteka (engl. standard library). • Te su funkcije pohranjene u različitim bibliotekama ali su sve po dogovoru označene istim dodatnim imenomstd (namespace std). (c) S.Šutalo i D.Grundler, 2009.

  42. standard library (c) S.Šutalo i D.Grundler, 2009.

  43. namespace std • Ako korisnik želi koristiti neku od standardnih funkcija mora pri pozivu te funkcije pisati: std::ime_funkcije • ili će na početku svog programa napisati: using namespace std; (c) S.Šutalo i D.Grundler, 2009.

More Related