Écrire des traitements alternatifs (Si ... Sinon) et itératifs (TantQue, Pour, Répéter), et suivre leur exécution dans une table de trace.
1Situer
Un club de sport veut un petit outil pour ses entraîneurs : additionner les points marqués par un joueur sur N matchs, dire si un numéro de maillot est pair ou impair pour former deux équipes, et afficher une table de multiplication pour les plus jeunes. Trois besoins, trois structures.
2Comprendre
La boucle TantQue, tour par tour
Initialisation : S ← 0 et I ← 1.
1 / 9
Un algorithme combine trois types de traitement : séquentiel (les instructions dans l’ordre), alternatif (un choix) et itératif (une répétition).
Le traitement alternatif : Si
Si r =1AlorsEcrireAvecSaute(n, " est impair")
SinonEcrireAvecSaute(n, " est pair")
FinSi
La condition est une expression qui vaut vrai ou faux. On peut combiner des conditions avec Et, Ou, Non, et enchaîner plusieurs cas avec SinonSi. Pour comparer une variable à une liste de valeurs, Selon est plus lisible.
Les traitements itératifs : les boucles
Boucle
Quand l’utiliser
Condition testée
TantQue ... FinTantQue
on ne sait pas combien de tours
avant chaque tour
Pour i ← 1 jusqu'à N ... FinPour
le nombre de tours est connu
compteur automatique
Répéter ... Jusqu'à
au moins un tour (saisie contrôlée)
après chaque tour
Les pièges classiques
La boucle infinie : si rien ne change dans la condition (I jamais augmenté), la boucle ne s’arrête pas.
Le décalage d’un tour : I < N au lieu de I <= N oublie le dernier élément.
L’initialisation oubliée : une somme doit partir de 0, un produit de 1.
La table de trace sous la simulation note chaque pas : instruction, valeurs des variables, résultat des conditions. C’est exactement ce qu’on vous demande de faire sur papier à l’examen.
Exemple simple
Remplir une bouteille au robinet
Tant que la bouteille n'est pas pleine, on laisse couler. C'est une boucle TantQue : on vérifie la condition avant chaque tour, et on s'arrête dès qu'elle devient fausse.
TantQue bouteille non pleine Faire
laisser couler
FinTantQue
Exemple simple
Le tarif du hammam (Si … Sinon)
Un enfant de moins de 12 ans paie 10 DH, un adulte 20 DH. Selon l'âge, on prend un chemin ou l'autre, jamais les deux.
Si age <12Alors
prix ←10Sinon
prix ←20FinSi
Publicité
3Manipuler
Lancez « Pas à pas », saisissez N = 3, puis avancez ligne par ligne. Regardez la condition I <= N être testée avant chaque tour, et la table de trace se remplir.
Lisez une moyenne sur 20 et affichez la mention : « Très bien » (≥ 16), « Bien » (≥ 14), « Assez bien » (≥ 12), « Passable » (≥ 10), sinon « Non admis ».
Voir un indice
Utilisez SinonSi pour enchaîner les tests du plus grand au plus petit seuil.
Lisez un entier n positif et calculez n! = 1 × 2 × ... × n avec une boucle Pour. Vérifiez dans l'atelier que 5! = 120.
Voir le corrigé
Algorithme Factorielle
Variables
n, i, f : entierDébutEcrire("n = ")
Lire(n)
f ←1Pour i ←1jusqu'à n Faire
f ← f * i
FinPourEcrireAvecSaute(n, "! = ", f)
Fin
Exercice 3 · Saisie contrôlée
Demandez une note jusqu'à ce qu'elle soit comprise entre 0 et 20, puis affichez-la. Quelle boucle convient le mieux ?
Voir un indice
La saisie doit avoir lieu au moins une fois.
Voir le corrigé
Algorithme NoteValide
Variables
note : réelDébutRépéterEcrire("Note (0 à 20) : ")
Lire(note)
Jusqu'à note >=0Et note <=20EcrireAvecSaute("Note retenue : ", note)
Fin