Programska petlja while

1. Petlja while

Petlja while je petlja u kojoj je zadani uvjet na početku. Pseudojezikom zapisujemo je ovako:

dok je uvjet činiti
     naredba

Njezin je opći oblik u programskom jeziku C ovaj:

     while (uvjet izvođenja)
     {
           blok_naredbi;
     }

 

Uvjet je aritmetički, relacijski ili logički izraz. Blok naredbi u petlji se ponavlja sve dok je uvjet istinit ili različit od 0. Kada uvjet postane lažan ili jednak 0, program nastavlja izvođenje prvom naredbom nakon while bloka. S obzirom na to da se uvjet ponavljanja ispituje na početku petlje, to znači da blok naredbi unutar petlje ne mora nužno biti izvršen nijedanput.

Naredba while obično se upotrebljava kada:
  • se ne zna točan broj ponavljanja naredbi u petlji
  • ne postoji kontrolna varijabla koja se mijenja ponavljanjem
  • na izvršavanje petlje utječu neki vanjski parametri (npr. unos s tipkovnice).

Tijek izvršavanja while bloka je ovakav:
  1. Izračunava se uvjet izvođenja (to je logički izraz i njegov rezultat može biti logička istina ili logička neistina).
  2. Ako je rezultat istinit (ili različit od 0), izvodi se blok naredbi, a nakon toga se program vraća na naredbu while i izvodi od točke 1.
  3. Ako je rezultat neistinit (jednak 0), preskače se blok naredbi i program nastavlja s izvođenjem prve naredbe nakon bloka naredbi.

 

Dijagram tijeka petlje while:


Kao i u ostalim složenim naredbama, tako i kad je riječ o  while vrijedi činjenica da oznake početka i kraja bloka ({, }) nisu prijeko potrebne ako je unutar bloka samo jedna naredba!

Pri postavljanju uvjeta ne smije se zaboraviti da on mora u jednom trenutku postati neistinit. U suprotnom će program ući u beskonačnu petlju!