Cours Algo Partie 2
Cours Algo Partie 2
Cours Algo Partie 2
Dans cette partie, nous allons présenter deux types de ces structures, appelées boucles. La première est la
boucle TantQue qui permet d’exécuter un bloc d’instructions, tant qu’une condition est vraie. La seconde
est la boucle itérative Pour qui permet d’exécuter un bloc d’instructions un nombre déterminé de fois.
La boucle TantQue :
Elle permet de répéter l’exécution d’un bloc d’instructions jusqu’à ce qu ’une condition « Cond » (de
type booléen) devienne fausse. Autrement dit, la répétition du bloc se fait tant que la condition « Cond »
est vraie. Dans notre pseudo-code, cette boucle s’écrit :
TantQue Cond
Instruction1
…
Instructionk
FinTantQue
Une fois l’exécution d’un algorithme arrivée à la boucle TantQue, la condition « Cond » est évaluée. Si
elle est fausse, on quitte la boucle (on passe à l’exécution des instructions qui sont après FinTantQue).
Si elle est vraie, on exécute les instructions Instruction1, …, Instructionk et on évalue à n ouveau la
condition. Si elle est toujours vraie, on exécute encore ces instructions. Sinon, on quitte la boucle.
Voici un algorithme qui pose la question « Quel est le résultat de la somme : 2 + 2 ? » jusqu’à ce que
l’utilisateur entre la bonne réponse 4. Cet algorithme va afficher « Faux. Recommencez ! » à chaque
fois que l’utilisateur entre un nombre différent de 4. Lorsque l’utilisateur entre le nombre 4, l’algorithme
affiche « Juste. Bravo ! » et la boucle se termine.
Exemples d’exécution :
Lorsque l’utilisateur entre la valeur 10, l’algorithme évalue la condition (10<>4). Comme celle -ci est
vraie, le programme exécute les instructions : Ecrire « Faux. Recommencez ! » et Lire Rep. Quand
l’utilisateur entre la valeur 4, la condition (4<>4) devient fausse. Dans ce cas, on quitte la boucle
TantQue et on passe à l’instruction : Ecrire « Juste. Bravo ! ».
Elle permet de répéter l’exécution d’un bloc d’instructions jusqu’à ce qu’un compteur « Compt » (de
type numérique) atteigne une valeur préalablement fixée. Dans notre pseudo-code, cette boucle s’écrit :
Compt, Début et Fin sont des variables numériques (de type entier naturel). Arrivé à cette boucle,
l’algorithme initialise Compt à la valeur Début puis exécute les instructions Instruction1, …,
Instructionk. On dit ici qu’on a effectué la première itération (le premier tour). A la fin de cette itération,
la valeur de Compt passe à Début + 1 et on refait l’exécution des mêmes instructions. C’est la deuxième
itération.
La dernière itération est celle où Compt atteint la valeur Fin. Dans ce cas, on effectue l’exécution des
instructions une dernière fois et on quitte la boucle.
A la première itération, Compt prend la valeur 1 et exécute les instructions : Var ← Compt * Compt et
Ecrire «Le carré de », Compt, « est : », Var. Dans ce cas, Var devient 1 * 1 et on affiche «Le carré de
1 est 1 ». Ensuite Compt prend la valeur 2 et on exécute à nouveau les instructions : Var ← Compt *
Compt et Ecrire «Le carré de », Compt, « est : », Var. Dans cette deuxième itération, Var devient 2 * 2
(=4) et on affiche «Le carré de 2 est 4 ». Ceci se poursuit jusqu’à la dernière itération (Compt aura la
valeur 9) qui affiche «Le carré de 9 est 81 » et puis quitte la boucle.
Remarque : l’exemple précédant, peut être écrit en utilisant une boucle TantQue.
A noter ici que la condition « Compt < 10 » est équivalente à « Compt <= 9 ».
Dans cette version, on initialise la variable Compt par l’instruction « Compt←1 » alors qu’en utilisant
la boucle Pour, c’est l’algorithme lui-même qui initialisait Compt à la valeur Début (égale à 1 dans
notre exemple). De même, ici on ajoute 1 à Compt à la fin de chaque itération par l’instruction
« Compt← Compt + 1 ». En utilisant la boucle Pour, c’est l’algorithme qui ajoute 1 à Compt après
chaque fin d’itération.
Autres exemples :
1- Algorithme qui affiche la table de multiplication d’un nombre choisi par l’utilisateur
Variables N, i en numérique
Début
Ecrire "Entrez un nombre : "
Lire N
Ecrire "La table de multiplication de ce nombre est : "
Pour i ← 1 à 10
Ecrire N, " x ", i, " = ", N*i
FinPour
Fin
Sciences Economiques – Semestre 4 – Cours d’Algorithmique
Variables N, i, F en numérique
Debut
Ecrire "Entrez un nombre : "
Lire N
F←1
Si (N >= 2)
Alors
Pour i ← 2 à N
F ← F* i
FinPour
FinSi
Ecrire "La factorielle est : ", F
Fin
Exercices :
Exercice 6 : Ecrire un algorithme qui demande 5 nombres positifs et qui détermine le plus grand d’entre
eux et l’affiche.
Exercice 7 : Ecrire un algorithme qui calcule la moyenne arithmétique de notes. L’algorithme demande
le nombre N de ces notes. Ensuite, il demande d’entrer les notes, calcule la moyenne et l’affiche.
Exemples d’exécution :
Exercice 8 : Dans un magasin, on accorde une remise aux clients en fonction du total des produits
achetés. On note Som le total des achats avant remise.
Si Som<1000 alors la remise est nulle.
Si 1000<=Som<1500 alors la remise est de 10%.
Si 1500 <= Som alors la remise est de 15%.
Ecrire un algorithme qui demande au client d’entrer le nombre de produits qu’il a achetés, puis les prix
de ces produits. L’algorithme doit afficher le prix total des produits après application de la remise.
Sciences Economiques – Semestre 4 – Cours d’Algorithmique
Exemples d’exécution :