Retour à la page d'accueil

Développement :
Algorithmique

Auteur : Jean HENRI - Dernière mise à jour : 9 octobre 2003

Pour m'écrire

Structures de boucle

Répéter - Tant que - Pour - Comment choisir une boucle

Structure Répéter

Cette structure permet de répéter une action sans que le programmeur puisse connaître, au moment de la conception, le nombre de répétitions. Il faut donc une condition qui permettra d'arrêter de répéter l'action. Cette condition dépend généralement de l'action qui est répétée.

La boucle est exécutée au moins une fois puisque la condition n'est évaluée qu'en fin de boucle.

Syntaxe :

répéter
  action(s) à effectuer
jusqu'à (condition soit vraie)

Structure Tant que

Cette structure permet de répéter une action sans que le programmeur puisse connaître, au moment de la conception, le nombre de répétitions. Il faut donc une condition qui permettra d'arrêter de répéter l'action. Dans cette structure Tant que, la boucle s'arrête lorsque la condition n'est pas vérifiée. Cette condition est évaluée AVANT d'effectuer l'action décrite dans la boucle.

Il est donc possible que la boucle ne soit pas exécutée si, dès le départ, la condition n'est pas réalisée.

Syntaxe :

tant que (condition est vraie)
  action(s) à effectuer
fin tant que

Structure Pour

Cette structure permet de répéter une action pour laquelle le programmeur connaît le nombre de répétition.

Il est donc possible que la boucle ne soit pas exécutée si, dès le départ, la condition n'est pas réalisée.

Syntaxe :

pour VariableIndex <-- ValeurDépart à ValeurFin faire
  action(s) à effectuer
fin pour

VariableIndex représente une donnée déclarée avec un type entier (ou énuméré)

ValeurDépart représente la valeur initiale qui sera contenu dans VariableIndex. Cela peut être une valeur littérale, le résultat d'un calcul ou le contenu d'une autre donnée.

ValeurFin représente la valeur finale qui sera contenu dans VariableIndex. Cela peut être une valeur littérale, le résultat d'un calcul ou le contenu d'une autre donnée.

À chaque fin de boucle, VariableIndex est automatiquement incrémentée de 1 (c'est à dire on ajoute 1 à la valeur contenue dans VariableIndex).

Le contenu de la boucle (les actions à exécuter) est exécuter si VariableIndex contient une valeur inférieure ou égale à ValeurFin. Cela veut dire que si ValeurFin < ValeurDépart, la boucle ne sera jamais exécutée !

Enfin, lorsque la structure POUR est mise en oeuvre, le contenu de VariableIndex, ValeurDépart et ValeurFin ne sont pas modifiables par le programmeur ! Il est donc impossible d'arrêter une boucle plus tôt ou plus tard que le nombre de boucles fixé au commencement de la boucle.

Critères de choix de la structure de boucle

Vous connaissez le nombre de boucles => Structure POUR
Vous ne connaissez pas le nombre de boucles, mais la boucle doit être exécutée au moins une fois => Structure RÉPÉTER
Vous ne connaissez pas le nombre de boucles, mais la boucle n'a pas besoin d'être exécutée au moins une fois => Structure TANT QUE

Une autre manière de voir les choses :

Vous connaissez le nombre de boucles => Structure POUR
Vous ne connaissez pas le nombre de boucles et la condition peut être évaluée avant de passer dans la boucle => Structure TANT QUE
Vous ne connaissez pas le nombre de boucles et la condition a besoin du traitement de la boucle pour être évaluée => Structure RÉPÉTER