Un problème souvent rencontré est la validation d'une valeur entrée par l'utilisateur. La forme la plus simple est de garantir l'appartenance de la valeur saisie à un intervalle donné. Par exemple, si la valeur saisie désigne un mois alors elle doit être comprise entre 1 et 12.
La solution la plus simple (sans faire recours à des bibliothèques) est l'utilisation d'une boucle de type Répéter ... Jusqu'à (Repeat ... Until) et ce pour deux raisons :
Ainsi, le code suivant sera suffisant :La solution la plus simple (sans faire recours à des bibliothèques) est l'utilisation d'une boucle de type Répéter ... Jusqu'à (Repeat ... Until) et ce pour deux raisons :
- Cette boucle est exécutée au moins une fois; la première lecture sera effectuée à l'intérieur de la boucle.
- Cette boucle garde l'utilisateur à l'intérieur jusqu'à ce qu'il fournit une valeur correcte.
Program ForcerEntree; Const MIN = 10; MAX = 100; var valeur : Integer; BEGIN Repeat WriteLn('Faites entrer une valeur entre ', MIN, ' et ', MAX); ReadLn(valeur); Until ((valeur >= MIN) And (valeur <= MAX)); WriteLn('Succès, vous avez saisi ', valeur); END.
L'exécution sera ainsi :