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} begin clrscr; naredbe ; ...  tijelo programa readln end.  komentar Pravila kod.

Download Report

Transcript 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} begin clrscr; naredbe ; ...  tijelo programa readln end.  komentar Pravila kod.

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}
begin
clrscr;
naredbe ;
...
 tijelo programa
readln
end.
 komentar
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 praznine i 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 brojeve ili 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;
repeat
write ('******');
i:=i+1;
until i>=11;
Ispisuje 60 zvjezdica
•i=1
•i=2
•i=3
•i=5
•i=6
•i=7
•i=8
•i=9
•i=10
•i=11
******
******
******
******
******
******
******
******
******
******
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 then write(‘ima’)
else write(‘nema’);
Primjer
Program ispisuje najmanji broj od 100 upisanih:
readln(min);
for rb:=2 to n do begin
readln(broj);
if broj<min then min:=broj;
end;
write(min);
Zaključak
• svi prikazani algoritmi mogu se koristiti na nizu