Comment réaliser des répétitions inconditionnelles
83
2 Nous avons utilisé une condition d’inégalité comme condition de poursuite. La logique
veut que l’on puisse tout aussi bien utiliser i=3 au lieu de i>=3. Cependant, la première risque, en cas d’erreur de programmation, de conduire à une boucle infinie si, par
malchance, l’égalité n’est jamais vraie. C’est pourquoi, on préfère généralement utiliser
la condition d’arrêt la plus large.
3 Il serait possible ici d’initialiser différemment notre compteur de boucle, en modifiant
la condition d’arrêt, par exemple :
i := 1
répéter
.....
jusqu’à i >= 4
// ou encore i > 3 ou encore i = 4
ou même, de façon totalement artificielle :
i = 3
répéter
.....
jusqu’à i >= 6
// ou encore i >5 ou encore i = 6
3.3.3 Exemple 3
Voici une adaptation du premier exemple, de façon qu’il puisse traiter un nombre quelconque
de valeurs, fourni préalablement par l’utilisateur. Nous avons reproduit deux exemples
d’exécution : dans le second, l’utilisateur demande 0 valeur à traiter.
entier nv
//nombre de valeurs à traiter
entier n
// pour le nombre fourni par l’utilisateur
entier i
// compteur du nombre de valeurs traitées
écrire «combien de valeurs à traiter :»
lire nv
i := 1
tant que i <= nv répéter
{ écrire «donnez un nombre entier :»
lire n
écrire «voici son carré : », n*n
i := i + 1
}
écrire «fin du programme»
combien de valeurs à traiter :
2
donnez un nombre entier :
5
voici son carré : 25
donnez un nombre entier :
11
voici son carré : 121
fin du programme
Précédent

- 106/370

Suivant