< Algorithmique impérative

Les structures de contrôle itératives permettent d'exécuter plusieurs fois de suite une ou plusieurs instructions. Il en existe trois distinctes.

Structure POUR

La structure POUR permet d'exécuter une instruction un nombre connu de fois. Voici la syntaxe :

POUR i DE deb A fin FAIRE
  instruction
FINPOUR

i est l'identifiant d'une variable (qui doit bien sûr être déclarée). deb et fin sont deux expressions de même type que i : ce sont les valeurs entre lesquelles i va parcourir l'ensemble des valeurs intermédiaires.

La structure s'exécute de la façon suivante :

  1. i est affecté à la valeur de deb (i←deb)
  2. si i est différent de fin alors on exécute instruction
  3. incrémenter i (i←i+1)
  4. revenir au point 2

Il est évident que pour que le programme fonctionne deb<fin.

Exemples

Dix itérations

Lexique
  i : entier
Début
  POUR i de 1 à 10 FAIRE
    Afficher(i);
  FINPOUR
FIN

Ce programme va afficher :

1
2
3
4
5
6
7
8
9
10

Structure TANTQUE

TANTQUE condition
  instruction
FINTANTQUE

condition est une expression booléenne, comme dans la structure SI condition ALORS...

Cette structure est exécutée comme suit :

  1. si condition est vraie : exécuter instruction sinon, continuer après FINTANTQUE
  2. reprendre au point 1

La boucle infinie

Il est possible grâce à cette structure de créer une boucle infinie :

TANTQUE VRAI
 instruction
FTQ

Une boucle POUR

Il est possible de simuler une boucle POUR à l'aide d'un TANTQUE

i←deb
TANTQUE i <= fin
  instruction
  i←i+1
FTQ

Exemples

Structure REPETER

REPETER
  instruction
JUSQU'A condition

condition est une expression booléenne.

Cette structure s'exécute comme suit :

  1. exécuter instruction
  2. si condition est vrai : continuer au point 3 sinon, reprendre au point 1
  3. exécuter ce qui suit le JUSQU'A

La boucle infinie

Il est possible grâce à cette structure de créer une boucle infinie :

REPETER
 instruction
JUSQU'A FAUX

Une boucle POUR

Il est possible de simuler une boucle POUR à l'aide d'un REPETER

i←deb
REPETER
  instuction
  i←i+1
JUSQU'A i=fin

Exemples

Comment déterminer la structure à utiliser ?

Le choix de la structure de contrôle se fait en fonction du nombre d'itérations à effectuer :

  • si le nombre d'itérations est déterminé à l'avance, une boucle POUR est la plus appropriée,
  • sinon :
    • si la condition de boucle ne peut être évaluée avant la première itération, ou si au moins une itération doit être exécutée, la boucle REPETER est la plus appropriée,
    • sinon la boucle TANT QUE est la plus appropriée.
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.