Gambas 3/Gambas3LeLangage/Les boucles WHILE

Les boucles WHILE

modifier

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 !

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

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 !