Definit Loop vs Indefinite Loop
En sløjfe er en blok med kode, der gentages et bestemt antal gange, eller indtil en eller anden betingelse er opfyldt. En bestemt sløjfe er en sløjfe, hvor antallet af gange, den skal udføres, er kendt på forhånd, inden den går ind i sløjfen. 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 eller anden betingelse er opfyldt.
Hvad er en bestemt løkke?
En bestemt sløjfe er en sløjfe, hvor antallet af gange, den skal udføres, er kendt på forhånd, inden den går ind i sløjfen. Antallet af iterationer, det skal gentages, tilvejebringes typisk gennem en heltalsvariabel. Generelt betragtes for sløjfer som bestemte sløjfer. Følgende er et eksempel på en bestemt loop implementeret ved hjælp af en for loop (i Java programmeringssprog).
for (int i = 0; i <num; i ++)
{
// kroppen af for-sløjfen
}
Ovenstående sløjfe udfører sin krop et antal gange leveret af num-variablen. Dette kunne bestemmes ud fra den indledende værdi af variablen i og loop-tilstanden.
Mens sløjfer også kan bruges til at implementere bestemte sløjfer som vist nedenfor (i Java).
int i = 0;
mens jeg
{
// body of the loop
i ++;
}
Selvom dette bruger en while-loop, er dette også en bestemt loop, da det på forhånd er kendt, at loop'en vil udføre antallet af gange leveret af num-variablen.
Hvad er en ubestemt løkke?
I en ubestemt sløjfe er antallet af gange, den skal køre, ikke kendt på forhånd. Typisk vil en ubestemt løkke blive udført, indtil en eller anden betingelse er opfyldt. Mens sløjfer og gør-mens sløjfer ofte bruges til at implementere ubestemte sløjfer. Selvom der ikke er nogen specifik grund til ikke at bruge sløjfer til konstruktion af ubestemte sløjfer, kan ubestemte sløjfer organiseres pænt ved hjælp af mens sløjfer. Nogle af almindelige eksempler, som du har brug for til at implementere ubestemte sløjfer, beder om at læse et input, indtil brugeren indsætter et positivt heltal, læser et kodeord, indtil brugeren indsætter det samme kodeord to gange i træk osv.
Hvad er forskellen mellem Definite Loop og Indefinite Loop?
En bestemt sløjfe er en sløjfe, hvor antallet af gange, den skal udføre, er kendt på forhånd, inden den går ind i sløjfen, mens en ubestemt sløjfe udføres, indtil en eller anden betingelse er opfyldt, og antallet af gange, den skal udføres, vides ikke på forhånd. Ofte implementeres bestemte sløjfer ved hjælp af sløjfer, og ubestemte sløjfer implementeres ved hjælp af mens sløjfer og gør-mens sløjfer. Men der er ingen teoretisk grund til ikke at bruge sløjfer til ubestemte sløjfer og mens sløjfer til bestemte sløjfer. Men ubestemte sløjfer kunne organiseres pænt med mens sløjfer, mens bestemte sløjfer kunne organiseres pænt med for sløjfer.