260 likes | 485 Views
Ponavljanje gradiva 2. razreda. Struktura programa. program ime ; zaglavlje uses crt ; const ime = vrijednost; var ime : tip; procedure ime(parametri); function ime (parametri): tip rezultata ; {glavni program} komentar begin clrscr ; naredbe ;
E N D
Struktura programa program ime; zaglavlje usescrt; const ime=vrijednost; var ime:tip; procedure ime(parametri); function ime (parametri):tip rezultata; {glavni program} komentar begin clrscr; naredbe ; ... tijelo programa readln end.
Pravila kod pisanja programa • Svaka naredba mora završiti; • Složena naredba (niz jednostavnih naredbi) počinje s begin, a završava s end • Identifikator (ime programa, konstante, varijable, tipa, procedure, funkcije) ne smije biti rezervirana riječ (npr. naredba), ne smije početi brojkom, ne smije sadržavati prazninei slova č, ć, š, đ, ž, od znakova je dozvoljena samo _
Pravila kod pisanja programa • Komentari u programu označavaju se {, (* i }, *). Komentar služi programeru za povećanje preglednosti i čitljivosti programa • Naredbe unutar begin i end pišu se malo uvučeno u desnu stranu radi preglednosti programa.
Tipovi podataka • standardni • cjelobrojni (integer, byte, longint) • znakovni (char) • realni (real) • logički (boolean) • korisnički – intervalni, pobrojani • složeni • string • niz
Operatori: • * (množenje) • + (zbrajanje) • / (realno dijeljenje) • -(oduzimanje) • div (cjelobrojno dijeljenje) • mod (ostatak kod cjelobrojnog dijeljenja)
Logički operatori • NOT (negacija) • AND (log. i) • OR (log. ili) • >, <, <>, >=, <=, =
Standardne funkcije • abs(x)- apsolutna vrijednost • sin(x)- sinus • cos(x)- kosinus • sqr(x)- kvadrat • sqrt(x)- drugi korijen • succ(x)- sljedbenik • pred(x)- predhodnik • trunc(x)- cijeli dio broja • round(x)- zaokruživanje • ord(x)- daje redni broj od x • chr(x)- znak čiji je redni broj
Standardne logičke funkcije • odd(x)- ako je x neparan vrijednost je true • keypressed- ima vrijednost true ako je pritisnuta tipka na tipkovnici
Naredbe ulaza i izlaza podataka • readln (lista varijabli); - naredbe za čitanje podataka • write (tekst, varijabla, izraz, kombinacija) - nakon ispisivanja kursor ostaje u istom redu • writeln (tekst, varijabla, izraz, kombinacija) - kursor prelazi u novi red Primjeri: • writeln (' DOBAR DAN'); - tekst se ispisuje između navodnika • writeln (x:7:3) - korisnički format za realni broj (za broj se rezervira 7 mjesta od toga 3 decimalna) • writeln(y:30) – korisnički format za cijele brojeveili tekst (za broj ili tekst rezervira 30 mjesta) • writeln('Upiši neki broj'); • readln(x); standardna forma za upis varijabli
Naredba dodjeljivanja vrijednosti • x:=y+z;na lijevoj strani smije biti samo jedna varijabla jer je to ime memorijske lokacije u koju će biti spremljena vrijednost izraza s desne strane • izraz može biti brojčani, tekstualni ili logički
Naredbe granjanja IF UVJET THEN NAREDBA1 ELSE NAREDBA2; • Ako je uvjet ispunjen izvršava se naredba iza then, a ako nije naredba iza else. CASE SELEKTOR OF VRIJEDNOSTI SELEKTORA : NAREDBE; ELSE NAREDBA END; • Koristi se kad treba birati između nekoliko mogućnosti. Ovisno o vrijednosti koju postigne selektor izvršava se naredba određena za tu vrijednost. Ako selektor ne postigne niti jednu navedenu vrijednost izvršava se naredba iza else.
Naredbe ponavljanja (petlje): • for – sa zadanim brojem ponavljanja • while – ispituje uvjet na početku • repeat – ispituje uvjet na kraju
For petlja FOR I:= PV TO ZV DO NAREDBA ; DOWNTO • ako je PV veća od ZV onda koristimo downto • broj ponavljanja ZV-PV+1 • varijabla I ne smije biti realnog tipa, smije biti cijeli broj ili znak • unutar petlje ne smijemo mijenjati I
While petlja WHILE UVJET DO begin NAREDBA ; end; • programski dio se ponavlja sve dok je uvjet ispunjen • ako ne ugradimo promjenu uvjeta dobit ćemo beskonačnu petlju • može se desiti da se niti jednom ne izvedu naredbe u petlji
Repeat REPEAT NAREDBA UNTIL UVJET; • programski dio se ponavlja sve dok se uvjet ne ispuni (kad se ispuni ponavljanje se prekida) • ako ne ugradimo promjenu uvjeta dobit ćemo beskonačnu petlju • naredbe će se izvesti barem jednom
Što radi program? i:=1; while i<=10 do begin write('******'); i:=i+1 end; Ispisuje 60 zvjezdica
Što radi program? • i=1 ****** • i=2 ****** • i=3 ****** • i=5 ****** • i=6 ****** • i=7 ****** • i=8 ****** • i=9 ****** • i=10 ****** • i=11****** i:=1; repeat write ('******'); i:=i+1; until i>=11; Ispisuje 60 zvjezdica
Standardni algoritmi u programiranju • Suma • Prebrojavanje • Pretraživanje po zadanom kriteriju • Minimum, maximum
Suma • u svakom ponavljanju petlje dodajemo novi broj • suma:=suma +broj; • suma :=suma +broj[i]; ako koristimo niz • početna vrijednost sume je 0
Primjer Program zbraja 100 cijelih brojeva koje unosi korisnik: suma:=0; for i:=1 to 100 do begin writeln(‘Upiši broj’); readln(broj); suma:=suma+broj; end; write(suma);
Primjer Program ispisuje koliko brojeva je pozitivnih od 100 cijelih brojeva koje unosi korisnik: br:=0; for i:=1 to 100 do begin if broj>0 then br:=br+1; end; write(br);
Primjer Program ispisuje ima li parnih brojeva od 100 cijelih brojeva koje unosi korisnik: parni:=false; br:=0; repeat br:=br+1; if broj mod 2=0 then parni:=true; until (parni) or (br=100); if parni thenwrite(‘ima’) elsewrite(‘nema’);
Primjer Program ispisuje najmanji broj od 100 upisanih: readln(min); for rb:=2 to n do begin readln(broj); if broj<min thenmin:=broj; end; write(min);
Zaključak • svi prikazani algoritmi mogu se koristiti na nizu