1 / 41

Programski jezik PASCAL

Programski jezik PASCAL . Osnove programiranja u Pascalu (1. dio). Povijest jezika Pascal.

tolla
Télécharger la présentation

Programski jezik PASCAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programski jezikPASCAL Osnove programiranja u Pascalu (1. dio)

  2. Povijest jezika Pascal • Pascal je programski jezik razvijen 1970. godine od strane Niklausa Wirtha kao jezik posebno pogodan za strukturalno programiranje (za razliku od danas opće prihvaćene OOP metode). Baziran na temeljima programskog jezika Algol dobio je ime u čast matematičara i filozofa Blaisa Pascala. • Iako je inicijalno bio zamišljen kao jezik namijenjen učenju programiranja u školama i univerzitetima širom svijeta danas se koristi u industriji razvoja softwarea u svojoj najpoznatijoj inkarnaciji - Object Pascal, Delphi. Delphi je razvijen od strane korporacije Borland za svestrani razvoj aplikacija od sistemskih alata i igara do desktop, database i višeslojnih kompleksnih aplikacija. • Prvu implementaciju Pascala napravio je Niklaus Wirth za računalo CDC 6000 1970. u Zürichu, dok je prvi program prevodilac za Pascal napisan u SAD -u bio stvoren na University of Illinois u nadležnosti Donalsa B. Gilliesa za porodicu računala DEC PDP-11 u assembleru. Niklaus Wirth je olakšao presađivanje Pascala na druga računala tako što je stvorio kit za portiranje, što je imalo za cilj da smanji količinu posla potrebnog za stvaranje programa prevodioca s jedne porodice računala na druga. Srednja mješovita škola “Žepče” | Robert Vrbić

  3. Sintaksa, gramatika i semantika • Sintaksa definira stroga pravila pisanja riječi nekog jezika. Npr. rečenica: “Idem kući autobuzom” ima sintaksnu grešku jer jedna riječ nije ispravno napisana. • Gramatika jezika definira pravila povezivanja riječi u rečenice. Npr. rečenica: “Juče ću ići na izlet” je gramatički pogrešna iako ne sadrži greške u sintaksi. • Semantika definira značenje, odnosno smisao rečenice. Moguće je formirati sintaksno i gramatički ispravne rečenice koje su potpuno besmislene, dakle semantički pogrešne, npr.: “Dva mlada ptića plave kose sjede na banderi i umaču keks u struju.” • Sintaksa i gramatika nekog programskog jezika mogu se precizno opisati formalnim matematičkim pravilima (tzv. Backus-Naurova forma), što omogućava prevoditelju (kompilatoru) da izvrši detaljnu provjeru sintakse i gramatike napisanog programa i ukaže na eventualne greške. Sa semantikom je znatno veći problem, jer ju je praktično nemoguće u potpunosti formalizirati, tako da sematičke greške kompilator ne može otkriti, već se one otkrivaju u fazi testiranja programa. Srednja mješovita škola “Žepče” | Robert Vrbić

  4. Alfabet programskog jezika Pascal • Opis svakog programskog jezika neophodno je započeti navođenjem skupa simbola (alfabeta) od kojih se formiraju riječi i iskazi datog jezika. Alfabet pascala se sastoji od: • svih velikih (A-Z) i • malih (a-z) slova engleskog alfabeta, • cifara 0 – 9 i • posebnih (specijalnih) znakova (‘ ( ) + - * / , . : ; < > = [ ] ^ { } @ $ _ ) Srednja mješovita škola “Žepče” | Robert Vrbić

  5. Pravila pisanja programa u Pascalu • Program se sastoji od zaglavlja i bloka naredbi. U zaglavlju se definirajuime programa, sve funkcije i procedure koje se koriste, varijable, konstante i novi tipovi podataka. Zaglavlje započinje rezerviranom riječi program. Zaglavlje sadrži neophodne informacije za kompilator. Blok naredbi predstavlja pravi izvršni dio programa u kojem se definira način obrade podataka. Započinje rezerviranom riječi begin, a završava sa end. Na primjer: program imeprograma; var a,b: tip_podataka1; c,d: tip_podataka2; begin naredba_1; naredba_2; ... naredba_n; end. zaglavlje programa naredbeni blok Srednja mješovita škola “Žepče” | Robert Vrbić

  6. Pravila pisanja programa u Pascalu 2. Jedna naredba se piše u jednom redu, a naredbe se međusobno odvajaju znakom točka-zarez (;) 3. Komentari se u Pascalu pišu unutar vitičastih zagrada i namijenjeni su čovjeku-programeru, radi boljeg razumijevanja funkcionalnosti, a ne računalu. Kompilator sadržaj unutar vitičastih zagrada prilikom prevođenja ignorira i on ne ulazi u izvršni kod. Srednja mješovita škola “Žepče” | Robert Vrbić

  7. Riječi programskog jezika Pascal • Sve riječi koje Pascal poznaje dijele se na: • Ključne (rezervirane), • Predefinirane i • Korisnički definirane riječi (identifikatori). • Sve riječi Pascala sastoje se isključivo od slova engl. alfabeta i cifara pri čemu cifra ne smije biti na prvoj poziciji. Riječi moraju biti međusobno razdvojene barem jednom prazninom ili nekim znakom koji ne tvori riječ (npr. , + : ). • Ključne riječi su one riječi koje predstavljaju srž svakog pascal programa. One imaju točno i unaprijed definirana značenja, koja je nemoguće promijeniti. Standardni Pascal posjeduje 35 ključnih riječi, dok Turbo Pascal posjeduje nešto više. • Predefinirane riječi su one riječi koje posjeduju unaprijed definirano značenje, koje je moguće promijeniti. Pascal posjeduje prilično velik broj predefiniranih riječi (turbo Pascal ih ima preko 1000). • Korisnički definirane riječi (identifikatori) ne posjeduju nikakvo unaprijed predviđeno značenje, nego ga definira sam programer. Srednja mješovita škola “Žepče” | Robert Vrbić

  8. Iskazi i komentari • Iskazi (izjave) programskog jezika Pascal mogu sadržavati konstante, riječi, operatore i separatore, na način koji je propisan pravilima jezika. Iskazi služe za opis strukture podataka koji će se koristiti u programu (deklarativni iskazi), kao i za opis postupaka koji će se obavljati nad podacima definiranim deklarativnim iskazima. Operatori su znakovi kojima se definira neka operacija (+ - zbrajanje, * - množenje i sl.), dok su separatori znakovi za razdvajanje cjelina (, ; : i sl.). Naročito je značajan u pascalu separator ; kojim se međusobno razdajaju iskazi. • Komantar je specičan dio programskog jezika čija je osnovna svrha da program učini razumljivim i za druge. Komentari služe i samim programerima jer nakon određenog vremena i sam autor programa zaboravi što je točno u kojoj programskoj liniji, pogotovo ukoliko se radi o kompliciranijim programima sa velikim brojem programskih linija.Komentar se može javiti u bilo kojem dijelu programa s tim da mora biti omeđen znakovima {. Unutar vitičastih zagrada se može nalaziti bilo kakav tekst, koji ne predstavlja dio programa i ne prevodi se. {ovo je komentar s:=s+i; {povećati sumu za vrijednost varijable i Srednja mješovita škola “Žepče” | Robert Vrbić

  9. Konstante • Fiksne odnosno nepromjenljive vrijednosti nazivamo konstante. U Pascalu konstante se definirajuna sljedeći način: CONST ime=vrijednost; • gdje CONST predstavlja rezerviranu riječ kojaoznačava da slijedi definicija konstanti. • Ime konstante se u programu ravnopravno koristi sa vrijednostite konstante. Deklaracijom konstante se nekoj memorijskoj lokaciji pridružue naziv konstante a vrijednostkonstante je sadržaj te lokacije. • Primjer: CONST istina=true; pi=3.14159; inch=2.54; Srednja mješovita škola “Žepče” | Robert Vrbić

  10. Promjenljive (varijable) • Promjenljiva ili varijabla je vrlo važan pojam u programiranju. Osnovne karakteristike promjenlive su njeno ime i vrijednost. Promjenjiva omogućava da se nekoj memorijskoj lokaciji pridruži ime promjenjivepri čemu je sadržaj te memorijske lokacije vrijednost promjenjive. • Promjenjive u PASCAL -u se deklariraju pomoću rezervirane riječi VAR, nakon koje slijedi listapromjenjivih odgovarajućih tipova. Svaka promjeniva koja se koristi u programu mora biti deklarirana, inače će kompajler javljati greške. • Primjer: VARocjena: integer; prosjek:real; slovo: char; Srednja mješovita škola “Žepče” | Robert Vrbić

  11. Tipovi podataka • Svaka promjenljiva mora imati svoj tip podataka koji određuje skup vrijednosti (domenu) koje promjenljiva može uzimati. Svi tipovi podataka u Pascalu se mogu podijeliti na proste tipove i složene tipove. • U proste tipove podataka spadaju sljedeći tipovi podataka: • CJELOBROJNI TIP • REALNI TIP • ZNAKOVNI TIP • LOGIČKI (BOOLOV) TIP • POBROJANI I • INTERVALNI TIP. • Prva četiri navedena tipa su osnovni tipovi,a preostala dva su izvedeni tipovi podataka. Srednja mješovita škola “Žepče” | Robert Vrbić

  12. Cjelobrojni tip - INTEGER • Cjelobrojni tip podataka (integer) se koristi za prikaz cijelih brojeva. • Domen vrijednosti za podatke ovog tipa u većini verzija Pascala je ograničen na opseg vrijednosti od -32768 do 32767, međutim ovaj opseg često nije dovoljan pa mnoge verzije Pascala uvode i tip longint, koji je dopušta znatno širi opseg vrijednosti – od -2147483648 do 2147483647. • Pored ova dva cjelobrojna tipa postoji još nekoliko tipova za rad sa cijelim brojevima: byte, shortint, word. Srednja mješovita škola “Žepče” | Robert Vrbić

  13. Cjelobrojni tip - INTEGER • Primjer deklariranja cjelobrojne promjenljive: var broj: integer; var a: longint; • Ukoliko je potrebno deklarirati više varijabli istog tipa tada nazive promjenljivih odvajamo zarezom. Na primjer: var prvi, drugi, treci, cetvrti, peti: integer; • Na podacima tipa integer definirane su sljedeće operacije: • (+) zbrajanje dva cijela broja - rezultat je cijeli broj • (-) oduzimanje dva cijela broja - rezultat je cijeli broj • (*) množenje dva cijela broja - rezultat je cijeli broj • (DIV) cjelobrojno dijeljenje bez ostatka - rezultat je cijeli broj • (MOD) ostatak dijeljenja dva cijela broja - rezultat je cijeli broj Srednja mješovita škola “Žepče” | Robert Vrbić

  14. Realni tip - REAL • Realni tip predstavlja konačni podskup skupa racionalnih brojeva. Ovaj tip omogućava zaposivanje decimalnih brojeva npr. -3.56, 3567.987, -0.099999 ... • Vrlo velike i male vrijednosti realnih brojeva zapisuju se u sljedećem obliku: mantisa*10eksponent • Ovakav način zapisivanja brojeva poznat je kao način pisanja sa pokretnim zarezom, gdje eksponent pokazuje za koliko mjesta treba pomaknuti decimalnu točkuulijevo ili udesno ovisno o tome da li je eksponent pozitivan ili negativan. Na računalu broj u pokretnom zarezu se zapisuje u obliku: mantisa E predznak eksponent npr. 2.5E4 - vrijednost 2.5 x 104=2.5 x 10000=25000 1.0E-4 - vrijednost 1.0 x 10-4=0.0001 • Primjer deklariranja realne prmjenljive: var a: real; ili var a,b,c: real; Srednja mješovita škola “Žepče” | Robert Vrbić

  15. Realni tip - REAL • Nad ovim tipom su definirani sljedeći operatori: • (+)za zbrajanje realnih brojeva • (-)za oduzimanje realnih brojeva • (*)za množenje realnih brojeva • (/)za dijeljenje realnih brojeva • Kao i u slučaju cjelobrojnih podataka Pascal i za realne vrijednosti pruža više podtipova podataka koji se razlikuju po opsegu vrijednosti (preciznosti): real, single, double, extended. Srednja mješovita škola “Žepče” | Robert Vrbić

  16. Realni tip - REAL • Bitno je napomenuti da realni tip “troši” znatno više memorije od cjelobrojnog (od 2 do pet puta), stoga ukoliko znamo da neki podatak može uzimati samo cjelobrojne vrijednosti tako ga treba i deklarirati kako bi se program efikasnije izvršavao. • Primjer deklariranja dvije cjelobrojne i dvije realne varijable: var a,b: integer; c,d: real; Srednja mješovita škola “Žepče” | Robert Vrbić

  17. Znakovni tip - CHAR • Ovu grupu podataka čine znakovi:slova abecede, numerički znakovi od 0 do 9, znakovi interpunkcija i specijalni znakovi. • Znakovna konstanta sastoji se od znaka ograničenog jednostrukim navodnicima (literalima), na primjer:'B' ‘b' 'Z' ' # ' '@' '10' • Primjer deklaracije znakovne promjenljive: var znak: char; • Ovako deklarirana varijabla u jednom trenutku može sadržavati samo jedan znak, što znači da u ovako deklariranu promjenljivu nije moguće smjestiti npr. riječ “klasa”. Da bi se prevazišlo ovo ograničenje mnoge verzije uvode i tip string koji omogućava unos podatka dužine do 255 znakova. Dakle, ako deklariramo promjenljivu ime na sljedeći način: var ime: string; moći ćemo joj dodijeliti npr. Vrijednost “Pero Perić”. • Tip podataka string NIJE prosti tip podataka, mada je srodan znakovnom. Srednja mješovita škola “Žepče” | Robert Vrbić

  18. Logički tip - BOOLEAN • U programima je potrebno ispitivati točnost određenih uvjeta i na temelju toga donositi određene odluke. Rezultat provjere upita je točno (true) ili netočno (false) i te dvije vrijednosti su domen vrijednosti logičkog tipa. • Računalo ove vrijednosti interpretira na sljedeći način: true- 1, false - 0, tako da se u literaturi mogu naći i termini logička 0 i logička 1. • Primjer deklaracije logičke varijable: var ozenjen: boolean; čime je deklarirana promjenljiva ozenjen koja može imati samo dvije vrijednosti – true ili false. • Nad ovim tipom su definirani sljedeći operator: NOT - negacija, AND - konjunkcija i OR - disjunkcija. • Operator NOT je unarni operator (operator nad samo jednom vrijednosti), a AND i OR su binarni operatori (izvršavaju se nad dva operanda). Srednja mješovita škola “Žepče” | Robert Vrbić

  19. Osnovne naredbe Pridruživanje vrijednosti • Nekoj promjenivoj x dodjeljuje se vrijednost pomoću iskaza pridruživanja koji ima oblik: x:=izraz; gdje je x promjenjiva kojoj se dodjeljuje vrijednost izraza sa desne strane, npr. x:=a+b; prosjek:=sumaocjena/brojocjena; s:=s+i; a:=15; b:=sqrt(a);... Srednja mješovita škola “Žepče” | Robert Vrbić

  20. Osnovne naredbe Naredbe za unos • Naredba pascala kojom se osigurava čitanje (unos) podataka je read odnosno readln • Sintaksa naredbe readln je: readln(lista promjenjivih); npr. readln(a,b,c,d); • Sintaksa naredbe read je ista kao i kod naredbe readln, međutim ove dvije naredbe se razlikuju i to po tome što se nakon izvršavanja naredbe readln pokazivač za učitavanje novog podatka pomjera na početak novog reda, što kod naredbe read nije slučaj. Srednja mješovita škola “Žepče” | Robert Vrbić

  21. Osnovne naredbe Naredbe za ispis • Ispis poruka, vrijednosti neke promjenljive ili rezultata obrade vrši se pomoću naredbi write i writeln. Naredba writeln ima oblik: writeln(lista promjenjivih, konstanti, izraza); pri čemu su promjenljive, konstante i izrazi uzagradi odvojeni zarezima. • Primjeri: writeln ('a=',5,'b=',3); writeln(‘P=‘,p); writeln(‘Zbroj je: ‘;a+b); writeln(‘Pascal’); writeln(x:5:2); za ispis varijable x rezervirano je 5 mjesta, od čega 2 za decimale. • Ako vrijednost broja zauzima više pozicija nego što je to predviđeno u iskazu write tada se zadani format. Srednja mješovita škola “Žepče” | Robert Vrbić

  22. Vježba • Izradi algoritam i napiši program u Pascalu za izračun i ispis vrijednosti površine i opsega kvadrata za proizvoljnu vrijednost stranice a. • Izradi algoritam i program u Pascalu za pretvaranje unijetog broja sati u minute i sekunde. • Izradi algoritam i program u Pascalu kojim se izračunava brzina kretanja (u km/h) ako se zadaju pređeni put (u km) i potrebno vrijeme (u satima). Rezultat – brzinu prikazati i u m/s. Srednja mješovita škola “Žepče” | Robert Vrbić

  23. Standardne funkcije • abs (x)Apsolutna vrijednost • sqr (x)Kvadrat broja x • sqrt (x) Kvadratni korijen • trunc (x)Odsijecanje decimalnog dijela realnog broja,npr. trunc (3.75) je 3 • round (x)Zaokruživanje realne vriujednosti na cjelobrojnunpr. round(3.75) je 4 • sin (x) Sinus od x • cos (x) Kosinus od x • atan (x)Arkus tangens • ln (x)Prirodni logaritam od x • exp (x) Eksponencijalna funkcija čiji je eksponent x • int(x) Cijeli dio broja x, prikazan kao realan broj • frac (x) Decimalni dio realnog broja x • pred (x) Prethodnik broja x • succ(x) Sljedbenik broja x Srednja mješovita škola “Žepče” | Robert Vrbić

  24. Zadaci za vježbu • Napisati program kojim se izračunava udaljenost dviju točaka u ravni. program rastojanje; uses crt; var x1,x2,y1,y2,d:real; { x1,y1 koordinate prve točke} { x2, y2 koordinate druge točke} { d rastojanje} begin crlscr; writeln(‘Unesi koordinate prve točke’); readln(x1,y1); writeln(‘Unesi koordinate druge točke’); d:=sqrt(sqr(x2-x1) + sqr(y2-y1)); writeln(‘Rastojanje između točaka je:’, d:5:3); readln; end. Srednja mješovita škola “Žepče” | Robert Vrbić

  25. Zadaci za vježbu 2. Definirati konstantu x, zatim izračunati kvadrat, kv. korijen, apsulutnu vrijednost i prirodni logaritam broja x. program standard; const x=25.0; var kv,ko,aps,prirodni:real; begin aps:=abs(x); prirodni:=ln(x); kv:=sqr(x); ko:=sqrt(x); writeln('apsolutna vr.(x)=',aps); writeln('kvadrat(x)=',kv:4:2); writeln(‘kv.korijen(x)=',ko:4:2); writeln(‘ln(x)=’,prirodni:5:3); end. Srednja mješovita škola “Žepče” | Robert Vrbić

  26. Zadaci za vježbu • Napisati program koji unijetu temperaturu u Celzijima pretvara u Farenhajte. program cel_far; uses crt; var tempC, tempF: real; begin crlscr; writeln(‘Unesi temperaturu u Celzijima’); readln(tempC); tempF:=tempC*1.8+32; writeln(‘Temperatura po Forenhajtu’, tempF:8:2) end. Srednja mješovita škola “Žepče” | Robert Vrbić

  27. Naredbe izbora (selekcije) • Iskazi selekcije omogućavaju grananje programa ovisno o ispunjenju određenog uvjeta. NAREDBA IF • Jednostruki izbor: IF logički_izraz THEN S Ako logički izraz ima vrijednost istina (true) onda će se izvršiti sekvenca naredbi S. npr. IF a>b THEN writeln('a je veće od b'); • Dvostruki izbor: IF log_izraz THEN S1 ELSE S2 Ako logički izraz ima vrijednost istina izvršiće se sekvenca S1, a ako je vrijednost logičkog izraza laž (false) izvršit će se sekvenca S2. npr.IF a>b THEN writeln('a je veće od b') ELSE writeln('b je jednako ili manje od a'); Srednja mješovita škola “Žepče” | Robert Vrbić

  28. Naredbe izbora (selekcije) NAREDBA CASE • Naredba CASE omogućava višestruko grananje programa u zavisnosti od vrijednosti selektorskog izraza. Vrijednost selektorskog izraza može biti rednog tipa (char, integer, boolean, pobrojani ili neki intervalni tip). • Sintaksa naredbe: CASE selektorski_izraz OF L1:S1; L2:S2; L3:S3; . Ln:Sn END; Srednja mješovita škola “Žepče” | Robert Vrbić

  29. Naredbe izbora (selekcije) • Naredba CASE se izvodi tako što se računa vrijednost selektorskog izraza i ako u popisu case oznaka (L1,L2,L3,...,Ln) postoji oznaka ista vrijednosti selektorskog izraza tada se izvršava pripadna naredba ili sekvenca naredbi. npr. CASE round(prosjek) OF 1: writeln('nedovoljan'); 2: writeln('dovoljan'); 3:writeln('dobar'); 4:writeln('vrlodobar'); 5:writeln('odličan') END; Srednja mješovita škola “Žepče” | Robert Vrbić

  30. Vježba • Napisati program kojim se za unijetu ocjenu ispisuje: 1 - nedovoljan, 2 - dovoljan, 3 - dobar, 4 - vrlodobar, 5 - odličan. Ovaj zadatak može se riješiti na dva načina – pomoću složene naredbe IF ili pomoću naredbe CASE . Srednja mješovita škola “Žepče” | Robert Vrbić

  31. Vježba program ocjene; var ocjena : integer; begin Writeln('Unesi ocjenu : '); Readln(ocjena); case ocjena of 1: WriteLn('Nedovoljan'); 2: WriteLn('Dovoljan'); 3: WriteLn('Dobar'); 4: WriteLn('Vrlo dobar'); 5: WriteLn('Odičan'); End; End. Srednja mješovita škola “Žepče” | Robert Vrbić

  32. Vježba program ocjene2; var ocjena:integer; begin write('unesi ocjenu: '); readln(ocjena); if ocjena=1 then writeln('nedovoljan') else if ocjena=2 then writeln ('dovoljan') else if ocjena=3 then writeln ('dobar') else if ocjena=4 then writeln ('vrlo dobar') else if ocjena=5 then writeln ('odličan') end. Srednja mješovita škola “Žepče” | Robert Vrbić

  33. Iskazi ponavljanja - petlje • Ponavljanje (petlja, iteracija) je struktura koja omogućava ponavljanje određenih aktivnosti. • FOR petlja Iskaz FOR omogućava da se neki dio algoritma ponovi točno određeni broj puta. Sintaksa ovog iskaza je: for kp:=pv to kv do iskaz; • gdje je kp - kontrolna promjenjiva koja određuje koliko će se puta izvršiti iskaz u for iskazu; • pv - početna vrijednost kontrolne promjenjive; • kv - krajnja vrijednost kontrolne promjenjive; Iskaz for se može pisati i na sljedeći način for kp:=kv downto pv do iskaz; pri čemu se iskaz izvršava za vrijednosti koje iduod krajnje do početne, odnosno od veće ka manjoj vrijednosti kontrolne promjenjive. Srednja mješovita škola “Žepče” | Robert Vrbić

  34. Iskazi ponavljanja - petlje • Primjer 1: Izraditi program kojim se ispisuje zbroj svih brojeva od 1 do 1000. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; for i:=1 to 1000 do s:=s+i; writeln('zbroj svih brojeva od 1 do 1000 iznosi',s); end. Srednja mješovita škola “Žepče” | Robert Vrbić

  35. Iskazi ponavljanja - petlje • Primjer 2: Fibonaccijev niz (Prvi Fibonaccijevi brojevi: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... – svaki sljedeći je zbroj prethodna dva broja) • Ponekad se za ovaj niz smatra da počinje na F1 = 1, ali uobičajenije je uključiti F0 = 0. • Fibonaccijevi brojevi su imenovani po Leonardu od Pise, poznatom kao Fibonacci, iako su ranije opisani u Indiji. • Fibonaccijev niz se često povezuje i sa brojem zlatnog reza fi (phi, φ), ili brojem kojeg mnogi zovu i "Božanskim omjerom". Uzmemo li jedan dio Fibonaccijevog niza, 2, 3, 5, 8, te podijelimo li svaki slijedeći broj s njemu prethodnim, dobit ćemo uvijek broj približan broju 1,618 (3/2=1,5; 5/3=1,66; 8/5=1,6). Broj 1,618 jeste broj fi. Odnosi mjera kod biljaka, životinja i ljudi, sa zapanjujućom preciznošću se približava broju fi. Srednja mješovita škola “Žepče” | Robert Vrbić

  36. Iskazi ponavljanja - petlje program Fibonacci;{ispisuje prvih 20 Fibonaccijevih br.} uses crt; var i, F1, F2, F3: integer; begin clrscr; F1:=0; F2:=1; for i:=1 to 20do begin writeln(F1); F3:=F1+F2; F1:=F2; F2:=F3; end; readln; end. Srednja mješovita škola “Žepče” | Robert Vrbić

  37. Iskazi ponavljanja - petlje • WHILE petlja Iskaz WHILE omogućava izvršavanje nekog iskaza sve dok je nekiuvjet ispunjen, odnosno istina (true). Kada uvjet prestane biti istina, prestaje i izvršavanje iskaza, odnosno iskače se iz petlje i program se nastavlja izvršavanjem iskaza koji je izvanWHILE strukture. while log_izraz do iskaz; • Vidljivo je da je moguće da se while iskaz ne izvrši niti jedanput ukoliko je vrijednost logičkog izraza odmah postavljena na false. Srednja mješovita škola “Žepče” | Robert Vrbić

  38. Iskazi ponavljanja - petlje • Primjer 3: Izraditi program kojim se ispisuje zbroj svih brojeva od 1 do 1000 primjenom while naredbe. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; i:=1; while i<=1000 do begin s:=s+i; i:=i+1; end; writeln('zbroj svih brojeva od 1 do 1000 iznosi',s); end. Srednja mješovita škola “Žepče” | Robert Vrbić

  39. Iskazi ponavljanja - petlje • REPEAT ... UNTIL petlja Iskaz REPEAT...UNTIL omogućava izvršavanje određenih akcija sve dok je uvjet (logički izraz) jednak false, tj. dok uvjet nije zadovoljen. U trenutku kada logički izraz poprimi vrijednost true prestaje izvršavanje iskaza unutar repat...until strukture. repeat naredba_1; naredba_2; ... naredba_n until uvjet; • U ovakvoj strukturi iskaz(i) će se izvršiti najmanje jednom, jer se za razliku od whilepetlje ovdje uvjet testira naknadno, tj. prvo se izvrši skupina iskazaunutar petlje, a potom se testira istinitost logičkog izraza. Srednja mješovita škola “Žepče” | Robert Vrbić

  40. Iskazi ponavljanja - petlje • Primjer 4: Izraditi program kojim se ispisuje zbroj svih brojeva od 1 do 1000 primjenom repeat ... until petlje. program suma; uses crt; var i, s: longint; begin clrscr; s:=0; i:=1; repeat s:=s+i; i:=i+1; until i>1000; writeln('zbroj svih brojeva od 1 do 1000 iznosi',s); end. Srednja mješovita škola “Žepče” | Robert Vrbić

  41. Zadaci za ponavljanje i vježbu • Izradi program kojim se ispisuju svi parni brojevi od 2 do 1000. • Izradi program kojim se računa suma svih neparnih brojeva do 1000. • Izradi program koji ispisuje sumu kvadrata svih brojeva do 50. • Napiši program koji ispisuje za sve neparne brojeve njihove kvadratne korijene, a za sve parne brojeve do 50 njihove kvadrate. • Napiši program koji od tri unijeta broja pronalazi i ispisuje najveći i najmanji. • Napiši program kojim se učitavaju tri cijela broja i ispisuju u redoslijedu: najmanji, srednji, najveći. • Napiši program kojim se ispituje da li je unijeti broj prosti broj ili ne. (Prost broj je djeljiv samo sa 1 i sa samim sobom). • Napiši program koji na ekranu ispisuje tablicu množenja za brojeve od 1 do 10 u vidu tablice 10x10. • Izradi program koji izračunava i ispisuje faktorijel unijetog broja. (n!=1 x 2 x 3 x ... X (n-1) x n tj. Umnožak svih brojeva do unijetog broja) • Napiši program za pogađanje slučajno generiranog broja (randomize). Ispisati broj pokušaja iz kojeg je pogođen “zamišljeni” broj. Srednja mješovita škola “Žepče” | Robert Vrbić

More Related