430 likes | 588 Views
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.
E N D
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.
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.
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.
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.
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.
Deklaracija funkcije main • Postoji više oblika funkcije main. int main() • Funkcijamainzavršava naredbom return 0. (c) S.Šutalo i D.Grundler, 2009.
Prvi program int main() { return 0; } (c) S.Šutalo i D.Grundler, 2009.
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.
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.
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.
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.
include • Jedna od pretprocesorskih naredbi je naredba includeoblika: #include <naziv_biblioteke> (c) S.Šutalo i D.Grundler, 2009.
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.
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.
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.
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.
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.
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.
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.
konstanta varijabla znakovni niz cout • S desne strane operatoraispisa može biti varijabla, vrednost ili znakovni niz. (c) S.Šutalo i D.Grundler, 2009.
cout • Moguće je ispisa niza koje se izvodi s lijeva na desno. (c) S.Šutalo i D.Grundler, 2009.
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.
endl • Ako se u prethodni primer doda endl, ispis će izgledati ovako: (c) S.Šutalo i D.Grundler, 2009.
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.
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.
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.
cin • S desne strane operatora unosamože biti varijablabilo kojeg tipa podatka. (c) S.Šutalo i D.Grundler, 2009.
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.
Ulančavanje operatora >> • Moguće je ulančavanje operatora unosa koje se izvodi s lieva na desno. (c) S.Šutalo i D.Grundler, 2009.
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.
namespace • Korisnik može u istom programu koristiti više biblioteka. (c) S.Šutalo i D.Grundler, 2009.
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.
namespace • U priimeru se funkcije biblioteke1 označavaju dodatnim imenomprva, a funkcije biblioteke2dodatnim imenomdruga. (c) S.Šutalo i D.Grundler, 2009.
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.
Operator dodjele područja • Pri pozivanju funkcije se uz željeno imefunkcije navodi i njeno dodatno ime. Npr.: (c) S.Šutalo i D.Grundler, 2009.
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.
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.
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.
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.
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.
standard library (c) S.Šutalo i D.Grundler, 2009.
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.