La difference est essentielle, et c'est une question d'examen classique.
6. La saisie controlee
C'est l'usage le plus naturel de cette boucle : on doit forcement demander une premiere fois.
Repeter
Lire(note);
Jusqu'a(note >= 0 ET note <= 20)
La saisie est repetee tant que la note n'est pas valide.
7. Un calcul iteratif : la methode de Newton-Raphson
Cette methode calcule une approximation d'une racine carree. On repete le calcul jusqu'a atteindre
la precision voulue.
k <- 0;
Repeter
xn <- (x0 + c/x0) / 2;
pas <- x0;
x0 <- xn;
k <- k + 1;
Jusqu'a(abs(xn - pas) <= prec)
Le principe : une estimation est calculee, l'erreur est mesuree, et si elle reste trop grande
une nouvelle iteration est lancee. Une premiere estimation est forcement necessaire :
REPETER est donc la structure adaptee.
8. Les erreurs frequentes
Oublier de modifier la variable de controle : la condition n'est jamais
satisfaite, la boucle devient infinie.
Ecrire une mauvaise condition de sortie. Avec REPETER, on ecrit la
condition qui met fin a la boucle, et non celle qui la poursuit.
Confondre condition d'arret et condition de repetition. C'est l'erreur la plus
courante au passage de TANTQUE a REPETER.
A retenir
REPETER…JUSQU'A possede une condition de sortie
Le bloc est execute au moins une fois
La condition est testee a la fin de chaque iteration
Structure adaptee aux saisies controlees et aux calculs iteratifs
Exercices d'application
Exercice 1. Saisie d'un age valideDemandez un age jusqu'a obtenir une valeur entre 0 et 120. Utilisez REPETER et expliquez pourquoi c'est le bon choix.
Exercice 2. Deviner un nombreL'ordinateur pense a un nombre. L'utilisateur propose jusqu'a trouver. Affichez « plus grand » ou « plus petit ».
Exercice 3. Comparer les deux bouclesEcrivez le meme affichage de 1 a 5 avec TANTQUE puis avec REPETER. Partez ensuite de i <- 10 et comparez les resultats.
Cherchez avant de regarder la solution : c'est en butant sur les difficultes que l'on progresse.
Questions / Réponses
Aucune question. Soyez le premier à poser une question.