Pseudokod Pseudokd je tobonji program gr pseudos la
Pseudokod
• Pseudokôd je tobožnji program (grč. pseudos laž) jer premda nalikuje računalnom programu, zapravo nije napisan u programskom jeziku koji bi se mogao izravno primijeniti na bilo kojemu računalu
• Pseudokôd se sastoji od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma
• Primjer: Potrebno je poslati SMS pomoću mobilnog telefona. Psudokôd za taj zadatak mogao bi biti: Uključiti mobilni telefon Pritisnuti tipku za izbornik Na izborniku izabrati slanje poruka Napisati poruku Upisati telefonski broj primatelja poruke Pritisnuti tipku za slanje poruke
Programske strukture Upis polumjera kruga • • Upis podataka Ispis podataka Pridruživanje Grananje Ispis površine kruga X = 5
Grananje • Programska struktura koja omogućuje različiti tijek programa, ovisno o rezultatu postavljenog upita NE DA Da li je x > 0 ? x=0
Ponavljanje - određeni niz naredbi izvršava se zadani broj puta • Prije početka ponavljanja unaprijed se točno zna koliko puta postupak treba ponoviti • Broj ponavljanja ovisi o izvršavanju niza naredbi koje se ponavljaju. Tada se broj ponavljanja ne zna unaprijed
Petlja START Obrada podataka • Niz naredbi koje se ponavljaju zajedno s naredbama koje određuju ponavljanje - PETLJA
Petlja Umjesto ovoga…. Ispisati "Upiši cijeli broj" Upis broja. . . (stotinu puta bi trebalo ponoviti isto)
Petlja Pišemo ovo…. Ponoviti 100 puta petlju Ispisati "Upiši cijeli broj" Upis broja Kraj petlje
Petlja START n = 1 obrada podataka n=10? DA STOP NE n = n + 1
VRSTE INSTRUKCIJA
I. Instrukcije za početak i kraj algoritma početak, kraj početak ispiši “Počinjemo!” kraj
II. Instrukcije za ulaz i izlaz podataka Učitaj, ispiši Ili Ulaz, izlaz učitaj (A); učitaj (x, y); ispiši (“Pozdrav”); Ispiši (x+y);
III. ( : = ) Instrukcije za obavljanje operacija r : = a – b c : = (x*x+y*y)/(x+y); broj : = broj + 1;
A, x, y, a, b, c, broj – VARIJABLA (promjenjiv podatak) - Smješten u memoriji računala, poznate veličine i tipa - Vrijednost varijable tijekom izvođenja algoritma možemo mijenjati - Svakoj dodjeljujemo ime
Kod određivanja imena varijabli treba se pridržavati određenih pravila: ü Imena varijabli mogu sadržavati velika i mala slova (engleske) abecede, brojeve od 0 do 9 i znak podcrtavanja _ ü Prvi znak u imenu treba biti slovo ili _ ü Duljina imena može biti proizvoljna ü Ključne riječi pseudokoda na smiju se koristiti u imenima varijabli
Primjer pridruživanja vrijednosti varijabli: broj : = 0; broj +1 0 broj : = broj + 1; 1 Što znači broj : = broj + 1? : = znači “PRIDRUŽI” broj : = 2
Operatori i Izrazi r: =a–b +, -, *, / a div b cjelobrojno dijeljenje a mod b ostatak pri dijeljenju broja a brojem b
7 div 2 = 3 7 mod 2 = 1
Primjer 1. Izračunavanje aritmetičke sredine tri broja. početak učitaj (a, b, c) sredina : = (a+b+c)/3; ispiši (“Aritmetička sredina je : ”, sredina) kraj
Primjer 2. Izračunavanje opsega kružnice komentar početak učitaj (r) {radijus} Pi : = 3. 14; Opseg : = 2*r*Pi; ispiši (“Opseg kružnice: ”, Opseg); kraj
IV. Instrukcije za određivanje tijeka programa A. Instrukcije grananja Ako je uvjet onda. . . inače. . .
ako je x < 0 onda ispiši (“Negativan”); ako je b <>0 onda kvocijent : = a/b; ispiši (kvocijent); inače ispiši (“Dijeljenje s nulom!”);
Primjer: Ispis višekratnika broja 5 manjih od učitanog broja a te prebrojavanje koliko tih višekratnika ima. učitaj (a); broj: = 5; i : = 0; dok je broj < a radi ispiši (broj); broj : = broj + 5; i : = i + 1; ispiši (“Broj višekratnika: ”, i)
a broj i Ispis 0 5 0 Broj višekratnika: 0 5 12 21
Primjer: Ispis pri uzastopnom dijeljenju upisanog broja brojem 2 (npr. pri određivanju binarnog zapisa priridnog broja). učitaj (broj); ponavljati ispiši (“Ostatak: ”, broj mod 2) broj : = broj div 2; do broj = 0;
Broj Ispis 5 2 1 0 Ostatak : 1 Ostatak : 0 Ostatak : 1 9
Zadatak 1. Kolika je vrijednost varijable a nakon izvršenja sljedećeg algoritma: a : = 7; b : = 8; a : = a – b; b : = b + a; a : = b – a; a=8
Zadatak 2. Koju će vrijednost ispisati sljedeći algoritam za ulaz a = 1 i b = 3? učitaj (a, b); dok je 3*a<=b radi a : = b – 2; b : = b + a; ispiši (b); b = 10
Zadatak 3. Koju će vrijednost ispisati sljedeći algoritam? x : =6; S: =1; y: =0 dok je x>0 radi ako je y>0 onda y: = -y-1; inače y: =-y+1 S: =S+y; x: =x-1; ispiši (S);
- Slides: 32