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.