Énoncé
Écrire une procédure Saisir qui redemande N jusqu’à obtenir un entier entre 10 et 30, bornes incluses. Le programme principal appelle cette procédure puis affiche N.
Exemples et cas limites
Saisissez ces valeurs dans la console pour vérifier votre résultat :
Entrée
N = 9 N = 31 N = 20
Sortie attendue
20
Entrée
N = 10
Sortie attendue
10
Entrée
N = 30
Sortie attendue
30
Code algorithmique
| 1 | algorithme saisie_controlee |
| 2 | debut |
| 3 | saisir(n) |
| 4 | ecrire_nl(n) |
| 5 | // compléter le traitement demandé dans l’énoncé. |
| 6 | fin |
| 7 | |
| 8 | procedure saisir(@n : entier) |
| 9 | debut |
| 10 | // compléter le traitement demandé dans l’énoncé. |
| 11 | fin |
| 1 | algorithme saisie_controlee |
| 2 | debut |
| 3 | saisir(n) |
| 4 | ecrire_nl(n) |
| 5 | fin |
| 6 | |
| 7 | procedure saisir(@n : entier) |
| 8 | debut |
| 9 | repeter |
| 10 | ecrire("N = ") |
| 11 | lire(n) |
| 12 | jusqua 10 ≤ n ≤ 30 |
| 13 | fin |
Méthode
- Lire N dans une boucle Répéter.
- Arrêter avec Jusqu’à 10 ≤ N ≤ 30.
Comprendre la correction
Déroulement sur un exemple
- Avec les saisies 9, 31 puis 20, la procédure lit d’abord 9. La condition 10 ≤ n ≤ 30 est fausse.
- 31 est également refusé. Pour 20, les deux bornes sont respectées et la boucle se termine.
- Le paramètre @n conserve 20 dans le programme principal, qui l’affiche. 10 et 30 sont aussi acceptés.
Erreurs à éviter
- Avec OU entre les deux bornes, 9 serait accepté car 9 ≤ 30. Il faut satisfaire les deux bornes.
- Un simple SI ne redemande pas une saisie incorrecte. Répéter permet de recommencer.