Naredbe ponavljanja

2. Ponavljanje s poznatim brojem ponavljanja

Kao što je navedeno u naslovu, ova se naredba primjenjuje u zadacima u kojima je broj ponavljanja unaprijed poznat. To je najopćenitija vrsta petlje i najčešće se koristi, a ima slijedeći oblik:

za b:= p do k činiti
 naredba (blok naredbi);

b je kontrolna varijabla. Ona kontrolira broj prolazaka petljom, a njezina se vrijednost automatski mijenja svakim prolaskom kroz petlju - od početne vrijednosti (p) do krajnje vrijednosti (k). (Možemo je prikazati kao brojač koji se u svakom koraku povećava za 1. Kreće od početne vrijednosti p, a povećava se dok ne dostigne krajnju vrijednost k)

Tijek izvršavanja naredbe s poznatim brojem ponavljanja je slijedeći:

1. Kontrolna varijabla se postavlja na početnu vrijednost.
2. Provjerava se je li vrijednost kontrolne varijable manja ili jednaka od završne vrijednosti (k). Ako je rezultat istina, izvodi se blok naredbi.
3. Vrijednost kontrolne varijable uveća se za 1. Program se vraća na početak petlje, te se ona ponavlja od točke 2.
4. Ako je vrijednost kontrolne varijable veća od završne vrijednosti, blok naredbi se preskače i program se nastavlja prvom naredbom iza bloka.  

Primjer 1:

Dio programa:

za b:= 1 do 10 činiti
 izlaz ("Danas je lijep dan!");

na zaslon će 10 puta ispisati rečenicu Danas je lijep dan!

Primjer 2:

Dio programa:

za b:= 100 do 110 činiti
  izlaz (b);

na zaslon će ispisati brojeve 100, 101, 102, 103... do 110.

Naredbe ponavljanja mogu se kombinirati sa svim naredbama koje se koriste u programiranju.

Tako će, na primjer, dio programa

za b:= 1 do 20 činiti
 ako je b mod 2 = 0 onda ispis (b);

na zaslon ispisati sve parne brojeve u intervalu od 1 do 20.

Primjer 3:

Dio programa

s:=0;
ulaz
( n )
za
b:= 1 do n činiti
    s:=s+b;
izlaz (s)

na zaslon će ispisati zbroj brojeva od 1 do n.

Provjerimo!

Neka je n=4;
za b=1 => s:=0+1=1;
za b=2 => s:=1+2=3;
za b=3 => s:=3+3=6;
za b=4 => s:=6+4=10;
A to je upravo 1+2+3+4!

Primjer 4:

Dio programa

ulaz (broj)
za
b:= 1 do 4 činiti
{
     znam:=broj mod 10;
     izlaz (znam);
     broj:=broj div 10;
}

će na zaslon ispisati znamenke unesenog četveroznamenkastog broja.

Provjerimo!

Neka je broj=2314;

Za b=1 => znam = 2314 mod 10 = 4 => ispis 4 => broj = 2314 div 10 =231;
Za b=2 => znam = 231 mod 10 = 1 => ispis 1 => broj = 231 div 10 =23;
Za b=3 => znam = 23 mod 10 = 3 => ispis 3 => broj = 23 div 10 =2;
Za b=4 => znam = 2 mod 10 = 2 => ispis 2 => broj = 2 div 10 =0;
 

Na isti način možemo ispisivati znamenke troznamenkastog, peteroznamenkastog ili bilo kojeg broja kojem znamo broj znamenki. Samo mijenjamo završnu vrijednost kontrolne varijable.

Ali, što kada želimo napraviti općeniti program? Za broj kojemu ne znamo unaprijed broj znamenki?

U tom slučaju ne možemo koristiti petlju s poznatim brojem ponavljanja, već jednu od petlji kod kojih ponavljanje ovisi o uvjetu!

S tim ćemo se petljama upoznati u sljedećim lekcijama.