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.