Uvod u programiranje

Maja Čić


Osnovna građa programa

Dva su osnovna dijela programiranja: podaci i naredbe. Za rad s podacima potrebno je razumijevanje varijabli i tipova, a za rad s naredbama potrebno je razumjeti upravljačke strukture (control structures) i podprograme (subroutines). Velik dio ovih predavanja posvećen je usvajanju ovih modela.

Varijabla je samo lokacija u memoriji (ili nekoliko lokacija promatranih kao jedinica) kojemu je dodijeljeno ime da ga se u programu može lako pozivati i koristiti. Programer treba voditi računa samo o imenu, vođenje računa o memorijskom mjestu dužnost je kompilera. Programer ne smije gubiti iz vida da ime upućuje na neku vrstu mjesta u memoriji koje može spremiti podatke, čak i ako ne mora znati gdje je to točno u memoriji.

U Javi i većini ostalih jezika varijabla ima tip (type) koji ukazuje na vrstu podataka koje može spremiti. Jedna vrsta varijabli može sadržavati integer - cjelobrojne vrijednosti, dok druga sadrži floating point - brojeve s decimalnim mjestima. Računalo pravi razliku između integer 17 i floating point 17.0, zapravo u računalu izgledaju sasvim različito. Također postoje i tipovi za pojedinačne znakove, nizove znakova, kao i za manje uobičajene tipove kao što su datumi, boje, zvukovi ili bilo koji drugi tip podataka koje bi program mogao spremiti.

Programski jezici uvijek imaju naredbe za stavljanje i vađenje podataka u i iz varijabli i za obradu tih podataka. Na primjer, sljedeća "izjava dodjeljivanja", koja se može pojaviti u Java programu, kaže računalu da uzme podatak iz varijable "glavnica", pomnoži taj broj sa 0.07 i spremi rezultat u varijablu "kamata":


	kamata = glavnica * 0.07;

Također postoje i ulazne naredbe za uzimanje podataka od korisnika ili iz datoteka na diskovima računala i izlazne naredbe za slanje podataka u suprotnom smjeru. Ove osnovne naredbe - za pomicanje podataka s mjesta na mjesto i za obradu podataka su dijelovi za izradu svih programa. Ovi dijelovi su složeni u složene programe korištenjem upravljačkih struktura i podprograma.


Program je niz naredbi. U običnom odvijanju računalo izvodi ove naredbe redom kako se pojavljuju jednu za drugom. Ovo je očito vrlo ograničen način jer bi računalo vrlo brzo ostalo bez naredbi koje treba izvršiti. Upravljačke strukture su posebne naredbe koje mogu izmijeniti tok odvijanja programa.

Postoje dvije osnovne vrste upravljačkih struktura: petlje, koje omogućavaju ponavljanje niza naredbi i grananja koja omogućuju računalu da odluči između više različitih postupaka ispitivanjem uvjeta koji se javljaju za vrijeme izvršavanja programa.

Na primjer, moguće je da ako je vrijednost varijable "glavnica" veća od 10000, tada se "kamata" računa množenjem sa 0.05; a ako nije tada se kamata računa množenjem glavnice sa 0.04. Program treba neki način zapisa ove odluke. U Javi to je moguće ostvariti korištenjem sljedeće "if" naredbe:

	if (glavnica > 10000)
		kamata = glavnica * 0.05;
	else
		kamata = glavnica * 0.04;

Detalji za sada nisu bitni, važno je zapamtiti da računalo može ispitati uvjet i odlučiti na osnovu toga što dalje)

Petlje se koriste kad istu radnju treba izvršiti više od jednom.

Na primjer, ako se želi ispisati natpise s imenom za svako ime u adresaru moglo bi se napisati "Uzmi prvo ime i adresu i ispiši natpis; uzmi drugo ime i adresu i" što vrlo brzo postaje jako smiješno i moglo bi uopće ni ne raditi ako unaprijed nije poznato koliko imena zapravo ima. Ono što bi zapravo htjeli reći je nešto kao: "Dok god ima imena za obradu, uzmi slijedeće ime i adresu i ispiši natpis." Ovakvo ponavljanje se u programu izražava petljom.


Veliki programi su tako složeni da bi ih bilo gotovo nemoguće napisati bez da ih se "razbije" u lakše ostvarive dijelove. Podprogrami su jedan od načina ostvarivanja tog "razbijanja". Podprogram se sastoji od naredbi za izvršavanje nekog zadatka okupljenih u cjelinu s imenom. Ime se kasnije koristi kao zamjena za čitav niz naredbi. Na primjer, ako je jedan od zadataka koje program mora izvršiti crtanje kuće na ekranu, potrebno je naredbe okupiti u podprogram i dati mu prikladno ime, npr. "nacrtajKucu()". Nakon toga, na bilo kojem mjestu u programu gdje je potrebno nacrtati kuću dovoljno je napisati jednu naredbu:

	nacrtajKucu();

Ovo će imati učinak jednak kao ponavljanje svih naredbi za crtanje kuće na svakom mjestu. Prednost nije samo u tome da je manje kucanja. Organiziranje programa u podprograme također pomaže organiziranju razmišljanja i napora u razvoju programa. Za vrijeme pisanja podprograma za crtanje kuće moguće se koncentrirati isključivo na problem crtanja kuće, bez razmišljanja o ostatku programa. Jednom kad je podprogram gotov, može se zaboraviti na detalje crtanja kuća - taj problem je riješen. Podprogram postaje kao ugrađeni dio jezika koji je moguće koristiti bez razmišljanja o tome što se događa unutar podprograma.


Varijable, tipovi, petlje, grananja i podprogrami su osnova onog što bi se moglo nazvati tradicionalnim programiranjem. Osim toga, kako programi rastu javlja se potreba za dodatnim strukturama za rješavanje njihove složenosti. Jedno od najučinkovitijih sredstava je objektno orijentirano programiranje.


[ prethodna stranica | Početak | sljedeća stranica ]