Programmeren in BASIC/DO ... LOOP

Als je iets meerdere malen wil herhalen, kan je gebruik maken van GOTO. Een programma om een wachtwoord te blijven controleren tot het goed is, zal er zo uitzien:

dim wachtwoord as string
checkpoint:
' als het wachtwoord nog niets bevat geef je deze regel
if wachtwoord = ""
 input "geef uw wachtwoord", wachtwoord
' als het wachtwoord al iets bevat en dus fout is ingegeven krijg je dit
else
 input "uw wachtwoord klopte niet, probeer het opnieuw", wachtwoord
end if
' In dit geval zou het wachtwoord wikibooks moeten zijn
if wachtwoord = "wikibooks"
 print "Uw wachtwoord klopt, welkom"
else
 goto checkpoint
end if

Als we hetzelfde willen doen met een do ... loop-lus, zou een programma dat hetzelfde uitvoert er ongeveer zo uitzien:

dim wachtwoord as string
input "geef uw wachtwoord", wachtwoord
do until wachtwoord = "wikibooks"
 input "uw wachtwoord klopte niet, probeer het opnieuw", wachtwoord
loop
print "Uw wachtwoord klopt, welkom"

WHILE of UNTIL

bewerken
  • WHILE gebruik je als je iets wil uitvoeren zolang er aan een bepaalde voorwaarde is voldaan
  • UNTIL gebruik je als je iets wil uitvoeren tot er aan een bepaalde voorwaarde is voldaan

voorwaarde achter DO of achter LOOP

bewerken

Je kan je voorwaarde zowel achter de DO als achter de LOOP plaatsen, het verschil is dat als je de voorwaarde achter de DO plaatst en er is op voorhand al aan de voorwaarde voldaan dan slaat hij de lus over. Als je de voorwaarde achter de LOOP plaatst dus zo:

do
loop until x<>0

dan wordt de lus minstens 1 keer uitgevoerd.

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.