Belangrijkste verschil - voor vs While Loop
Een programma is een set instructies geschreven in een programmeertaal om een bepaalde taak uit te voeren. Het kan een logische bewerking zijn of een wiskundige bewerking. Over het algemeen worden de instructies in het programma na elkaar uitgevoerd. Soms is het nodig om een reeks verklaringen keer op keer uit te voeren. De controlestructuren worden gebruikt om deze taak te volbrengen. Twee van hen zijn for en while-lus. Deze structuren helpen om een reeks code uit te voeren totdat de gegeven voorwaarde waar is. De syntaxis van de for-lus bestaat uit initialisatie, testuitdrukking en update-uitdrukking. De syntaxis van de while-lus bevat de testuitdrukking. Dit artikel bespreekt het verschil tussen de for- en while-lus. Het belangrijkste verschil tussen de for- en while-lus is dat de for-lus kan worden gebruikt als het aantal iteraties bekend is en de while-lus kan worden gebruikt als het aantal iteraties niet bekend is.
INHOUD
1. Overzicht en belangrijkste verschil
2. Wat is voor lus
3. Wat is while-lus
4. Overeenkomsten tussen for en while-lus
5. Vergelijking naast elkaar - voor versus while-lus in tabelvorm
6. Samenvatting
Wat is voor Loop?
De for-lus wordt in veel programmeertalen gebruikt, zoals C, Java enz. Het wordt gebruikt om een reeks instructies meerdere keren uit te voeren. De syntaxis van de for-lus is als volgt.
for (initialization; test expression, update) {
// statements in de for-lus
}
De initialisatie-expressie wordt slechts één keer uitgevoerd. Vervolgens wordt de testuitdrukking geëvalueerd. De testuitdrukking kan variabelen, waarden, constante en operatoren bevatten. Het is een Booleaanse uitdrukking. Als de geëvalueerde uitdrukking waar is, wordt de code in de for-lus uitgevoerd. Nadat het einde van de lus is bereikt, wordt de update-expressie uitgevoerd. Het kan een verhoging of een verlaging zijn. Opnieuw wordt de testuitdrukking gecontroleerd. Als de geëvalueerde uitdrukking waar is, worden de instructies in de for-lus uitgevoerd. Aan het einde van de lus wordt de update-expressie uitgevoerd. Dit proces herhaalt zich totdat de testuitdrukking onwaar is. Als de testuitdrukking false is, wordt de for-lus beëindigd en wordt het besturingselement doorgegeven aan de volgende instructie na de for-lus.
Figuur 01: een programma met for-lus om de som van 5 getallen te berekenen
Het bovenstaande programma is om de sommatie te vinden van de eerste vijf getallen, die 1,2,3,4 en 5 zijn. In de for-lus is i 1. Het is minder dan 5. Dus de som wordt berekend. Aanvankelijk is som 0. Het wordt opgeteld bij i, wat 1 is. Het totaal wordt toegewezen aan variabele som. Nu is de som 1. Vervolgens wordt de update-uitdrukking geëvalueerd. De i wordt met één verhoogd. Nu is ik 2. Het is minder dan 5. De som wordt dus berekend. De vorige somwaarde is 1 en deze wordt toegevoegd aan de i-waarde die 2 is. Nu is de som 3. De update-uitdrukking wordt geëvalueerd en i wordt verhoogd met 1. Nu is het 3. Dit proces herhaalt zich. Wanneer i 6 wordt, wordt de uitdrukking false omdat 6 niet gelijk is aan of kleiner is dan 5. Daarom wordt de for-lus beëindigd. Ten slotte wordt de som van alle vijf nummers op het scherm afgedrukt.
Wat is While Loop?
De while-lus voert de target-instructies uit zolang de gegeven voorwaarde waar is. De syntaxis van de while-lus is als volgt.
while (test uitdrukking) {
// statements in de while-lus
}
De while-lus bevat een testuitdrukking. Het is een Booleaanse uitdrukking. Als de geëvalueerde expressie waar is, worden de instructies in de while-lus uitgevoerd. Aan het einde van die uitspraken wordt de testuitdrukking opnieuw geëvalueerd. Dit proces herhaalt zich totdat de testuitdrukking onwaar wordt. Als het false wordt, wordt de while-lus beëindigd en wordt het besturingselement na de while-lus aan de instructie doorgegeven.
Figuur 02: Een programma met while-lus om de som van 5 getallen te berekenen
Volgens het bovenstaande programma wordt de som geïnitialiseerd op 0 en wordt i geïnitialiseerd op 1. In de while-lus wordt de i-waarde geëvalueerd. Het is minder dan 5. De som wordt dus berekend. De aanvankelijke waarde van som is 0. Het wordt opgeteld bij i-waarde 1. Nu is de som 1. Dan wordt de i-waarde met één verhoogd. Nu is de waarde van i 2. Het is minder dan 5. Dus de som wordt berekend. De huidige som die 1 is, wordt opgeteld bij de i-waarde die 2 is. Nu is de som 3. Opnieuw wordt de i-waarde verhoogd. Nu is de i-waarde 3. Dit proces herhaalt zich. Wanneer de i-waarde 6 wordt, wordt de uitdrukking false omdat deze niet kleiner is dan of gelijk is aan 5. De while-lus eindigt dus. Ten slotte wordt de somwaarde op het scherm afgedrukt. Als er geen increment zoals i ++ was, dan blijft de i-waarde gelijk, namelijk 1. Het is kleiner dan 5. De voorwaarde is altijd waar. Het wordt dus een oneindige lus.
Wat zijn de overeenkomsten tussen For en While Loop?
- Zowel de for- als while-lus zijn herhalingscontrolestructuren bij het programmeren.
- De uitvoering van de lus is afhankelijk van de testuitdrukking.
Wat is het verschil tussen For en While Loop?
Diff Artikel Midden voor Tafel
voor vs while Loop |
|
De for-lus is een herhalingscontrolestructuur waarmee de programmeur efficiënt een lus kan schrijven die een bepaald aantal keren moet worden uitgevoerd. | De while-lus is een herhalingscontrolestructuur die doelopdrachten uitvoert zolang de gegeven voorwaarde waar is. |
Gebruik | |
De for-lus kan worden gebruikt als het aantal iteraties bekend is. | De while-lus kan worden gebruikt als het aantal iteraties niet bekend is. |
Initialisatie | |
De initialisatie vindt eenmalig plaats. | Als in de while-lus de initialisatie-instructie zich binnen de lus bevindt, wordt de initialisatie uitgevoerd elke keer dat de lus wordt herhaald. |
Samenvatting - voor vs While Loop
Bij het programmeren is het soms nodig om een reeks uitspraken meerdere keren te herhalen. Er zijn herhalingscontrolestructuren om deze taken uit te voeren. Twee van hen zijn for en while-lus. Het verschil tussen de for en while-lus is dat de for-lus wordt gebruikt als het aantal iteraties bekend is en de while-lus als het aantal iteraties niet bekend is.