Definite Loop vs Indefinite Loop
En loop är ett kodblock som skulle upprepas ett visst antal gånger eller tills något villkor är uppfyllt. En bestämd loop är en loop där antalet gånger den ska köras är känt i förväg innan den går in i loopen. I en obestämd loop är antalet gånger den kommer att köras inte känt i förväg och den kommer att köras tills något villkor är uppfyllt.
Vad är en bestämd loop?
En bestämd loop är en loop där antalet gånger den ska köras är känt i förväg innan den går in i loopen. Antalet iterationer som den kommer att upprepa kommer vanligtvis att tillhandahållas genom en heltalsvariabel. I allmänhet anses för loopar vara bestämda loopar. Följande är ett exempel på en bestämd loop implementerad med en for-loop (i programmeringsspråk Java).
for (int i=0; i < num; i++)
{
//body of the for loop
}
Slingan ovan kommer att köra sin kropp ett antal gånger som tillhandahålls av variabeln num. Detta kan bestämmas utifrån det initiala värdet för variabel i och loopvillkoret.
While-loopar kan också användas för att implementera bestämda loopar som visas nedan (i Java).
int i=0;
while(i<num)
{
//body of the loop
i++;
}
Även om detta använder en while-loop, är detta också en bestämd loop, eftersom det är känt i förväg att loopen kommer att köras ett antal gånger som tillhandahålls av num-variabeln.
Vad är en obestämd slinga?
I en obestämd loop är antalet gånger den kommer att köras inte känt i förväg. Vanligtvis kommer en obestämd loop att exekveras tills något villkor är uppfyllt. Medan loopar och do-while loopar används vanligtvis för att implementera obestämda loopar. Även om det inte finns någon specifik anledning till att inte använda for loopar för att konstruera obestämda loopar, kan obestämda loopar organiseras snyggt med while-loopar. Några vanliga exempel som du skulle behöva för att implementera obestämda loopar är uppmaning att läsa en indata tills användaren infogar ett positivt heltal, läsa ett lösenord tills användaren infogar samma lösenord två gånger i rad, etc.
Vad är skillnaden mellan Definite Loop och Indefinite Loop?
En bestämd loop är en loop där antalet gånger den ska köras är känt i förväg innan den går in i loopen, medan en obestämd loop exekveras tills något villkor är uppfyllt och antalet gånger den går att utföra är inte känt i förväg. Ofta implementeras bestämda loopar med för loopar och obestämda loopar implementeras med while-loopar och do-while loopar. Men det finns ingen teoretisk anledning till att inte använda for loopar för obestämda loopar och while loopar för bestämda loopar. Men obestämda loopar kan organiseras snyggt med while-loopar, medan bestämda loopar kan organiseras snyggt med för loopar.