Visual Basic/Herhalingsinstructies: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
JohanBeckers (overleg | bijdragen)
JohanBeckers (overleg | bijdragen)
Regel 21:
Zoals je ziet zit de herhaling in Visual Basic iets anders in elkaar dan in het normale spraakgebruik. Ook kent Visual Basic diverse vormen van herhaling:
 
# For / Next
# Do While / Loop
# Do Until / Loop
# While / End While
# For / Next
# For Each / Next
 
De laatste vorm is bedoeld voor collecties en arrays en zal bij die onderwerpen behandeld worden.
 
== For / Next ==
 
De structuur van For / Next is:
 
<div style="border:1px solid black>
For teller = <i>begin</i> To <i>einde</i> [ Step <i>stap</i> ]
[ <i>instructies</i> ]
[ Exit For ]
[ <i>instructies</i> ]
Next [ <i>teller</i> ]
</div>
 
De vermelding van<kbd> teller </kbd>na<kbd> Next </kbd>is alleen voor de duidelijkheid voor de programmeur, het maakt geen verschil in het programma. Door het vermelding is duidelijker welke<kbd> Next </kbd>bij welke<kbd> For </kbd>hoort.
 
De constructie<kbd> For / Next </kbd>wordt gebruikt om een aantal instructies een bepaald aantal keren te herhalen. Dit aantal wordt bepaald met behulp van een variabele in de<kbd> For / Next</kbd>-instructie, aangevuld met een beneden- en bovengrens. Bijvoorbeeld:
 
<pre>
For teller = 1 to 4 do
Console.WriteLine(teller "* " teller " = " teller * teller)
Next
</pre>
 
Het resultaat is:
 
<pre>
1 * 1 = 1
2 * 2 = 4
3 * 3 = 9
4 * 4 = 16
</pre>
 
Hierbij is<kbd> teller </kbd>de gebruikte variabele,<kbd> 1 </kbd>de benedengrens en<kbd> 4 </kbd>de bovengrens. De gebruikte variabele hoeft niet apart gedeclareerd te worden. Bij de<kbd> For</kbd>-instructie krijgt<kbd> teller </kbd>de waarde 1, en als<kbd> Next </kbd>wordt bereikt, wordt<kbd> teller </kbd>verhoogd met 1 en teruggesprongen naar de eerste instructie na<kbd> For</kbd>, totdat teller groter wordt dan de bovengrens. De variabele<kbd> teller </kbd>wordt ook wel <i>lusvariabele</i> genoemd. Vaak wordt als naam van de lusvariabele de letters i, j en k gebruikt.
 
De benedengrens kan vrij gekozen worden, dus de volgende constructie is ook mogelijk:
 
<pre>
For i = 10 to 12
...
Next
</pre>
 
Het is ook mogelijk om de lusvariabele niet met 1, maar met een andere waarde te verhogen, bijvoorbeeld:
 
<pre>
For i = 10 to 20 Step 5
Console.WriteLine(i)
Next
</pre>
 
Het resultaat is:
 
<pre>
10
15
20
</pre>
 
Je kunt ook omlaag tellen door achter<kbd> Step </kbd>een negatieve waarde op te geven, omdat de waarde achter<kbd> Step </kbd>wordt opgeteld bij de lusvariabele. Je moet er dan wel voor zorgen dat de beginwaarde groter is dan de eindwaarde, bijvoorbeeld:
 
<pre>
For i = 6 to -3 Step -3
Console.WriteLine(i)
Next
<pre>
 
Het resultaat is:
 
<pre>
6
3
0
-3
</pre>
 
De waarde achter<kbd> Step </kbd>hoeft geen geheel getal ze zijn, bijvoorbeeld:
 
<pre>
For i = 4.5 to7 step 0.25
' instructies
Next
</pre>
 
Zoals je ziet is deze constructie vooral handig als je de beginwaarde, de eindwaarde en de stapgrootte kent. Maar dat is niet altijd zo, daarvoor zijn de andere herhalingsinstructies bedoeld.
 
== Do While / Loop ==
 
== Do While / Loop ==
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.