Algoritamska struktura - petlje 2
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | III. Gimnazija Osijek - Informatika 1 |
Knjiga: | Algoritamska struktura - petlje 2 |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | petak, 31. siječnja 2025., 17:41 |
1. Petlje (iteracija, ponavljanje)
Često se u procesu programiranja pojavljuje potreba za ponavljanjem dijelova programa. Na primjer, postoji li potreba za unošenjem 10 brojeva, naredbu za unošenje treba pisati deset puta. Praktičnije je potrebne naredbe napisati jedanput, a pri izvođenju programa pozvati ih željeni broj puta.
Za ponavljanje dijelova programa koristimo se naredbama ponavljanja koje još nazivamo i programskim petljama. Naredbe ponavljanja sastavni su dio svakoga programskog jezika. Možemo ih podijeliti prema različitim kriterijima. S obzirom na broj ponavljanja, dijelimo ih na:
• petlje u kojima je poznat broj ponavljanja i
• petlje u kojima broj ponavljanja ovisi o uvjetu.
2. Petlja u kojoj broj ponavljanja ovisi o uvjetu
- se ne zna točan broj ponavljanja naredaba u petlji
- ne postoji kontrolna varijabla koja se mijenja ponavljanjem
- na izvršavanje petlje utječu neki vanjski parametri (npr. unošenje s tipkovnice).
- Izračunava se uvjet izvođenja (to je relacijski ili logički izraz i njegov rezultat može biti istina ili neistina).
- Ako je rezultat istinit, izvodi se blok_naredbi, a nakon toga se program vraća na naredbu dok je i izvodi od točke 1.
- Ako je rezultat neistinit, preskače se blok naredbi i program nastavlja s izvođenjem prvom naredbom iza bloka naredbi dok je.
Primjer 1.
Nakon izvođenja algoritma
vrijednost ispisana na zaslonu bit će 9.
Kako to?
Na početku se varijabli k pridruži vrijednost 3 (k = 3). Naredba dok je sada provjerava je li vrijednost varijable k jednaka broju šest ili je manja od njega (dok je (k <= 6) činiti). Budući da je ta vrijednost jednaka 3, uvjet je ispunjen i vrijednost varijable k uvećava se za 3 (k = k + 3 = 3 + 3 = 6). Sad se izvođenje programa vraća na ispitivanje uvjeta. Šest je jednako šest. Uvjet je i dalje ispunjen. To znači da će se vrijednost varijable k ponovno uvećati za 3 => k = 6 + 3 = 9. Devet je veći od šest, uvjet nije ispunjen i program nastavlja s izvođenjem prve naredbe iza naredbe ponavljanja. To je naredba izlaz(k). Sad se ispisuje broj 9.
Prikažimo postupak u tablici:
Primjer 2.
Ako prethodni algoritam zapišemo ovako:
ispisat će se vrijednosti 6 i 9.
Zbog čega?
Budući da su sad naredbe k = k + 3 i izlaz (k) u vitičastim zagradama, obje su u naredbi za ponavljanje. To znači da će se nakon svakog uvećavanja vrijednosti varijable k ta vrijednost i ispisati.
Provjeri pomoću tablice!
2.1. Primjeri algoritama
Primjer 1. Algoritam za ispisivanje zbroja znamenaka unesenog broja
Pogledajmo na konkretnom primjeru. Neka je početna vrijednost varijable broj = 137.
Primjer 3. Algoritam rastavlja uneseni broj na proste faktore.
Pomoću tablice provjeri algoritam za n = 4.