Algoritamska struktura - petlje 2
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!