La répétition inconditionnelle
87
4.3 Utiliser le compteur dans une répétition inconditionnelle
Dans une répétition inconditionnelle, la variable citée comme compteur est une variable
comme n’importe quelle autre. On peut donc en utiliser la valeur dans la répétition. Voici
comment nous pourrions réécrire le programme du paragraphe 4.1.2 en affichant le numéro
du nombre à lire (cette fois, nous avons bien pris soin d’afficher 1er et non 1ème) :
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
répéter pour i := 1 à nv
{ si i = 1 alors écrire «donnez un 1er nombre entier :»
sinon écrire «donnez un », i, «ème nombre entier :»
lire n
écrire «voici son carré : », n*n
}
écrire «fin du programme»
combien de valeurs à traiter :
2
donnez un 1er nombre entier :
40
voici son carré : 1600
donnez un 2ème nombre entier :
6
voici son carré : 36
fin du programme
Affichage des carrés d’un nombre donné de valeurs fournies en données (boucle pour) (2)
4.4 Éviter d’agir sur le compteur dans la boucle
Lorsque dans un programme, vous rencontrez une instruction telle que :
répéter pour i := 1 à 20
vous pouvez raisonnablement vous attendre à ce que les instructions concernées soient effectivement répétées 20 fois. Ce sera généralement le cas. Toutefois, certaines maladresses pourraient compromettre cela. Nous vous proposons d’examiner les plus courantes.
Si vous écrivez :
répéter pour i := 1 à 20
{ lire a
i := i - 1
écrire a
}
87
4.3 Utiliser le compteur dans une répétition inconditionnelle
Dans une répétition inconditionnelle, la variable citée comme compteur est une variable
comme n’importe quelle autre. On peut donc en utiliser la valeur dans la répétition. Voici
comment nous pourrions réécrire le programme du paragraphe 4.1.2 en affichant le numéro
du nombre à lire (cette fois, nous avons bien pris soin d’afficher 1er et non 1ème) :
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
répéter pour i := 1 à nv
{ si i = 1 alors écrire «donnez un 1er nombre entier :»
sinon écrire «donnez un », i, «ème nombre entier :»
lire n
écrire «voici son carré : », n*n
}
écrire «fin du programme»
combien de valeurs à traiter :
2
donnez un 1er nombre entier :
40
voici son carré : 1600
donnez un 2ème nombre entier :
6
voici son carré : 36
fin du programme
Affichage des carrés d’un nombre donné de valeurs fournies en données (boucle pour) (2)
4.4 Éviter d’agir sur le compteur dans la boucle
Lorsque dans un programme, vous rencontrez une instruction telle que :
répéter pour i := 1 à 20
vous pouvez raisonnablement vous attendre à ce que les instructions concernées soient effectivement répétées 20 fois. Ce sera généralement le cas. Toutefois, certaines maladresses pourraient compromettre cela. Nous vous proposons d’examiner les plus courantes.
Si vous écrivez :
répéter pour i := 1 à 20
{ lire a
i := i - 1
écrire a
}
