Nøgleforskel – for vs while-løkke
Et program er et sæt instruktioner skrevet på et programmeringssprog for at udføre en bestemt opgave. Det kan være en logisk operation eller en matematisk operation. Generelt udføres sætningerne i programmet den ene efter den anden. Nogle gange er det nødvendigt at udføre et sæt sætninger igen og igen. Kontrolstrukturerne bruges til at udføre denne opgave. To af dem er for og mens-løkke. Disse strukturer hjælper med at udføre en sekvens af kode, indtil den givne betingelse er sand. Syntaksen for for-løkken består af initialisering, testudtryk og opdateringsudtryk. Syntaksen for while-løkken indeholder testudtrykket. Denne artikel diskuterer forskellen mellem for og while loop. Den vigtigste forskel mellem for- og while-løkken er, at for-løkken kan bruges, når antallet af iterationer er kendt, og while-løkken kan bruges, når antallet af iterationer ikke kendes.
Hvad er for Loop?
For-løkken bruges i mange programmeringssprog, såsom C, Java osv. Den bruges til at udføre et sæt sætninger flere gange. Syntaksen for for-løkken er som følger.
for (initialisering; testudtryk, opdatering){
//udsagn inde i for-løkken
}
Initialiseringsudtrykket udføres kun én gang. Derefter evalueres testudtrykket. Testudtrykket kan indeholde variabler, værdier, konstanter og operatorer. Det er et boolesk udtryk. Hvis det evaluerede udtryk er sandt, udføres koden inde i for-løkken. Når slutningen af løkken er nået, udføres opdateringsudtrykket. Det kan være en stigning eller en reduktion. Testudtrykket kontrolleres igen. Hvis det evaluerede udtryk er sandt, udføres sætningerne inde i for-løkken. I slutningen af løkken udføres opdateringsudtrykket. Denne proces gentages, indtil testudtrykket er falsk. Når testudtrykket er falsk, afsluttes for-løkken, og kontrollen overføres til den næste sætning efter for-løkken.
Figur 01: Et program med for-løkke til at beregne summen af 5 tal
Ovenstående program skal finde sammenlægningen af de første fem tal, som er 1, 2, 3, 4 og 5. I for-løkken er i 1. Det er mindre end 5. Så summen beregnes. Indledningsvis er sum 0. Den lægges til i, som er 1. Totalen tildeles variabel sum. Nu er summen 1. Herefter evalueres opdateringsudtrykket. I'et øges med én. Nu er jeg 2. Det er mindre end 5. Så summen er beregnet. Den tidligere sumværdi er 1, og den lægges til i-værdien, som er 2. Nu er summen 3. Opdateringsudtrykket evalueres, og i øges med 1. Nu er det 3. Denne proces gentages. Når i bliver 6, bliver udtrykket falsk, fordi 6 ikke er lig med eller mindre end 5. Derfor afsluttes for-løkken. Til sidst udskrives summen af alle fem tal på skærmen.
What is while Loop?
While-løkken udfører målsætningerne, så længe den givne betingelse er sand. Syntaksen for while-løkken er som følger.
while(testudtryk){
//udsagn inde i while-løkken
}
While-løkken indeholder et testudtryk. Det er et boolesk udtryk. Hvis det evaluerede udtryk er sandt, udføres sætningerne inde i while-løkken. I slutningen af disse udsagn evalueres testudtrykket igen. Denne proces gentages, indtil testudtrykket bliver falsk. Når den bliver falsk, afsluttes while-løkken, og kontrollen overføres til sætningen efter while-løkken.
Figur 02: Et program med while-løkke til at beregne summen af 5 tal
Ifølge ovenstående program initialiseres summen til 0, og i initialiseres til 1. I while-løkken evalueres i-værdien. Det er mindre end 5. Så summen er beregnet. Startværdien af sum er 0. Den lægges til i værdi 1. Nu er summen 1. Så øges i værdien med én. Nu er i-værdien 2. Den er mindre end 5. Så summen er beregnet. Den aktuelle sum, som er 1, lægges til i-værdien, som er 2. Nu er summen 3. Igen øges i-værdien. Nu er i-værdien 3. Denne proces gentages. Når i-værdien bliver 6, bliver udtrykket falsk, fordi det ikke er mindre end eller lig med 5. Så while-løkken afsluttes. Til sidst udskrives sumværdien på skærmen. Hvis der ikke var nogen stigning, såsom i++, forbliver i-værdien den samme, som er 1. Den er mindre end 5. Betingelsen er altid sand. Så det vil være en uendelig løkke.
Hvad er lighederne mellem for og while-løkke?
- Både for- og mens-løkke er gentagelseskontrolstrukturer i programmering.
- Udførelsen af løkken afhænger af testudtrykket.
Hvad er forskellen mellem for og while-løkke?
for vs while Loop |
|
For-løkken er en gentagelseskontrolstruktur, der giver programmøren mulighed for effektivt at skrive en loop, der skal udføres et bestemt antal gange. | While loop er en gentagelseskontrolstruktur, der udfører målsætninger, så længe den givne betingelse er sand. |
Brug | |
For-løkken kan bruges, når antallet af iterationer er kendt. | While-løkken kan bruges, når antallet af iterationer ikke kendes. |
Initialisering | |
Initialiseringen sker én gang i for loop. | In while-løkke, hvis initialiseringssætningen er inde i løkken, udføres initialiseringen, hver gang løkken itereres. |
Oversigt – for vs while Loop
I programmering er det nogle gange nødvendigt at gentage et sæt udsagn flere gange. Der er gentagelseskontrolstrukturer for at opnå disse opgaver. To af dem er for og mens-løkke. Forskellen mellem for- og while-løkken er, at for-løkken bruges, når antallet af iterationer er kendt, og while-løkken bruges, når antallet af iterationer ikke er kendt.