Université Ibn Zohr
Faculté des Sciences Appliquées
Génie Informatique et Systèmes Intelligents
Tronc Commun : Informatique Appliquée - S1
Module 113
Algorithmique 1
Présenté par :
Pr. FATEH & Pr. AHED
Année Universitaire: 2024-2025
Plan
1 Instructions itératives : les boucles
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 2 / 23
Instructions itératives : les boucles
Plan
1 Instructions itératives : les boucles
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 3 / 23
Instructions itératives : les boucles
Instructions itératives : les boucles
▶ Les boucles servent à répéter l’exécution d’un groupe d’instructions un
certain nombre de fois
▶ On distingue trois sortes de boucles en langages de programmation :
1− Les boucles tant que : on y répète des instructions tant qu’une certaine
condition est réalisée
2− Les boucles jusqu’à : on y répète des instructions jusqu’à ce qu’une
certaine condition soit réalisée
3− Les boucles pour ou avec compteur : on y répète des instructions en
faisant évoluer un compteur (variable particulière) entre une valeur
initiale et une valeur finale .
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 4 / 23
Instructions itératives : les boucles
Boucle Pour
Cette structure exprime la répétions d’un traitement un nombre fois. Sa
syntaxe :
Pour compteur allant de initiale à finale par pas valeur du pas faire
instructions ;
FinPour
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 5 / 23
Instructions itératives : les boucles
Boucle Pour
1 Remarque : le nombre d’itérations dans une boucle Pour est connu
avant le début de la boucle
2 Compteur est une variable de type entier (ou caractère). Elle doit être
déclarée
3 Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être
mentionné, car par défaut sa valeur est égal à 1. Dans ce cas, le
nombre d’itérations est égal à finale - initiale+ 1
4 Initiale et finale peuvent être des valeurs, des variables définies avant
le début de la boucle ou des expressions de même type que compteur
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 6 / 23
Instructions itératives : les boucles
Déroulement des boucles Pour
1 La valeur initiale est affectée à la variable compteur
2 On compare la valeur du compteur et la valeur finale :
a− Si la valeur du compteur est > à la valeur finale dans le cas d’un pas
positif (ou si compteur est < à finale pour un pas négatif), on sort de la
boucle et on continue avec l’instruction qui suit FinPour
b− Si compteur est <= à finale dans le cas d’un pas positif (ou si compteur
est >= à finale pour un pas négatif), instructions seront exécutées
Ensuite, la valeur de compteur est incrémentée de la
valeur du pas si pas est positif (ou décrémenté si pas est
négatif)
On recommence l’étape 2 : La comparaison entre
compteur et finale est de nouveau effectuée, et ainsi de
suite .....
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 7 / 23
Instructions itératives : les boucles
Boucle Pour
Exemple
Calcul de la somme des n premiers entiers positif.
Solution
Algorithme Somme_ Entiers
Variables n,s,i : Entier
Début
Écrire(" Entrez la valeur n :") ;
Lire(n) ;
s←0
Pour i allant de 1 à n faire ;
s ← s+i
Finpour
Écrire(La somme des n premiers entiers positifs est : ", s)
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 8 / 23
Instructions itératives : les boucles
Boucle Pour
Exemple
Calcul de x à la puissance n où x est un réel non nul et n un entier positif
ou nul
Version 1
Algorithme Puissance
Variables n, i : Entier
x, puiss : Réel
Début
Écrire(" Entrez respectivement les valeurs de x et n") ;
Lire(x,n) ;
puiss ← 1
Pour i allant de 1 à n faire ;
puiss ← puiss * x
Finpour
Écrire(x, " à la puissance ", n, " est égal à ", puiss) ;
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 9 / 23
Instructions itératives : les boucles
Boucle Pour
Exemple
Calcul de x à la puissance n où x est un réel non nul et n un entier positif
ou nul (version 2 avec un pas négatif)
Version 2
Algorithme Puissance
Variables n, i : Entier
x, puiss : Réel
Début
Écrire(" Entrez respectivement les valeurs de x et n") ;
Lire(x,n) ;
puiss ← 1
Pour i allant de n à 1 pas -1 faire ;
puiss ← puiss * x
Finpour
Écrire(x, " à la puissance ", n, " est égal à ", puiss) ;
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 10 / 23
Instructions itératives : les boucles
Boucle Pour
Remarque
▶ Il faut éviter de modifier la valeur du compteur (et de finale) à
l’intérieur de la boucle. En effet, une telle action :
perturbe le nombre d’itérations prévu par la boucle Pour
rend difficile la lecture de l’algorithme
présente le risque d’aboutir à une boucle infinie
Exemple :
Pour i allant de 1 à 5 faire
i ← i-1
Écrire(" i = ",i) ;
Finpour
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 11 / 23
Instructions itératives : les boucles
Les itérations indéterministes...
Les boucles tant que
Cette forme de boucle vérifie avant chaque itération la validité d’une
condition :
Reboucle si la condition est vraie
S’arrêt et sort de la boucle si la condition devient fausse.
La syntaxe d’utilisation est donnée ci-après :
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 12 / 23
Instructions itératives : les boucles
Les itérations indéterministes...
Les boucles tant que : remarques
Le nombre d’itérations dans une boucle TantQue n’est pas connu au
moment d’entrée dans la boucle. Il dépend de l’évolution de la valeur
de condition
Une des instructions du corps de la boucle doit absolument changer la
valeur de condition de vrai à faux (après un certain nombre
d’itérations), sinon le programme tourne indéfiniment
Attention aux boucles infinies (Exemple) :
i ← 2;
TantQue (i > 0) faire
i ← i+1 ; (attention aux erreurs de frappe : + au lieu de -)
FinTantQue
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 13 / 23
Instructions itératives : les boucles
Les boucles tant que : Exemple
On veut écrire un algorithme qui demande un nombre entier positif n puis
calcul la somme s des entiers compris entre 0 et n
Solution
Algorithme Somme_ Entiers
Variables n,s,i : Entier
Début
Écrire(" Entrez la valeur de n :") ;
Lire(n) ;
Si n < 0 alors
Écrire("Le nombre n doit être positif")
Lire(n) ;
Sinon
s←0
i←0
TantQue (i <= n) faire
s ← s+i
i ← i+1
FinTantQue
Écrire("La somme s vaut : ", s)
Finsi
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 14 / 23
Instructions itératives : les boucles
Lien entre Pour et TantQue
La boucle Pour est un cas particulier de Tant Que (cas où le nombre
d’itérations est connu et fixé). Tout ce qu’on peut écrire avec Pour peut
être remplacé avec Tant Que(la réciproque est fausse)
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 15 / 23
Instructions itératives : les boucles
Lien entre Pour et TantQue : exemple
Calcul de x à la puissance n où x est un réel non nul et n un entier positif
ou nul (version avec TantQue)
Solution
Algorithme Puissance
Variables n, i : Entier
x, puiss : Réel
Début
Écrire(" Entrez respectivement les valeurs de x et n") ;
Lire(x,n) ;
puiss ← 1
i←0
TantQue (i <= n) faire
puiss ← puiss * x
i ← i+1
FinTantQue
Écrire(x, " à la puissance ", n, " est égal à ", puiss) ;
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 16 / 23
Instructions itératives : les boucles
Boucles imbriquées
▶ Les instructions d’une boucle peuvent être des instructions itératives.
Dans ce cas, on aboutit à des boucles imbriquées
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 17 / 23
Instructions itératives : les boucles
Les itérations indéterministes...
Répéter Jusqu’à
La syntaxe de l’instruction Répéter Jusqu’à s’écrit :
Condition est évaluée après chaque itération
les instructions entre Répéter et jusqu’à sont exécutées au moins une
fois et leur exécution est répétée jusqu’à ce que condition soit vrai
(tant qu’elle est fausse)
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 18 / 23
Instructions itératives : les boucles
Les itérations indéterministes...
Répéter Jusqu’à : exemple
Un algorithme qui détermine le premier nombre entier N tel que la somme
de 1 à N dépasse strictement 100 (version avec répéter jusqu’à)
Solution
Algorithme Somme_ Entiers
Variables som,i : Entier
Début
som ← 0
i←0
Répéter
i ← i+1
som ← som+i
Jusqu’à (som > 100)
Écrire(" La valeur cherchée est N= ", i)
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 19 / 23
Instructions itératives : les boucles
Comparaison boucles
Tant Que & Répéter Jusqu’à
1 Boucle Tant que
condition vérifiée avant chaque exécution du traitement ;
le traitement peut donc ne pas être exécuté ;
2 Boucle Répéter . . . Jusqu’à
condition vérifiée après chaque exécution du traitement ;
le traitement est exécuté au moins une fois ;
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 20 / 23
Instructions itératives : les boucles
Choix d’un type de boucle
▶ Si on peut déterminer le nombre d’itérations avant l’exécution de la
boucle, il est plus naturel d’utiliser la boucle Pour
▶ S’il n’est pas possible de connaître le nombre d’itérations avant
l’exécution de la boucle, on fera appel à l’une des boucles TantQue ou
répéter jusqu’à
▶ Pour le choix entre TantQue et répéter jusqu’à :
1 Si on doit tester la condition de contrôle avant de commencer
les instructions de la boucle, on utilisera TantQue
2 Si la valeur de la condition de contrôle dépend d’une première
exécution des instructions de la boucle, on utilisera répéter
jusqu’à
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 21 / 23
Instructions itératives : les boucles
Les itérations indéterministes...
Exercice
Écrire un algorithme qui demande à l’utilisateur un nombre n compris entre
1 et 3 jusqu’à ce que la réponse convienne.
Correction
Algorithme JeuDeNombres
Variables n : Entier
Début
n←0
TantQue (n < 1 ou n > 3) faire
Écrire("Donner un nombre entre 1 et 3") ;
Lire(n) ;
FinTantQue
Écrire("Bonne réponse.") ;
Fin
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 22 / 23
Instructions itératives : les boucles
Travaux Dirigés N°3
Pr. FATEH & Pr. AHED (FSA) M113 2024-2025 23 / 23