Comment réaliser des répétitions inconditionnelles
79
3.1 La notion de compteur de boucle
Il est possible de compter les « tours de boucle » à l’aide d’une variable entière qu’on initalise à 0 et dont on augmente la valeur de 1 à chaque tour. On peut ensuite utiliser ce compteur
de deux façons différentes :
• soit simplement pour en exploiter la valeur, aussi bien au sein des instructions de la boucle
qu’après la fin de la boucle ; nous parlerons « d’exploitation passive » du compteur,
• soit pour limiter effectivement le nombre de tours de boucle en introduisant une condition
de poursuite faisant intervenir le compteur : nous parlerons « d’exploitation active » du
compteur.
Nous allons d’abord examiner la première situation, essentiellement dans le but de vous
présenter la technique du comptage que nous appliquerons ensuite à la seconde situation.
Nous verrons alors comment cette dernière peut être simplifiée par une instruction appropriée
de répétition inconditionnelle.
3.2 Introduire un compteur dans une répétition
3.2.1 Exemple 1
Considérons à nouveau le programme de calcul de carrés du paragraphe 1.1, en supposant
que nous souhaitions indiquer à l’utilisateur combien de valeurs ont été traitées. Il nous
suffit :
• de déclarer une variable entière servant de compteur que nous nommerons ici i,
• de s’arranger pour que i possède la valeur 0 avant d’aborder la boucle,
• d’augmenter (on dit aussi « d’incrémenter ») la valeur de i d’une unité, à chaque parcours
de la boucle, en plaçant, parmi les instructions de cette dernière (la place exacte n’ayant ici
aucune importance), l’instruction :
i := i + 1
Voici ce que pourrait être le programme voulu, accompagné d’un exemple d’exécution :
entier n
// pour le nombre fourni par l’utilisateur
entier i
// compteur du nombre de valeurs traitées
i := 0
répéter
{ écrire «donnez un nombre entier : »
lire n
écrire «voici son carré : », n*n
i := i + 1
}
jusqu’à n = 0
écrire «vous avez fourni », i, «valeurs (y compris le 0 de fin)»
79
3.1 La notion de compteur de boucle
Il est possible de compter les « tours de boucle » à l’aide d’une variable entière qu’on initalise à 0 et dont on augmente la valeur de 1 à chaque tour. On peut ensuite utiliser ce compteur
de deux façons différentes :
• soit simplement pour en exploiter la valeur, aussi bien au sein des instructions de la boucle
qu’après la fin de la boucle ; nous parlerons « d’exploitation passive » du compteur,
• soit pour limiter effectivement le nombre de tours de boucle en introduisant une condition
de poursuite faisant intervenir le compteur : nous parlerons « d’exploitation active » du
compteur.
Nous allons d’abord examiner la première situation, essentiellement dans le but de vous
présenter la technique du comptage que nous appliquerons ensuite à la seconde situation.
Nous verrons alors comment cette dernière peut être simplifiée par une instruction appropriée
de répétition inconditionnelle.
3.2 Introduire un compteur dans une répétition
3.2.1 Exemple 1
Considérons à nouveau le programme de calcul de carrés du paragraphe 1.1, en supposant
que nous souhaitions indiquer à l’utilisateur combien de valeurs ont été traitées. Il nous
suffit :
• de déclarer une variable entière servant de compteur que nous nommerons ici i,
• de s’arranger pour que i possède la valeur 0 avant d’aborder la boucle,
• d’augmenter (on dit aussi « d’incrémenter ») la valeur de i d’une unité, à chaque parcours
de la boucle, en plaçant, parmi les instructions de cette dernière (la place exacte n’ayant ici
aucune importance), l’instruction :
i := i + 1
Voici ce que pourrait être le programme voulu, accompagné d’un exemple d’exécution :
entier n
// pour le nombre fourni par l’utilisateur
entier i
// compteur du nombre de valeurs traitées
i := 0
répéter
{ écrire «donnez un nombre entier : »
lire n
écrire «voici son carré : », n*n
i := i + 1
}
jusqu’à n = 0
écrire «vous avez fourni », i, «valeurs (y compris le 0 de fin)»
