Določena zanka vs. Nedoločena zanka
Zanka je blok kode, ki bi se ponavljal določeno število krat ali dokler ne bi bil izpolnjen nek pogoj. Določena zanka je zanka, v kateri je pred vstopom v zanko vnaprej znano, kolikokrat se bo izvedla. V neomejeni zanki, kolikokrat se bo izvedla, ni vnaprej znano in se bo izvajala, dokler ne bo izpolnjen nek pogoj.
Kaj je določena zanka?
Določena zanka je zanka, v kateri je pred vstopom v zanko vnaprej znano, kolikokrat se bo izvedla. Število iteracij, ki jih bo ponovil, bo običajno podano s spremenljivko celo število. Na splošno velja, da so zanke for določene zanke. Sledi primer določene zanke, implementirane z uporabo zanke for (v programskem jeziku Java).
za (int i=0; i < num; i++)
{
//telo zanke for
}
Zgornja zanka bo svoje telo izvedla tolikokrat, kolikor je določeno s spremenljivko num. To je mogoče ugotoviti iz začetne vrednosti spremenljivke i in pogoja zanke.
Zanke Medtem ko lahko uporabite tudi za implementacijo določenih zank, kot je prikazano spodaj (v Javi).
int i=0;
while(i<num)
{
//telo zanke
i++;
}
Čeprav to uporablja zanko while, je to prav tako določena zanka, saj je vnaprej znano, da se bo zanka izvedla tolikokrat, kot je določeno s spremenljivko num.
Kaj je nedoločena zanka?
V nedoločeni zanki ni vnaprej znano, kolikokrat se bo izvedla. Običajno se bo izvajala nedoločena zanka, dokler ni izpolnjen nek pogoj. Zanke while in zanke do-while se običajno uporabljajo za izvajanje nedoločenih zank. Čeprav ni nobenega posebnega razloga, da ne bi uporabljali zank for za konstruiranje nedoločenih zank, bi lahko nedoločene zanke lepo organizirali z uporabo zank while. Nekaj pogostih primerov, ki bi jih morali implementirati za nedoločene zanke, je poziv za branje vnosa, dokler uporabnik ne vstavi pozitivnega celega števila, branje gesla, dokler uporabnik ne vstavi istega gesla dvakrat zapored, itd.
Kakšna je razlika med določeno in nedoločeno zanko?
Določena zanka je zanka, v kateri je pred vstopom v zanko vnaprej znano, kolikokrat se bo izvedla, medtem ko se nedoločena zanka izvaja, dokler ni izpolnjen nek pogoj in kolikokrat se bo izvedla izvršiti ni znano vnaprej. Pogosto so določene zanke implementirane z uporabo zank for, nedoločene zanke pa z uporabo zank while in do-while. Vendar ni nobenega teoretičnega razloga, da ne bi uporabljali zank for za nedoločene zanke in zank while za določene zanke. Toda nedoločene zanke bi bilo mogoče lepo organizirati z zankami while, medtem ko bi lahko določene zanke lepo organizirali z zankami for.