Programska petlja do..while
1. Petlja do..while
1.2. Primjer 2.
Koje od ovih do-while oblika nisu ispravni i zašto?
a)
i=1;do (i<=10)
{
printf("%d ",i);
i++;
}while;
b)
i=1;while
{
printf("%d ",i);
i++;
}do(i<=10);
c)
i=1;do
printf("%d ",i);
while(i<=10);
d)
i=1;do
{
printf("%d ",i);
i+=2;
} while(i<=10);
Rješenje
- Oblik a) nije ispravan jer uvjet ponavljanja u do-while petlji treba biti na kraju bloka naredbi koje se ponavljaju.
- Oblik b) nije ispravan jer ključna riječ do mora biti na početku, a while na kraju bloka naredbi.
- Oblik c) ima ispravnu sintaksu, ali ima logičku pogrešku. Kontrolna varijabla i nigdje ne mijenja svoju vrijednost, cijelo vrijeme ostaje 1. Program će ući u beskonačnu petlju. Zamijetite da u ovom primjeru nismo napisali vitičaste zagrade jer se unutar bloka do-while nalazi samo jedna naredba.
- Oblik d) je ispravan i na zaslonu će ispisati brojeve: 1, 3, 5, 7 i 9 jer se kontrolna varijabla i povećava za 2 pri svakoj promjeni vrijednosti.