315
entier nombre
écrire «donnez un entier positif inférieur à 100»
répéter
{ lire nombre
si nombre<=0 alors écrire «SVP, positif :»
si nombre >= 100 alors écrire «SVP, inférieur à 100 :»
}
jusqu’à nombre>0 et nombre<100
écrire «merci pour le nombre », nombre
On peut aussi utiliser une variable de type booléen, nommée par exemple OK, que l’on initialise à faux et à laquelle on affecte la valeur vrai lorsqu’une valeur correcte a été fournie :
booléen OK := faux
entier nombre
écrire «donnez un entier positif inférieur à 100»
répéter
{ lire nombre
si nombre>0 etnombre<100 alors ok := vrai
sinon écrire «SVP, positif inférieur à 100»
}
jusqu’à OK
écrire «merci pour le nombre », nombre
Exercice 5.3
Si l’on se contente d’utiliser le schéma donné comme équivalent à une boucle jusqu’à (paragraphe 2.3 du chapitre 5, page 76), on est conduit à écrire deux fois les mêmes instructions :
entier nombre
écrire «donnez un entier positif inférieur à 100»
lire nombre
tant que nombre <=0 ou nombre >=100 répéter
{ écrire «donnez un entier positif inférieur à 100»
lire nombre
}
écrire «merci pour le nombre », nombre
Notez qu’alors les instructions de la boucle ne sont exécutées que si la première réponse est
incorrecte.
Pour éviter de répéter deux foix les instructions figurant dans le corps de la boucle, on peut
initialiser artificiellement la variable nombre à une valeur incorrecte (par exemple -1) :
entier nombre := -1
tant que nombre <=0 ou nombre >=100 répéter
{ écrire «donnez un entier positif inférieur à 100»
lire nombre
}
écrire «merci pour le nombre », nombre
On peut aussi utiliser une variable de type booléen, ce qui est moins concis :
Précédent

- 338/370

Suivant