Cours Complet : Boucle TantQue et Faire…TantQue en Algorithmique
1. Les boucles conditionnelles
Contrairement à la boucle Pour (bornée), les boucles :
TantQue…Faire
Faire…TantQue
Sont des boucles non bornées
- On ne connaît pas à l’avance le nombre de répétitions.
- Elles dépendent d’une condition logique.
2. Boucle TantQue…Faire
Principe
La condition est testée AVANT l’exécution du bloc.
Si la condition est fausse au départ, la boucle ne s’exécute jamais.
Structure générale
TantQue condition Faire
Instructions
FinTantQue
Fonctionnement
1. On teste la condition.
2. Si elle est vraie → on exécute les instructions.
3. On revient tester la condition.
4. On répète jusqu’à ce que la condition devienne fausse.
Exemple 1 : Ecrire un algorithme qui compte les nombres de 1 à 5
Algorithme Compteur
Variable i : entier
Début
i←1
TantQue i ≤ 5 Faire
Afficher i
i←i+1
FinTantQue
1
Fin
Exemple 2 : Mot de passe
Algorithme MotDePasse
Variable mdp : chaine
Début
Lire mdp
TantQue mdp ≠ "1234" Faire
Afficher "Incorrect"
Lire mdp
FinTantQue
Afficher "Accès autorisé"
Fin
3. Boucle Faire…TantQue
Principe
La condition est testée APRÈS l’exécution du bloc.
Le bloc s’exécute au moins une fois.
Structure générale
Faire
Instructions
TantQue condition
Fonctionnement
1. On exécute les instructions.
2. On teste la condition.
3. Si vraie → on recommence.
4. Si fausse → on sort.
Exemple 1 : Compter de 1 à 5
Algorithme Compteur2
Variable i : entier
Début
i←1
2
Faire
Afficher i
i←i+1
TantQue i ≤ 5
Fin
Exemple 2 : Saisie obligatoire
Algorithme NoteValide
Variable note : réel
Début
Faire
Lire note
TantQue note < 0 OU note > 20
Afficher "Note valide"
Fin
Ici, la saisie se fait au moins une fois.
4. Différence entre les deux boucles
Critère TantQu Faire…TantQue
e
Test de la condition Avant Après
Peut ne jamais s’exécuter ? Oui Non
S’exécute au moins une fois ? Non Oui
5. Quand utiliser chaque boucle ?
Utiliser TantQue si :
La condition doit être vérifiée avant d’entrer
On peut ne jamais exécuter le bloc
Utiliser Faire…TantQue si :
L’action doit être faite au moins une fois
Cas de saisie obligatoire
Menus interactifs
6. Exemple pratique : Menu interactif
Algorithme Menu
3
Variable choix : entier
Début
Faire
Afficher "1. Ajouter"
Afficher "2. Supprimer"
Afficher "0. Quitter"
Lire choix
TantQue choix ≠ 0
Fin
PARTIE 1 : Exercices Fondamentaux (Boucles TantQue / Faire…TantQue)
Exercice 1 : Affichage croissant
Écrire un algorithme qui affiche les nombres de 1 à 10 en utilisant une boucle TantQue.
Exercice 2 : Affichage décroissant
Écrire un algorithme qui affiche les nombres de 10 à 1 en utilisant une boucle TantQue.
Exercice 3 : Calcul de somme
Écrire un algorithme qui calcule et affiche la somme des nombres entiers de 1 à 100 en
utilisant une boucle TantQue.
Exercice 4 : Vérification de mot de passe
Écrire un algorithme qui demande à l’utilisateur de saisir un mot de passe.
Le programme doit redemander le mot de passe tant que celui saisi est incorrect.
L’accès est autorisé uniquement si le mot de passe est correct.
Exercice 5 : Validation de note
Écrire un algorithme qui demande à l’utilisateur de saisir une note comprise entre 0 et 20.
La saisie doit être répétée tant que la note n’est pas valide.
Utiliser une boucle Faire…TantQue.
Exercice 6 : Calcul de factorielle
Écrire un algorithme qui demande un nombre entier positif n et calcule sa factorielle en
utilisant une boucle TantQue.
Exercice 7 : Nombre de chiffres
Écrire un algorithme qui détermine et affiche le nombre de chiffres d’un entier saisi par
l’utilisateur.
Exercice 8 : Menu interactif
4
Écrire un algorithme qui affiche un menu contenant deux choix :
1. Continuer
2. Quitter
Le menu doit s’afficher tant que l’utilisateur ne choisit pas 0.
Utiliser une boucle Faire…TantQue.
Exercice 9 : Comptage de nombres positifs
Écrire un algorithme qui permet de saisir plusieurs nombres.
La saisie s’arrête lorsque l’utilisateur entre 0.
À la fin, afficher le nombre de valeurs positives saisies.
Exercice 10 : Test de nombre premier
Écrire un algorithme qui vérifie si un nombre entier saisi par l’utilisateur est un nombre
premier en utilisant une boucle TantQue.
PARTIE 2 : Cas Réels de Conception Logicielle
Exercice 11 : Système d’authentification sécurisé
Concevoir un algorithme simulant un système de connexion.
L’utilisateur dispose de 3 tentatives maximum pour saisir le bon mot de passe.
Après 3 échecs, le compte est bloqué.
Exercice 12 : Distributeur automatique de billets
Écrire un algorithme simulant un guichet bancaire.
L’utilisateur peut effectuer des retraits tant que :
Le montant saisi est positif
Le montant ne dépasse pas le solde disponible
Le programme affiche le solde après chaque retrait.
Exercice 13 : Panier d’achat en ligne
Concevoir un algorithme permettant d’ajouter des articles dans un panier.
L’utilisateur saisit les prix des articles.
La saisie s’arrête lorsque le prix 0 est saisi.
Afficher le total du panier.
Exercice 14 : Système de vote électronique
Concevoir un algorithme simulant un vote :
1 = Oui
2 = Non
0 = Fin du vote
5
Afficher le nombre total de votes "Oui" et "Non".
Exercice 15 : Objectif d’épargne
Un client place un capital avec un intérêt annuel de 5%.
Écrire un algorithme qui calcule le nombre d’années nécessaires pour atteindre 10 000€.
Utiliser une boucle TantQue.
Exercice 16 : Formulaire d’inscription
Concevoir un algorithme qui demande à l’utilisateur de saisir son nom.
La saisie doit être répétée tant que le champ est vide.
Utiliser une boucle Faire…TantQue.
Exercice 17 : Surveillance d’un serveur
Un système surveille la température d’un serveur informatique.
Tant que la température reste inférieure à 80°C, le système affiche "Température normale".
Dès qu’elle atteint ou dépasse 80°C, afficher "Alerte".
Exercice 18 : Caisse automatique
Concevoir un algorithme simulant une caisse.
L’utilisateur saisit les montants des articles.
La saisie se termine lorsque 0 est entré.
Afficher le total à payer.
Exercice 19 : Gestion d’un parking
Un parking possède 50 places.
À chaque entrée de voiture, une place est occupée.
Le système fonctionne tant qu’il reste des places disponibles.
Afficher "Parking complet" lorsque toutes les places sont occupées.