Osnovne algoritamske strukture - petlje
Č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
3. Petlje u kojima broj ponavljanja ovisi o uvjetu
Postoje problemi u kojima ne možemo znati točan broj ponavljanja. Na primjer, želimo li izračunati zbroj znamenaka nekog broja, a ne znamo koliko ih taj broj ima, moramo pronaći drugi način rješavanja tog problema.
Takvih primjera ima još mnogo. Oni se rješavaju naredbama ponavljanja u kojima broj ponavljanja ovisi o uvjetu.
Petlju s provjerom uvjeta na početku u pseudojeziku možemo zapisati kako slijedi:
dok je (uvjet) činiti
naredba (blok_naredbi).
Naredba se u ovoj petlji ponavlja sve dok je uvjet istinit. Ako je potrebno ponavljati više od jedne naredbe, one se moraju staviti u blok.
Ova se naredba uglavnom koristi kad:
- 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).
Tijek izvršavanja bloka dok je je sljedeći:
- 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.
Nakon izvođenja algoritma
k = 3
dok je (k <= 6) činiti
k = k + 3
izlaz (k)
Algoritam
ulaz (broj)
br = 0
dok je broj <> 0 činiti
br = br + 1
broj = broj div 10
izlaz (br)
To znači da će se vrijednost varijable br povećavati, no vrijednost varijable broj ostat će nepromijenjena (nikad neće postati nula) i uvjet nikad neće postati neistinit.