DO
DO [
WHILE Condition ]
.
.
.
[
BREAK |
CONTINUE ]
.
.
.
LOOP [
UNTIL Condition ]
Répète un certain nombre d'instructions tant que la condition initiale reste vraie ou jusqu'à ce que la condition finale devienne vraie. Si ni
WHILE ni
UNTIL n’est utilisé, la boucle devient une boucle infinie dont on ne peut sortir que par l’instruction
BREAK. Si l’instruction break est manquante, dans ce cas, elle devient une boucle infinie, une condition qui est pour le moins universellement indésirable.
Partie
|
Description
|
DO
|
Toujours la première instruction de la boucle.
|
WHILE
|
Si utilisé, l'état d'une Condition doit rester vraie pour exécuter la boucle.
|
UNTIL
|
Si utilisé, l'état d'une Condition doit devenir vraie pour arrêter l'exécution de la boucle.
|
Condition
|
N'importe quelle expression booléenne.
|
BREAK
|
Sort immédiatement de la boucle et continue l'exécution du programme à la ligne suivante après la boucle.
|
CONTINUE
|
Laisse immédiatement de côté toutes les déclarations suivantes dans la boucle et saute à la fin de la boucle, la faisant recommencer depuis le début.
|
LOOP
|
Toujours la dernière instruction de la boucle.
|
Si la
Condition initiale dans une instruction
WHILE est fausse dès le départ, alors la boucle n'est pas exécutée du tout. Autrement, la boucle sera exécutée au moins une fois, même si la
Condition finale est vraie dès le début.
Exemples
' Une boucle très simple
Dim a As Integer = 1
Do While a <= 5
Print "Bonjour Monde "; a
Inc a
Loop
Bonjour Monde 1
Bonjour Monde 2
Bonjour Monde 3
Bonjour Monde 4
Bonjour Monde 5
' Même effet avec UNTIL
Do
Print "Bonjour Monde "; a
Inc a
Loop Until a = 6
Assurez-vous que la variable "a" n'ait pas une valeur supérieure à 5 à l’entrée de la boucle. "a" serait incrémenté à une valeur supérieure à 6, et le seul moyen de sortir de la boucle serait perdu. Donc pour limiter les risques de boucle infinie, utilisez plutôt "
LOOP a > 5".
Exemples
' Cette boucle n'atteindra jamais sa valeur finale
Dim a As Integer = 1
DO WHILE a <= 5
PRINT "Bonjour Monde "; a
INC a
IF a = 4 THEN BREAK
LOOP
Bonjour Monde 1
Bonjour Monde 2
Bonjour Monde 3
Voir aussi