Programska petlja while

1. Petlja while

1.3. Primjer 3.

Bez upisivanja programa odgovorite na pitanje: Kada se ovaj program izvrši, što će se ispisati na zaslonu?

#include <stdio.h>
int main()
{
     int i=1,s=0;
     while(i<=5)
     {
           s+=i;
           i+=2;
     }
     printf("\nTrazeni zbroj je %d",s);
     return 0;
}

 

Rješenje

Na zaslonu će se ispisati: „Trazeni zbroj je 9“. Zašto?

1. korak

Vrijednost kontrolne varijable i je 1. Pri prvom ulasku u petlju while, provjerava se uvjet. S obzirom na to da je uvjet istinit (vrijedi da je 1 <= 5), izvršava se blok naredbi unutar naredbe while. Vrijednost varijable s uvećava se za 1 (1 je vrijednost varijable i) pa postaje 1. Nakon toga vrijednost varijable i uvećava se za 2 i postaje 3.

2. korak

Sada se program vraća na provjeravanje uvjeta 3 <= 5 i uvjet je zadovoljen. Vrijednost varijable s postaje 4 (prethodna vrijednost varijable s (1) uvećana za vrijednost varijable i (3)), a vrijednost varijable i ponovno se uvećava za 2 i postaje 5.

3. korak             

Tijekom ponovne provjere uvjeta vrijednost kontrolne varijable je 5, pa je uvjet još istinit (5 <= 5). Izvršavanjem bloka naredbi unutar while, vrijednost varijable s postaje 9 (5 + 4), a vrijednost kontrolne varijable je 7 (5 + 2).

4. korak             

Povratkom na provjeru uvjeta pokazuje se da uvjet više nije istinit (7 > 5) i izvršavanje programa nastavlja se sljedećom naredbom nakon bloka while. U našem je slučaju to naredba za ispis vrijednosti varijable s. Dakle, na zaslonu će se ispisati „Trazeni zbroj je 9“.