Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
OSNOVE PROGRAMIRANJAOSNOVE PROGRAMIRANJA
UvodUvod
Program je postupak rjeProgram je postupak rješšavanja zadatka avanja zadatka prilagođen izvođenju na raprilagođen izvođenju na raččunaluunaluOsnove programiranja izloOsnove programiranja izložžene su pomoene su pomoćću u programskog jezika programskog jezika PPascalascal
Elementi programaElementi programa ... ...
Ulazna operacijaUlazna operacija -- unos vrijednosti s ulazne unos vrijednosti s ulazne jedinice (tipkovnica, disk, ulazna vrata) u jedinice (tipkovnica, disk, ulazna vrata) u programprogramPodaPodacici u programuu programu -- konstante, varijable i konstante, varijable i strukture strukture ččuvaju vrijednosti: uvaju vrijednosti:
–– brojeve (cijeli, decimalni), brojeve (cijeli, decimalni), –– tekstove (znakove, karaktere i nizove) tekstove (znakove, karaktere i nizove) –– adrese (varijabli ili struktura)adrese (varijabli ili struktura)
na određenom mjestu u memoriji na određenom mjestu u memoriji (memorijskoj (memorijskoj lokaciji)lokaciji)
Elementi programaElementi programa ......
Operacije u programuOperacije u programu -- rukovanje podacima rukovanje podacima pomopomoćću naredbi, instrukcija: u naredbi, instrukcija:
–– pridrupridružživanje vrijednosti, ivanje vrijednosti, –– slaganje vrijednosti (zbrajanje, dijeljenje, i sl.) slaganje vrijednosti (zbrajanje, dijeljenje, i sl.) ii–– uspoređivanje vrijednosti uspoređivanje vrijednosti (jednako, razli(jednako, različčito i sl.)ito i sl.)
Izlazna operacijaIzlazna operacija -- iznos vrijednosti iz iznos vrijednosti iz programa: ispis na izlaznu jedinicu programa: ispis na izlaznu jedinicu –– zaslon, zaslon, tiskalo (rijetiskalo (riječči i slike), memorijsku jedinicu i i slike), memorijsku jedinicu (disketa ili disk) ili izlazna vrata (disketa ili disk) ili izlazna vrata
Organizacija instrukcijaOrganizacija instrukcija
Uvjetno izvođenjeUvjetno izvođenje -- instrukcija ili skup instrukcija ili skup instrukcija izvodi se samo kada je instrukcija izvodi se samo kada je zadovoljen određeni uvjet ili niz uvjetazadovoljen određeni uvjet ili niz uvjetaPetljaPetlja -- izvođenje instrukcije ili skupa izvođenje instrukcije ili skupa instrukcija ponavlja se viinstrukcija ponavlja se višše putae putaPotprogramPotprogram, , proceduraprocedura, , funkcijafunkcija --instrukcije se razluinstrukcije se razluččuju u skupove kojima uju u skupove kojima se pridruse pridružžuje naziv, a izvode se pozivom uje naziv, a izvode se pozivom odgovarajuodgovarajuććeg skupaeg skupa
LogiLogiččka organizacija memorijeka organizacija memorije
Memoriju tvori niz adresibilnih memorijskih Memoriju tvori niz adresibilnih memorijskih lokacija određene duljine lokacija određene duljine Adresa memorijeAdresa memorije odgovara nazivu podatka odgovara nazivu podatka (varijable, strukture)(varijable, strukture)U memorijske lokacije pohranjuju se podaci: U memorijske lokacije pohranjuju se podaci: naredbe programa, vrijednosti, adrese drugih naredbe programa, vrijednosti, adrese drugih lokacijalokacijaDuljina memorijske lokacije izraDuljina memorijske lokacije izražžena je ena je osnovnom informacijskom jedinicom (bosnovnom informacijskom jedinicom (byte)yte)
Tipovi podatakaTipovi podataka –– cijeli brojcijeli broj
PPohrana cjelobrojnih vrijednosti ohrana cjelobrojnih vrijednosti (integer)(integer): : –– u podruu područčju od najmanje negativne vrijednosti ju od najmanje negativne vrijednosti
do najvedo najvećće pozitivne vrijednostie pozitivne vrijednosti–– ppodruodruččje vrijednosti ovisi o upotrijebljenom je vrijednosti ovisi o upotrijebljenom
jezijeziččnom prevoditeljunom prevoditelju
Pohrana cijelih brojevaPohrana cijelih brojeva
4-2147483648..2147483647longint(dugi c.b.)
20..65535word (riječ)
2-32768..32767integer (c.b.)
1-128..127shortint (kratki c.b.)
10..255byte (bajt)
DULJINA(byte)PODRUČJE VRIJEDNOSTITIP
Tipovi podatakaTipovi podataka –– realni brojrealni broj
Pohrana rPohrana realniealnihh vrijednosti (real)vrijednosti (real)–– u formatu pokretnog zareza sastavljenom od u formatu pokretnog zareza sastavljenom od
mantise (vrijedmantise (vrijednosti decimalnog broja) i nosti decimalnog broja) i eksponenta koji određuje mjesto zarezaeksponenta koji određuje mjesto zareza
–– Broj znamenaka mantise (znaBroj znamenaka mantise (značčajne ajne znamenke) i podruznamenke) i područčje vrijednosti eksponenta je vrijednosti eksponenta ovise o koriovise o korišštenom jezitenom jeziččnom prevoditeljunom prevoditelju
Pohrana realnih brojevaPohrana realnih brojeva
81510-308..10308double (dvostruki)
4710-38..1038single (jednostruki)
61110-38..1038real (decimalni broj)
DULJINA(byte)
ZNAČAJNE ZNAMENKE
PODRUČJE VRIJEDNOSTITIP
Tipovi podatakaTipovi podataka –– znakznak
Pohrana zPohrana znaknakova (character)ova (character)–– pohrana slova abecede (a,b,...., A, b, ...)pohrana slova abecede (a,b,...., A, b, ...)–– znamenki (od 0 do 9)znamenki (od 0 do 9)–– simbola (? , ! . : )simbola (? , ! . : )PPohrana jednog slova u jednom bajtuohrana jednog slova u jednom bajtuZnakovne konstante se prikazuju unutar Znakovne konstante se prikazuju unutar navodnika ('a', 'E', '?', '2')navodnika ('a', 'E', '?', '2')ViVišše znakova e znakova ččini znakovni niz ini znakovni niz –– string string ((‘‘OOsnove programiranja')snove programiranja')
Tipovi podatakaTipovi podataka –– BooleBoole--ove ove konstante i kazalakonstante i kazala
Booleove konstante: vrijednost istinitosti Booleove konstante: vrijednost istinitosti -- istina ili laistina ili lažžKazalo: pohrana adrese memorijske Kazalo: pohrana adrese memorijske lokacije, a ne njezinog sadrlokacije, a ne njezinog sadržžaja aja
IdentifikatoriIdentifikatori ......
Nazivi konstanti, tipova podataka, Nazivi konstanti, tipova podataka, varijabli, funkcijavarijabli, funkcija::
–– tipovi podataka određeni programskim tipovi podataka određeni programskim jezikom jezikom -- iinteger, realnteger, real
–– naziv glavne funkcije programa i nazive naziv glavne funkcije programa i nazive varijabli zadaje programmervarijabli zadaje programmer -- Telefon; Telefon; iimpulsi, cijenampulsi, cijena
–– procedure određene programskim jezikomprocedure određene programskim jezikom --rreadln, writelneadln, writeln
IdentifikatoriIdentifikatori
Prvi znak identifikatora mora biti slovoPrvi znak identifikatora mora biti slovoDopuDopuššteni broj znakova identifikatora teni broj znakova identifikatora određuje jeziodređuje jeziččni prevoditeljni prevoditeljNazivi tipova podataka, naredbi i Nazivi tipova podataka, naredbi i procedura su rezervirane, kljuprocedura su rezervirane, ključčne rijene riječči i programskog jezikaprogramskog jezika
OperatoriOperatori
Rukovanje vrijednostima unesenima u Rukovanje vrijednostima unesenima u program, odnosno pohranjenima u program, odnosno pohranjenima u varijablama varijablama SluSlužže za e za tvorbtvorbuu izraza izraza Razvoj izraza izvodi se Razvoj izraza izvodi se s lijeva na desnos lijeva na desnoBinarni (djeluju na dva operanda), unarni Binarni (djeluju na dva operanda), unarni (djeluju na jednog operanda)(djeluju na jednog operanda)PridruPridružživanja, usmjereni na rukovanje s ivanja, usmjereni na rukovanje s bitovima, relacijski, logibitovima, relacijski, logiččki, adresni, nizaki, adresni, niza
Operator pridruOperator pridružživanjaivanja
Rezultat razvojaRezultat razvoja izraza s desne strane izraza s desne strane operatora pridruoperatora pridružživanja pridruivanja pridružžuje se uje se varijabli s lijeve strane operatora varijabli s lijeve strane operatora pridrupridružživanja ivanja
AritmetiAritmetiččki operatoriki operatori
7 MOD 2 = 1MODOSTATAK DIJELJENJA
7 DIV 2 = 3DIVCJELOBROJNO DIJELJENJE
7 / 2 = 3.5/DIJELJENJE
7 * 2 = 14*MNOŽENJE
7 - 2 = 5-ODUZIMANJE
7 + 2 = 9+ZBRAJANJE
Relacijski operatoriRelacijski operatori ......
Uspoređivanje dvUspoređivanje dvaaju vrijednosti, rezultat je ju vrijednosti, rezultat je booleova vrijednost booleova vrijednost –– IIstina, stina, Da, +, 1Da, +, 1–– LLaažž, Ne, , Ne, --, 0, 0
Relacijski operatoriRelacijski operatori
7 <> 2 = ISTINA<>RAZLIČITO
7 = 2 = LAŽ=JEDNAKO
7 <= 2 = LAŽ<=MANJE ILI JEDNAKO
7 < 2 = LAŽ<MANJE
7 >= 2 = ISTINA>=VEĆE ILI JEDNAKO
7 > 2 = ISTINA>VEĆE
LogiLogiččki operatoriki operatori
Argumenti logiArgumenti logiččkih izraza su boolekih izraza su boole--ove ove vrijednosti istina (1) i lavrijednosti istina (1) i lažž (0)(0)–– i (and) i (and) –– konjunkcijekonjunkcije–– ili (or) ili (or) –– disjunkcijedisjunkcije–– ne (not) ne (not) -- negacijenegacije
Operator Operator ““ii”” z = a z = a andand bb
ISTINAISTINAISTINA
LAŽLAŽISTINA
LAŽISTINALAŽ
LAŽLAŽLAŽ
ZBA
Operator Operator ““iliili”” z = a z = a oror bb
ISTINAISTINAISTINA
ISTINALAŽISTINA
ISTINAISTINALAŽ
LAŽLAŽLAŽ
ZBA
Operator Operator ““nene”” z = z = notnot aa
LAŽISTINA
ISTINALAŽ
ZA
Adresni operatoriAdresni operatori
Rezultat je adresa memorijske lokacije Rezultat je adresa memorijske lokacije varijable (@)varijable (@)RRezultat je vrijednost pohranjena u ezultat je vrijednost pohranjena u memorijskoj lokaciji na adresi na koju memorijskoj lokaciji na adresi na koju pokazuje kazalo (^)pokazuje kazalo (^)
Operatori nizaOperatori niza
Stapanje dvaju znakovnih nizova Stapanje dvaju znakovnih nizova -- ++
Operatori usmjereni na rukovanje s Operatori usmjereni na rukovanje s bitovimabitovima ... ...
BIT BIT -- najmanja informacijska jedinica, najmanja informacijska jedinica, vrijednost 0 ili 1, pohrana cjelobrojnim vrijednost 0 ili 1, pohrana cjelobrojnim tipom podatkatipom podatka ((8 bita = 1 bajt8 bita = 1 bajt))pomak bitova za određeni broj pozicija na pomak bitova za određeni broj pozicija na lijevu stranu, desna strana se zamjenjuje s lijevu stranu, desna strana se zamjenjuje s 0 0 -- ((shlshl -- shift left shift left))pomak bitova za određeni broj pozicija na pomak bitova za određeni broj pozicija na desnu stranu, lijeva strana se zamjenjuje s desnu stranu, lijeva strana se zamjenjuje s 0 0 -- ((shrshr -- shift right)shift right)
Operatori usmjereni na rukovanje s Operatori usmjereni na rukovanje s bitovimabitovima ......
Izvođenje logiIzvođenje logiččke operacije ke operacije ““ii”” nad odgovarajunad odgovarajuććim im parom bitovaparom bitovaRezultantna vrijednost je 1 ako oba bita u paru Rezultantna vrijednost je 1 ako oba bita u paru imaju vrijednost 1, u protivnom rezultat je 0 imaju vrijednost 1, u protivnom rezultat je 0 --((andand))Izvođenje logiIzvođenje logiččke operacije ke operacije ““iliili”” (uklji(ukljiččivo ili) nad ivo ili) nad odgovarajuodgovarajuććim parom bitova. im parom bitova. Rezultantna vrijednost je 0 ako oba bita u paru Rezultantna vrijednost je 0 ako oba bita u paru imaju vrijednost 0, u protivnom rezultat je 1 imaju vrijednost 0, u protivnom rezultat je 1 -- ((oror))
Operatori usmjereni na rukovanje s Operatori usmjereni na rukovanje s bitovimabitovima
Izvođenje logiIzvođenje logiččke operacije ke operacije ““iskljuisključčivo iliivo ili””nad odgovarajunad odgovarajuććim parom bitova.im parom bitova.Rezultantna vrijednost je 1 ako su Rezultantna vrijednost je 1 ako su vrijednosti bitova u paru razlivrijednosti bitova u paru različčite, u ite, u protivnom rezultat je 0 protivnom rezultat je 0 -- ((xorxor))LogiLogiččko komplementiranje, negacija bita, ko komplementiranje, negacija bita, promjena 0 u 1 i 1 u 0 promjena 0 u 1 i 1 u 0 -- ((notnot))
Prioriteti primjene operatoraPrioriteti primjene operatora
NAJNIŽIRELACIJSKI OPERATOR
=, <>, <, >, <=, >=,
BINARNI OPERATOR+, -, OR, XOR
BINARNI OPERATOR*, /, DIV,
MOD, AND, SHL, SHR
NAJVIŠIUNARNI OPERATOR@, NOT
PRIORITETKATEGORIJAOPERATOR
AKO POSTOJE, ZAGRADE UTVRĐUJU PRIORITETE PRIMJENE OPERATORA
KomentariKomentari
ObjaObjaššnjenja njenja znaznaččenja varijabli, instrukcija, enja varijabli, instrukcija, funkcijafunkcija i napomene o programu i napomene o programu -- (* .... *)(* .... *)
UlaznoUlazno--izlazne operacijeizlazne operacije
writeln(var1, var2, ...);writeln(var1, var2, ...);–– vvarar == varijabla varijabla ččija se vrijednost ija se vrijednost žželi ispisati eli ispisati –– vrijednosti varijabli se ispisuju prema zapisanom vrijednosti varijabli se ispisuju prema zapisanom
redoslijedu u jednom redu, a na kraju ispisa prelazi redoslijedu u jednom redu, a na kraju ispisa prelazi se na pose na poččetak novog redaetak novog reda
write(var1, var2, ...);write(var1, var2, ...);–– vrijednosti varijabli se ispisuju prema zapisanom vrijednosti varijabli se ispisuju prema zapisanom
redoslijedu u jednom redu, a na kraju ispisa ostaje redoslijedu u jednom redu, a na kraju ispisa ostaje se u istom reduse u istom redu
writeln(var1,' ',var2,' ', ...);writeln(var1,' ',var2,' ', ...);–– bjeline između bjeline između ččlanova treba posebno navestilanova treba posebno navesti
Primjeri:Primjeri:
A := 1; B := 2; C := 3;A := 1; B := 2; C := 3;Predmet := 'racunalo';Predmet := 'racunalo';Writeln(A, B, C);Writeln(A, B, C); 123123Writeln(A,' ',B,' ',C);Writeln(A,' ',B,' ',C); 1 2 31 2 3Writeln('Malo',Predmet);Writeln('Malo',Predmet);
MaloracunaloMaloracunaloWriteln('Malo ',Predmet,'.');Writeln('Malo ',Predmet,'.'); Malo Malo racunalo.racunalo.
Writeln(var:mjesta, ...);Writeln(var:mjesta, ...);–– mmjestajesta == ukupni broj mjesta za ispis ukupni broj mjesta za ispis
vrijednosti, vrijednosti se pozicioniraju vrijednosti, vrijednosti se pozicioniraju udesnoudesno
PrimjeriPrimjeri: :
A := 10; B := 2; C := 100;A := 10; B := 2; C := 100;Writeln(A, B, C);Writeln(A, B, C); 102100102100Writeln(A:2,B:2,C:3);Writeln(A:2,B:2,C:3); 10 210010 2100Writeln(A:3,B:2,C:3);Writeln(A:3,B:2,C:3); 10 210010 2100Writeln(A,B:2,C:4);Writeln(A,B:2,C:4); 10 2 10010 2 100X := 421.53;X := 421.53;Writeln(X);Writeln(X); 4.2153000000E+024.2153000000E+02Writeln(x:8);Writeln(x:8); 4.21E+024.21E+02
Realni brojevi se ispisuju u Realni brojevi se ispisuju u eeksponencijalnom oblikuksponencijalnom obliku
Writeln(var:mjesta:decimale, ...);Writeln(var:mjesta:decimale, ...);–– ddecimaleecimale == broj mjesta za ispis decimalnog broj mjesta za ispis decimalnog
dijela vrijednosti realnog brojadijela vrijednosti realnog broja
PrimjeriPrimjeri: :
X := 421.53;X := 421.53;Writeln(X:6:2);Writeln(X:6:2); 421.53421.53Writeln(X:8:2);Writeln(X:8:2); 421.53421.53Writeln(X:8:4);Writeln(X:8:4); 421.5300421.5300
Ulazna operacija Ulazna operacija
Unos podataka s ulazne jedinice (tipkovnica, Unos podataka s ulazne jedinice (tipkovnica, disk). Podaci se odvajaju bjelinamadisk). Podaci se odvajaju bjelinama..Read(var1,var2, ...);Read(var1,var2, ...);–– vvar =var =varijabla određenog tipaarijabla određenog tipa–– pridrupridružživanje vrijednosti varijablama u popisuivanje vrijednosti varijablama u popisu
Readln(var1,var2, ...);Readln(var1,var2, ...);–– pridrupridružživanje vrijednosti varijablama u popisu s ivanje vrijednosti varijablama u popisu s
pomakom u novi redpomakom u novi red
UPRAVLJANJE IZVOĐENJEM UPRAVLJANJE IZVOĐENJEM PROGRAMAPROGRAMA
Uvjetno izvođenje naredbiUvjetno izvođenje naredbi ......
Skup naredbi u programu se izvodi samo ako je Skup naredbi u programu se izvodi samo ako je zadovoljen postavljeni uvjetzadovoljen postavljeni uvjetNaredba ako (if) Naredba ako (if) -- naredba izboranaredba izbora
iiff izrazizraztthenhen naredba1naredba1eelselse naredba2naredba2
–– iizrazzraz = booleov izraz = booleov izraz –– vrijednost izraza je istina (da) vrijednost izraza je istina (da) ili laili lažž (ne)(ne)
–– ako je izraz istinit, izvodi se naredba1, u protivnom ako je izraz istinit, izvodi se naredba1, u protivnom naredba2naredba2
Uvjetno izvođenje naredbiUvjetno izvođenje naredbi ......
ifif izrazizrazthenthen naredba1naredba1
–– ako je ako je izrazizraz lalažžan, naredba1 se ne izvodian, naredba1 se ne izvodi
Uvjetno izvođenje naredbUvjetno izvođenje naredbii
ifif izrazizrazthenthen naredbanaredbaelseelse beginbegin
naredbanaredba__1;1;..........naredbannaredbanend;end;
SloSložžena naredba ena naredba
beginbeginnaredba1, naredba2, ... naredba1, naredba2, ... nnaredbanaredbanendend; ;
Naredba sluNaredba sluččajajaa casecase ––naredba izboranaredba izbora ......
casecase izbornik_sluizbornik_sluččajaaja ofofoznaka_sluoznaka_sluččaja1aja1 : naredba1;: naredba1;oznaka_sluoznaka_sluččaja2aja2 : naredba2;: naredba2;
......................oznaka_sluoznaka_sluččajanajan : naredban;: naredban;
endend;;
Naredba sluNaredba sluččajajaa casecase ––naredba izboranaredba izbora ......
tip podatka tip podatka oznaka_sluoznaka_sluččajaaja mora biti mora biti jednak tipu podatka jednak tipu podatka izbornik_sluizbornik_sluččajaajaoznaka sluoznaka sluččajaaja–– jjedna ili viedna ili višše konstantie konstanti–– ppodruodruččje vrijednosti je vrijednosti -- dvije konstante dvije konstante
odvojene znakom '..'odvojene znakom '..'
Naredba sluNaredba sluččajajaa casecase ––naredba izboranaredba izbora ......
izvodi se naredba izvodi se naredba ččija je oznaka sluija je oznaka sluččaja aja jednaka tekujednaka tekuććoj vrijednosti izbornika oj vrijednosti izbornika slusluččaja ili se nalazi unutar podruaja ili se nalazi unutar područčja ja vrijednostivrijednostiako niti jedna oznaka sluako niti jedna oznaka sluččaja ne sadraja ne sadržži i vrijednost izbornika sluvrijednost izbornika sluččaja, ne izvodi se aja, ne izvodi se niti jedna naredbaniti jedna naredba
PrimjerPrimjer
casecase Smjer Smjer ofof'c', 'c7''c', 'c7' : cest := cest + 1;: cest := cest + 1;'v', 'v7''v', 'v7' : vodni := vodni + 1;: vodni := vodni + 1;'tt''tt' : telekom := telekom+ 1;: telekom := telekom+ 1;'pt', 'p7''pt', 'p7' : post := post + 1;: post := post + 1;'st', 'z7''st', 'z7' : zeljez := zeljez + 1;: zeljez := zeljez + 1;'a', 'a7''a', 'a7' : zracni := zracni + 1: zracni := zracni + 1
endend;;
Naredbe petlje Naredbe petlje
Izvođenje naredbi se ponavljaIzvođenje naredbi se ponavlja–– WhileWhile–– ForFor–– Repeat Repeat
Naredba Naredba whilewhile
whilewhile uvjet uvjet dodo naredba;naredba;–– uuvjetvjet = booleov izraz= booleov izraz–– nnaredbaaredba = jednostavna ili slo= jednostavna ili složžena naredbaena naredba
IIzvođenje naredbe se ponavlja sve dok je zvođenje naredbe se ponavlja sve dok je uvjet zadovoljenuvjet zadovoljenAAko kod ulaza u naredbu ko kod ulaza u naredbu whilewhile uvjet nije uvjet nije zadovoljen, naredba se nizadovoljen, naredba se nititi jedanput ne jedanput ne izvodiizvodi
Naredba Naredba whilewhile -- primjerprimjerprogram Ponavljaj;program Ponavljaj;var var
A, B, Broj A, B, Broj : integer;: integer;Test Test : boolean;: boolean;
beginbeginWrite('Upisite dva broja: ');Write('Upisite dva broja: ');Readln(A, B);Readln(A, B);Test := A > B;Test := A > B;Broj := 1;Broj := 1;while Broj <= 5 do beginwhile Broj <= 5 do begin
Writeln('A je vece od B ', Test);Writeln('A je vece od B ', Test);Broj := Broj + 1;Broj := Broj + 1;
end;end;Writeln('Svrsetak ispisa!')Writeln('Svrsetak ispisa!')
end.end.
Naredba Naredba forfor ......
forfor indeks := izraz1 indeks := izraz1 toto izraz2 izraz2 dodo naredba;naredba;–– iindeksndeks == indeksna varijabla skalarnog tipa indeksna varijabla skalarnog tipa
(cijeli broj, realni broj, znak, booleova (cijeli broj, realni broj, znak, booleova vrijednost)vrijednost)
–– iizraz1zraz1 = po= poččetna vrijednost indeksne varijableetna vrijednost indeksne varijable–– izraz2izraz2 = kona= konaččna vrijednost indeksne na vrijednost indeksne
varijablevarijable–– nnaredbaaredba = jednostavna ili slo= jednostavna ili složžena naredbaena naredba
Naredba Naredba forfor
BBroj izvođenja naredbe određen je roj izvođenja naredbe određen je vrijednovrijednoššćću indeksne varijable (indeks) u indeksne varijable (indeks) koja se mijenja od pokoja se mijenja od poččetne (izraz1) do etne (izraz1) do konakonaččne (izraz2) vrijednosti s korakom ne (izraz2) vrijednosti s korakom jedanjedan–– to = poveto = poveććanje indeksa za 1 anje indeksa za 1 ((inkrementiranjeinkrementiranje))–– ddowntoownto = smanjenje indeksa za 1= smanjenje indeksa za 1
((dekrementiranjedekrementiranje))
Naredba Naredba forfor -- primjerprimjer
Zadatak: IzraZadatak: Izraččunti N faktorijelaunti N faktorijelaF = N! = 1 * 2 * 3 * ...... * NF = N! = 1 * 2 * 3 * ...... * NF := 1;F := 1;forfor i := 1 i := 1 toto N N dodo
F := F * i;F := F * i;
Naredba Naredba repeatrepeat
repeatrepeat naredba naredba untiluntil uvjet;uvjet;–– uvjetuvjet = booleov izraz= booleov izraz–– nnaredbaaredba = jednostavna ili slo= jednostavna ili složžena naredbaena naredba
IIzvođenje naredbe se ponavlja sve dok zvođenje naredbe se ponavlja sve dok uvjet nije zadovoljenuvjet nije zadovoljenNNaredba se izvodi barem jedanput jer se aredba se izvodi barem jedanput jer se uvjet ispituje na kraju uvjet ispituje na kraju
Naredba Naredba repeatrepeat -- primjerprimjerprogram Dijeli;program Dijeli;var var A, B : integer;A, B : integer;
Kolicnik : real;Kolicnik : real;Odgovor : char;Odgovor : char;
beginbeginrepeatrepeatWrite('Upisite dva broja: ');Write('Upisite dva broja: ');Readln(A, B);Readln(A, B);Kolicnik := A / B;Kolicnik := A / B;Writeln('Kolicnik: ', Kolicnik);Writeln('Kolicnik: ', Kolicnik);Write('Zelite li zadati nove brojeve ? (D/N) ');Write('Zelite li zadati nove brojeve ? (D/N) ');Readln(Odgovor)Readln(Odgovor)until (Odgovor = 'n') or (Odgovor = 'N')until (Odgovor = 'n') or (Odgovor = 'N')
end.end.
ZadatakZadatak
Nacrtajte dijagram toka programa koji učitava varijablu pod nazivom ocjena za 1000 studenata. Potrebno je izračunati prosječnu vrijednost varijable ocjena. U programu je potrebno ne dozvoliti unos varijable koja je izvan područja vrijednosti 1-5.
ZadatakZadatak
Nacrtajte dijagram toka programa koji učitava varijablu pod nazivom matični broj za 1000 studenata. Potrebno je izračunati broj studenata na vodnom smjeru ukoliko su njihovi matični brojevi u rasponu 3278-3311. Napomena: neki studenti su se ispisali tako da nisu svi brojevi dodijeljeni.
PotprogramiPotprogrami ... ...
Primjena istog skupa naredbi na razliPrimjena istog skupa naredbi na različčitim itim skupovima podataka ili na razliskupovima podataka ili na različčitim itim mjestima u programumjestima u programuDefiniraju se na poDefiniraju se na poččetku programa iza etku programa iza deklaracije varijablideklaracije varijabliFormalni parametriFormalni parametri -- navode se kod navode se kod definicije potprogramadefinicije potprogramaStvarni parametriStvarni parametri -- zamjenjuju formalne zamjenjuju formalne kod stvarnog rakod stvarnog raččunanjaunanja
Funkcije i procedureFunkcije i procedure
FunkcijaFunkcija -- uz zadane vrijednosti uz zadane vrijednosti argumenta vraargumenta vraćća izraa izraččunatu vrijednost u unatu vrijednost u programprogram
X := abs(a);X := abs(a);ProceduraProcedura -- se poziva kada se se poziva kada se žželi izvesti eli izvesti jedan ili vijedan ili višše zadataka, bez vrae zadataka, bez vraććanja anja rezultatarezultata
Writeln('ovo je pokus');Writeln('ovo je pokus');
Struktura definicije funkcijeStruktura definicije funkcijefunction NazivFunkcije(formalni parametri) : tip rezultata;function NazivFunkcije(formalni parametri) : tip rezultata;constconst
navođenje konstantinavođenje konstanti;;typetype
definicija tipova podataka;definicija tipova podataka;varvar
navođenje varijablinavođenje varijabli;;procedure i funkcije;procedure i funkcije;
beginbegintijelo funkcije;tijelo funkcije;
end;end;
Struktura definicije procedureStruktura definicije procedure
procedure NazivProcedure(formalniprocedure NazivProcedure(formalni parametri parametri););constconst
navođenje konstantinavođenje konstanti;;typetype
definicija tipova podataka;definicija tipova podataka;varvar
navođenje varijablinavođenje varijabli;;procedure i funkcije;procedure i funkcije;
beginbegintijelo procedure;tijelo procedure;
end;end;
Struktura programaStruktura programa ... ... program NazivPrograma;program NazivPrograma;constconst
navođenje konstantinavođenje konstanti;;typetype
definicija tipova podataka;definicija tipova podataka;varvar
navođenje varijablinavođenje varijabli;;definicija procedura i funkcija;definicija procedura i funkcija;
beginbeginglavno tijelo programaglavno tijelo programa
endend
Struktura programaStruktura programa
Razlika strukture programa i potprograma:Razlika strukture programa i potprograma:–– ZAGLAVLJE (program, function, procedure)ZAGLAVLJE (program, function, procedure)–– SvrSvrššetak programa je toetak programa je toččka, a potprograma ka, a potprograma
totoččka zarezka zarez
Program za dijeljenje dva brojaProgram za dijeljenje dva brojaprogram Dijeljenje;program Dijeljenje;var A, Bvar A, B : integer;: integer;
KolicnikKolicnik : real;: real;(* Definicija procedure Upis *)(* Definicija procedure Upis *)procedure Upis(var X, Y : integer);procedure Upis(var X, Y : integer);(* X, Y Formalni parametri *)(* X, Y Formalni parametri *)(* var (* var -- Stvarni parametri moraju biti varijable Stvarni parametri moraju biti varijable -- Poziv po imenu*)Poziv po imenu*)beginbegin
Write('Zadajte dva broja: ');Write('Zadajte dva broja: ');Readln(X, Y)Readln(X, Y)
end;end;function Dioba(I, J : integer) : real;function Dioba(I, J : integer) : real;beginbegin
Dioba := I/JDioba := I/Jend;end;beginbegin
(* Poziv procedure Upis *)(* Poziv procedure Upis *)Upis(A, B);Upis(A, B); (* A, B (* A, B -- Stvarni parametri *)Stvarni parametri *)(* Poziv funkcije Dioba *)(* Poziv funkcije Dioba *)
(* Stvarni parametri ne moraju biti varijable (* Stvarni parametri ne moraju biti varijable -- Poziv po vrijednosti*)Poziv po vrijednosti*)Kolicnik := Dioba(A, B);Kolicnik := Dioba(A, B);Writeln('Kolicnik iznosi ', Kolicnik)Writeln('Kolicnik iznosi ', Kolicnik)
end.end.
PROGRAMSKI JEZICIPROGRAMSKI JEZICI
UvodUvod
Prirodni jeziciPrirodni jeziciUmjetni jezici Umjetni jezici –– esperantoesperantoPProgramskirogramski
–– ViVišši i Proceduralno usmjereniProceduralno usmjereniNeproceduralno usmjereniNeproceduralno usmjereni
–– NiNižžiiStrojni jezik Strojni jezik –– MnemoniMnemoniččki oblik (asembler)ki oblik (asembler)–– Binarni oblikBinarni oblik
ViVišši programski jezicii programski jezici
Opis zadatka i opis postupka za rjeOpis zadatka i opis postupka za rješšavanje avanje zadatka blizadatka bližži ljudskom nai ljudskom naččinu opisainu opisa
Proceduralno, algoritamski usmjereniProceduralno, algoritamski usmjereni
IzraIzražžajna sredstva za opisivanje podataka i ajna sredstva za opisivanje podataka i za konstrukciju algoritama: za konstrukciju algoritama: ADAADA, , APLAPL, , BASICBASIC, C, COBOL, FORTRAN, LISP, LOGO, , C, COBOL, FORTRAN, LISP, LOGO, PASCAL, PL/IPASCAL, PL/I
Neproceduralno usmjereni Neproceduralno usmjereni
IzraIzražžajna sredstva za opisivanje podataka i ajna sredstva za opisivanje podataka i njihovih međusobnih relacija njihovih međusobnih relacija –– programska sredina pronalazi niz operacija ili programska sredina pronalazi niz operacija ili
postupke kojim se podaci, zadovopostupke kojim se podaci, zadovoljenjem ljenjem njihovih međusobnih relacijanjihovih međusobnih relacija, prevode u , prevode u rezultate: PROLOGrezultate: PROLOG
NiNižži programski jezici i programski jezici
Opis zadatka i opis postupka za Opis zadatka i opis postupka za rjerješšavanje zadatka bliavanje zadatka bližži građi i nai građi i naččinu inu izvođenja na raizvođenja na raččunaluunaluStrojni jezikStrojni jezik -- programe zapisane u programe zapisane u strojnom jeziku, neposredne upute za strojnom jeziku, neposredne upute za radrad,, mogumogućće je koristiti samo na e je koristiti samo na raraččunalu određene arhitekture unalu određene arhitekture