Les structures de répétition
CHAPITRE 5
90
4.7 Le compteur en dehors de la boucle
Considérons cette situation :
entier i
.....
// que vaut i ici ?
répéter pour i := 1 à 10
{
..
}
.....
// et ici ?
Il va de soi que la valeur de i n’est pas définie avant d’entrer dans la boucle, ce qui n’a rien
de bien gênant. En revanche, les choses sont moins claires en ce qui concerne la valeur de i
après la sortie de la boucle. Certains langages considéreront que celle-ci n’est pas définie. En
pratique, elle aura souvent une valeur, celle qui aura mis fin à la boucle, c’est-à-dire ici 6 si le
langage a finalement utilisé une répétition tant que et 5 s’il a utilisé une répétition
jusqu’à. Quoi qu’il en soit, il n’est pas raisonnable de chercher à exploiter cette valeur.
Côté langages
Les langages C, C++, Java, C# et PHP utilisent les mêmes structures de répétition.
Les répétitions tant que et jusqu’à
La structure de répétition tant que se présente ainsi :
while (condition)
{ .....
}
// attention : pas de point-virgule ici
La structure de répétition jusqu’à se présente ainsi :
do
{ .....
}
while (condition) ; // attention au point-virgule
// et à la condition de «poursuite»
On notera qu’ici, la condition régissant la boucle est une condition de poursuite ; il s’agira donc de la condition contraire de la condition d’arrêt que nous utilisons dans la répétition jusqu’à.
La condition est tout naturellement une expression booléenne. Mais, en C/C++, elle peut aussi être
une expression arithmétique quelconque (caractère, entière ou réelle) ; dans ce cas, toute valeur non nulle
est traitée comme « vrai » et seule la valeur nulle est traitée comme « faux ».
Précédent

- 113/370

Suivant