Chapitre 3 : Structures répétitives (boucles)

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.

SyntaxeLa boucle TANT QUE .... FAIRE

La syntaxe de la boucle TANT QUE .... FAIRE est la suivante :

1
TANT QUE (condition) FAIRE
2
 Traitement ;
3
FIN TANT QUE ; 

Ou en langage C :

1
WHILE (condition)
2
{
3
  Traitement ;
4
} ;
Organigramme de la boucle TANT QUE... FAIRE.

RemarquePlus 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é.

ExempleAffichage 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.

1
ALGORITHME Affiche ;  
2
VAR  n : Entier ; 
3
DÉBUT
4
 n <- 50 ; 					(* Initialisation de la condition*) 
5
 TANT QUE (n <= 100) FAIRE		(* Vérification de la condition*) 
6
  ÉCRIRE (n) ; 
7
  n <- n+1 ; 			(* Mise à jour de la condition*) 
8
 FIN TANT QUE ; 
9
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.

ExempleCalcul de sommes

Calculer les sommes suivantes : S1 = 1+2+3+........+n, et S2 =12+32+52 ... +n2.

1
ALGORITHME Somme ;  
2
VAR  n, i, j, S1, S2 : Entier ;
3
DÉBUT
4
 ÉCRIRE ('Donnez la valeur de n');
5
 LIRE (n) ; 
6
 S1 <- 0 ;
7
 i <- 1 ;
8
 TANT QUE (i <= n) FAIRE
9
  S1 <- S1 + i;
10
  i <- i + 1;
11
 FIN TANT;
12
 S2 <- 0;
13
 j <- 1;
14
 TANT QUE (j <= n) FAIRE
15
  S2 <- S2 + carré (j);
16
  j <- j + 2;
17
 FIN TANT;
18
FIN.
  1. 7

    L. Goldschlager and A. Lister. Informatique et algorithmique. InterEditions. 1986.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)