La boucle POUR ... FAIRE (FOR)
Dans cette section, nous nous intéressons au premier type de boucles, à savoir la boucle POUR ... FAIRE. Pour la présenter, nous donnons sa description ainsi que sa syntaxe algorithmique et en langage C.
Description de la boucle
Nous utilisons cette boucle lorsque nous savons au préalable le nombre de tours de boucle à faire[1]. C'est le type de boucle que nous utilisons pour calculer la moyenne de 100 étudiants, ou pour éditer les fiches de paie de 1000 ouvriers par exemple.
Syntaxe : La boucle POUR ... FAIRE
La syntaxe de la boucle POUR ... FAIRE est la suivante :
POUR compteur ALLANT DE valeur_initiale A valeur_finale FAIRE
Traitement ;
FIN POUR ;
Ou en langage C :
FOR (initialisation_du_compteur; expression_de_test; mise_à_jour_du_compteur)
{
Traitement ;
}
Où :
compteur : est une variable qui compte le nombre de tours de boucle effectués.
valeur_initiale : est une valeur entière qui spécifie la valeur par laquelle on commence à compter le nombre de tours de boucle effectués.
valeur_finale : est une valeur entière qui délimite le nombre de tours de boucle à faire.
Remarque : Plus de détails !
Au départ, la variable compteur prend la valeur de valeur_initiale. En suite, sa valeur s'incrémente automatiquement de 1 à chaque tour de boucle, jusqu'à ce qu'elle dépasse la valeur de valeur_finale. De ce fait, le traitement est répété pour chacune des valeurs de compteur comprises dans l'intervalle [valeur_initiale, valeur_finale].
Exemple : Affichage de plusieurs valeurs
Afficher tous les entiers compris entre 50 et 100.
ALGORITHME Affiche ;
VAR i : Entier ;
DÉBUT
POUR i ALLANT DE 50 A 100 FAIRE
ÉCRIRE (i);
FIN POUR ;
FIN.
Exemple : Amélioration de l'algorithme Moyenne_étudiant
Présenter une version de l'algorithme Moyenne_étudiant qui calcule la moyenne d'un module pour n étudiants. Les étudiants seront numérotés de 1 à n.
ALGORITHME Moyenne_n_étudiants ;
CONST
CoefExam = 2 ;
CoefEval = 1 ;
VAR
NotExam, NotEval, Moy : Réel ;
DÉBUT
ÉCRIRE (‘Combien d'étudiants ? :') ;
LIRE (n) ;
POUR i ALLANT DE 1 A n FAIRE
ÉCRIRE (‘L'étudiant N° ‘, i) ;
ÉCRIRE (‘Donnez la note d'examen : ‘) ;
LIRE (NotExam) ;
ÉCRIRE (‘Donnez le note d'évaluation : ‘) ;
LIRE (NotEval) ;
Moy <- (NotExam * CoefExam + NotEval * CoefEval) / (CoefExam +CoefEval) ;
ÉCRIRE (‘La moyenne = ', Moy) ;
FIN POUR ;
FIN.