Vous êtes sur la page 1sur 7

Sciences Economiques – Semestre 4 – Cours d’Algorithmique

COURS ALGORITHMIQUE – PARTIE 2

SCIENCES ECONOMIQUES - SEMESTRE 4 – 2023/2024


A. DRISSI
Sciences Economiques – Semestre 4 – Cours d’Algorithmique

IV- Les répétitions :

En programmation, on a souvent besoin de répéter l’exécution d’une instruction ou d’un bloc


d’instructions. Prenons l’exemple d’un guichet automatique bancaire. Les mêmes instructions (« entrez
votre carte », « entrez votre code » …) se répètent à chaque fois qu’un client se présente devant le guichet.
C’est la raison pour laquelle les langages de programmation prévoient des structures de contrôle qui
permettent ces répétitions.

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.

Exemple : lecture d’une réponse jusqu’à ce que le résultat soit juste

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.

Variable Rep en numérique


Début
Ecrire « Quelle est le résultat de la somme : 2 + 2 ? »
Lire Rep
TantQue Rep <> 4
Ecrire « Faux. Recommencez ! »
Lire Rep
FinTantQue
Ecrire « Juste. Bravo ! »
Fin

Rappel : l’opérateur <> signifie « différent ».


Sciences Economiques – Semestre 4 – Cours d’Algorithmique

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 ! ».

La boucle itérative Pour :

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 :

Pour Compt ← Début à Fin


instruction1

Instructionk
FinPour

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.

Exemple : affichage des carrées des chiffres allant de 1 à 9


Sciences Economiques – Semestre 4 – Cours d’Algorithmique

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.

Variable Compt, Var en numérique


Début
Compt←1
TantQue Compt < 10
Var ← Compt * Compt
Ecrire «Le carré de », Compt, « est : », Var
Compt← Compt + 1
FinTantQue
Fin

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

2- Algorithme qui calcule la factorielle d’un nombre choisi par l’utilisateur


Rappel : N ! = N x (N-1) x (N-2) x … 3 x 2 x 1 = N x (N – 1) !
0! =1!=1

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

Pour N= 0 ou N = 1, F garde sa valeur d’initialisation : 1 (F ← 1). Pour N >= 2, l’exécution de cet


algorithme se fait comme suit :

Avant la boucle Pour, la variable F est initialisée à la valeur 1 (F ← 1).


A la fin de l’itération (i = 2) : F devient F x i, c’est-à-dire 1 x 2 (=2).
A la fin de l’itération (i = 3) : F devient F x i, c’est-à-dire 1 x 2 x 3 (= 6 car la valeur courante de F est
1 x 2 et celle de i est 3).
A la fin de l’itération (i = 4) : F devient 1 x 2 x 3 x 4 (= 24).

A la fin de l’itération (i = N) : F devient 1 x 2 x 3 x 4 x … x N. (c’est la factorielle de N)
Sciences Economiques – Semestre 4 – Cours d’Algorithmique

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 :

Vous aimerez peut-être aussi