La boucle TANT QUE ... FAIRE (WHILE)
Dans cette section, nous décrivons le deuxième type de boucle (i.e. la boucle TANT QUE ... FAIRE). De plus, nous exhibons sa syntaxe algorithmique et nous présentons sa structure en langage C.
Description de la boucle
La boucle TANT QUE .... FAIRE est basée sur une condition d'entrée à la boucle et non pas sur le nombre de répétitions[1]. Explicitement, le traitement de la boucle est répété tant que la condition d'entrée est satisfaite (retourne Vrai), et on s'arrête dès que la condition d'entée retourne Faux. La boucle TANT QUE .... FAIRE est plus générale que la boucle POUR ... FAIRE, et peut être utilisée dans plus de cas.
Syntaxe : La boucle TANT QUE .... FAIRE
La syntaxe de la boucle TANT QUE .... FAIRE est la suivante :
TANT QUE (condition) FAIRE
Traitement ;
FIN TANT QUE ;
Ou en langage C :
WHILE (condition)
{
Traitement ;
} ;

Remarque : Plus de détails !
La boucle TANT QUE ... FAIRE comporte trois partie obligatoires, à savoir : l'initialisation de la condition, vérification de la condition, et mise à jour de la condition.
La boucle POUR ... FAIRE peut être transformée en une boucle TANT QUE ... FAIRE. Mais, le contraire n'est pas toujours réalisable.
Si on transforme une boucle POUR ... FAIRE en une boucle TANT QUE ... FAIRE, l'initialisation et l'incrémentation du compteur de répétitions doit se faire manuellement dans la nouvelle forme de la boucle. De plus, l'incrémentation peut se faire avec n'importe quel pas souhaité.
Exemple : Affichage de plusieurs valeurs (autre méthode)
Nous reprenons le même exemple ci-dessus, mais cette fois, la solution est donnée avec la boucle TANT QUE ... FAIRE.
ALGORITHME Affiche ;
VAR n : Entier ;
DÉBUT
n <- 50 ; (* Initialisation de la condition*)
TANT QUE (n <= 100) FAIRE (* Vérification de la condition*)
ÉCRIRE (n) ;
n <- n+1 ; (* Mise à jour de la condition*)
FIN TANT QUE ;
FIN.
Attention : Être vigilant !
Dans une boucle TANT QUE ... FAIRE :
Si nous oublions la mise à jour de la condition, nous obtenons une boucle infinie (une boucle exécutée sans arrêt).
Si condition d'entrée à la boucle est fausse dès le départ on n'entre pas dans la boucle et l'action ne sera jamais exécutée.
Exemple : Calcul de sommes
Calculer les sommes suivantes : S1 = 1+2+3+........+n, et S2 =12+32+52 ... +n2.
ALGORITHME Somme ;
VAR n, i, j, S1, S2 : Entier ;
DÉBUT
ÉCRIRE ('Donnez la valeur de n');
LIRE (n) ;
S1 <- 0 ;
i <- 1 ;
TANT QUE (i <= n) FAIRE
S1 <- S1 + i;
i <- i + 1;
FIN TANT;
S2 <- 0;
j <- 1;
TANT QUE (j <= n) FAIRE
S2 <- S2 + carré (j);
j <- j + 2;
FIN TANT;
FIN.