Définition
La boucle répéter jusqu'à (ou do-while dans certains langages de programmation) est une structure de contrôle qui exécute un bloc d'instructions au moins une fois, puis répète ce bloc tant qu'une condition spécifiée n'est pas remplie (c'est-à-dire tant que la condition est fausse). Dès que la condition devient vraie, la boucle s'arrête.
Sa structure générale est la suivante :RÉPÉTER
Instructions à exécuter
JUSQU'À (Condition)
Contrairement à la boucle tant que, la condition est testée après l'exécution des instructions.
Méthode — Utiliser une boucle répéter jusqu'à
1. Identifier le besoin d'une exécution initiale
Déterminez si le bloc d'instructions doit impérativement être exécuté au moins une fois, avant même de vérifier une quelconque condition. Si oui, la boucle 'répéter jusqu'à' est appropriée.
2. Définir la condition d'arrêt
Formulez la condition qui, lorsqu'elle devient vraie, doit mettre fin à la répétition. C'est le critère qui indique que le travail est terminé ou que le résultat souhaité est atteint.
3. Écrire les instructions à répéter
Listez toutes les actions qui doivent être exécutées à chaque itération de la boucle. Ces instructions doivent généralement modifier des variables qui influent sur la condition d'arrêt, afin d'éviter une boucle infinie.
4. Assembler la boucle
Placez les instructions entre les mots-clés RÉPÉTER et JUSQU'À, puis ajoutez la condition d'arrêt après JUSQU'À.
Exemple résolu
Imaginons un programme qui demande à l'utilisateur de saisir un nombre entier entre $1$ et $10$. La saisie doit être répétée tant que le nombre n'est pas valide.
Voici l'algorithme correspondant :ALGORITHME SaisieValide
VARIABLES
nombre EN ENTIER
DÉBUT
RÉPÉTER
AFFICHER "Veuillez saisir un nombre entre 1 et 10 : "
LIRE nombre
JUSQU'À (nombre $\geq 1$ ET nombre $\leq 10$)
AFFICHER "Vous avez saisi : ", nombre
FIN
⚠️ Boucle infinie ou exécution incorrecte
- Mal formuler la condition d'arrêt ou d'oublier de modifier les variables qui influencent cette condition à l'intérieur de la boucle. Si la condition ne devient jamais vraie, la boucle ne s'arrêtera jamais (boucle infinie).
- Exemple :
RÉPÉTER AFFICHER "Bonjour" JUSQU'À (faux). Cette boucle affichera "Bonjour" indéfiniment car la condition 'faux' ne sera jamais vraie.
Pack Brevet Maths
Reçois 3 fiches gratuites pour préparer le Brevet
Les 3 fiches les plus importantes du programme de 3ème, en PDF prêt à imprimer. Offertes par Adil.
Pas de spam. Désinscription en un clic.
Exercice type Brevet
Écrivez un algorithme utilisant une boucle 'répéter jusqu'à' qui demande à l'utilisateur de deviner un nombre secret (fixé à $7$). Le programme doit afficher "Trop petit !" ou "Trop grand !" après chaque essai, et "Bravo, vous avez trouvé !" lorsque le nombre est deviné.
ALGORITHME DevineLeNombre
VARIABLES
nombreSecret EN ENTIER
essai EN ENTIER
DÉBUT
nombreSecret $\leftarrow 7$
RÉPÉTER
AFFICHER "Devinez le nombre secret (entre 1 et 10) : "
LIRE essai
SI essai < nombreSecret ALORS
AFFICHER "Trop petit !"
SINON SI essai > nombreSecret ALORS
AFFICHER "Trop grand !"
FIN SI
JUSQU'À (essai = nombreSecret)
AFFICHER "Bravo, vous avez trouvé ! Le nombre était bien ", nombreSecret
FIN
Questions fréquentes
Quelle est la différence principale avec une boucle 'tant que' ?
Quand utiliser 'répéter jusqu'à' plutôt que 'tant que' ?
Peut-on avoir une boucle 'répéter jusqu'à' sans instructions ?
La condition d'arrêt peut-elle être complexe ?
JUSQU'À (saisieValide ET nombrePair).Pour aller plus loin
Votre enfant bloque sur ce chapitre ?
Adil explique la méthode en 1 séance. Cours en ligne disponibles partout en France à 20€/h.