Programske petlje
--
9. Ugniježđena i bekonačna petlja
Petlje for se
mogu pisati jedna
unutar druge, tj. biti ugniježđene jedna unutar druge.
Pri
ulazu u vanjsku petlju, kontrolna
varijabla vanjske petlje poprima početnu vrijednost. Provjerava se uvjet vanjske petlje, pa ako je ispunjen,
ulazi se u unutarnju
petlju.
Pri
ulazu u unutarnju petlju, kontrolna
varijabla unutarnje petlje poprima početnu vrijednost,
provjerava se uvjet
unutarnje petlje, pa ako je ispunjen izvršava se
blok naredbi unutarnje
petlje.
Po
završetku bloka naredbi unutarnje petlje mijenja se vrijednost kontrolne
varijable unutarnje petlje za vrijednost
prirasta unutarnje petlje. Sve dok je zadovoljen uvjet
unutarnje petlje njen blok naredbi se opetovano ponavlja uz stalnu vrijednost
kontrolne varijable vanjske petlje.
Kada uvjet unutarnje petlje nije ispunjen izlazi
se iz unutarnje petlje i ponovo se počne izvršavati vanjska petlja. Vrijednost kontrolne varijable vanjske petlje se
mijenja za vrijednost prirasta,
provjerava se uvjet
vanjske petlje pa ako je ispunjen, ulazi se u unutarnju petlju. Sada se ponovo ponavlja opisan
postupak izvršavanja unutarnje petlje.
Sve
se ponavlja do trenutka kada uvjet vanjske petlje više nije ispunjen. Za svaku vrijednost kontrolne varijable vanjske petlje izvodi se
cjelokupna unutarnja petlja.

Može
se dogoditi da je uvjet petlje uvijek
ispunjen. Petlja će se tom slučaju izvoditi
beskonačno puta.
Da bi se izbjegla beskonačna petlja, treba:
- Zadati uvjet koji jamči konačan broj ponavljanja petlje.
- Navesti sva tri izraza u zagradi iza naredbe for.
- Izbjegavati promjenu vrijednosti kontrolne varijable petlje unutar bloka naredbi petlje.