Definite Loop vs Indefinite Loop
En løkke er en kodeblok, der ville gentages et bestemt antal gange, eller indtil en betingelse er opfyldt. En bestemt løkke er en løkke, hvor antallet af gange, den skal udføres, er kendt på forhånd, før den går ind i løkken. I en ubestemt løkke er antallet af gange, det skal udføres, ikke kendt på forhånd, og det vil blive udført, indtil en betingelse er opfyldt.
Hvad er en bestemt sløjfe?
En bestemt løkke er en løkke, hvor antallet af gange, den skal udføres, er kendt på forhånd, før den går ind i løkken. Antallet af iterationer, det vil gentage, vil typisk blive givet gennem en heltalsvariabel. Generelt anses for sløjfer for at være bestemte sløjfer. Følgende er et eksempel på en bestemt løkke implementeret ved hjælp af en for-løkke (i Java-programmeringssprog).
for (int i=0; i < num; i++)
{
//body of the for loop
}
Ovenstående løkke vil udføre sin krop et antal gange leveret af num-variablen. Dette kunne bestemmes ud fra startværdien af variabel i og sløjfebetingelsen.
While-loops kan også bruges til at implementere bestemte loops som vist nedenfor (i Java).
int i=0;
while(i<num)
{
//body of the loop
i++;
}
Selv om dette bruger en while-løkke, er dette også en bestemt løkke, da det på forhånd er kendt, at løkken kommer til at udføre det antal gange, der er givet af num-variablen.
Hvad er en Indefinite Loop?
I en ubestemt løkke er antallet af gange, det skal udføres, ikke kendt på forhånd. Typisk vil en ubestemt løkke blive udført, indtil en betingelse er opfyldt. Mens loops og do-while loops er almindeligt brugt til at implementere ubestemte loops. Selvom der ikke er nogen specifik grund til ikke at bruge for-løkker til at konstruere ubestemte løkker, kan ubestemte løkker organiseres pænt ved hjælp af while-løkker. Nogle af de almindelige eksempler, som du skal bruge for at implementere ubestemte loops, er beder om at læse et input, indtil brugeren indsætter et positivt heltal, at læse en adgangskode, indtil brugeren indsætter den samme adgangskode to gange i træk, osv.
Hvad er forskellen mellem Definite Loop og Indefinite Loop?
En bestemt løkke er en løkke, hvor antallet af gange, den skal udføres, er kendt på forhånd, før den går ind i løkken, mens en ubestemt løkke udføres, indtil en betingelse er opfyldt, og antallet af gange, den går. at udføre kendes ikke på forhånd. Ofte implementeres bestemte sløjfer ved hjælp af for-løkker, og ubestemte loops implementeres ved hjælp af while-løkker og do-while-løkker. Men der er ingen teoretisk grund til ikke at bruge for loops for ubestemte loops og while loops for bestemte loops. Men ubestemte sløjfer kunne organiseres pænt med while-løkker, mens bestemte løkker kunne organiseres pænt med for sløjfer.