Gambas 3/Gambas3LeLangage/Les boucles WHILE
Les boucles WHILE
[modifier | modifier le wikicode]Nous avons vu la boucle For
qui est utilisée lorsque vous connaissez à l'avance le nombre d'itérations à faire.
Parfois vous ne saurez pas combien de fois la boucle devra être exécutée. Dans ce cas, vous utiliserez une des structures suivantes :
While
...WEnd
pour While End (littéralement la fin de While)Repeat
...Until
Do
...Loop
Ces structures font le même travail mais le Do
... Loop
est la version la plus moderne, la plus aboutie.
Si vous ne devez retenir qu'un chose, utilisez Do
... Loop
qui est la structure la plus polyvalente et moderne !
WHILE
[modifier | modifier le wikicode]D'un point de vue algorithmique, cela donne : Tant que la condition est vraie, exécute le code suivant ... fin de la boucle.
Observez le code ci-dessous :
' Gambas module file
Public Sub Main()
While Second(Now) < 55
Print Format(Now, "s")
Sleep 1
Wend
End
L'application va fonctionner jusqu'à ce que l'heure atteigne 55 secondes !
La structure Do
... Loop
étant souple peut s'utiliser de la même façon :
' Gambas module file
Public Sub Main()
Do While Second(Now) < 55
Print Format(Now, "s")
Sleep 1
Loop
End
Toutefois, la structure de contrôle Do
... Loop
vous permet d'exécuter le code au moins une fois comme ceci :
Public Sub Main()
Do
Print Format(Now, "s")
Sleep 1
Loop While Second(Now) < 55
End
REPEAT ... UNTIL
[modifier | modifier le wikicode]Il existe une structure appelée Repeat
... Until
qui fonctionne comme ceci :
' Gambas module file
Public Sub Main()
Repeat
Print Format(Now, "s")
Sleep 1
Until Second(Now) > 55
End
Là aussi, Do
... Loop
fait le job :
' Gambas module file
Public Sub Main()
Do
Print Format(Now, "s")
Sleep 1
Loop Until Second(Now) > 55
End
Voilà, j'ai fini mon plaidoyer pour Do
... Loop
!