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 činitinaredba
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:
- Izračunava se uvjet izvođenja (to je logički izraz i njegov rezultat može biti logička istina ili logička neistina).
- 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.
- 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!