Faculté des Sciences Dhar El Mahraz –FSDM
BCG:SVI/STU-S2
Algorithmique
Réalisé par: Pr . HASNAE EL KHOUKHI
[Link]@[Link]
Année universitaire:2023/2024
Instructions à structure
répétitive (Boucles)
Instructions à structure répétitive (Boucles)
Problème:
Écrire un algorithme permettant d’afficher 10 fois le
message : ‘‘bonjour’’.
Instructions à structure répétitive (Boucles)
Problème:
Écrire un algorithme permettant d’afficher 10 fois le message :
‘‘bonjour’’.
Solution Classique :
Début
Ecrire ('' Bonjour'') 1
Ecrire ('' Bonjour'') 2
.
.
Ecrire ('' Bonjour'') 10
Fin
==> La solution à ce problème consiste à utiliser une structure
répétitive.
Instructions à structure répétitive (Boucles)
Une structure répétitive, encore
appelée boucle, est utilisée quand
une instruction ou une
liste d’instruction, doit être répétée
plusieurs fois.
La répétition est soumise à une
condition.
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
L’instruction Tant que :
La boucle Tant que permet de répéter un traitement tant
que la condition est vraie.
Syntaxe :
<initialisation>
Tant que condition Faire
Instruction(s) répéter
Fin tant que
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Solution de l’exercice précédent :
Algorithme bonjour10
Variable i : Entier //i: variable intermédiaire compteur
Début
i 0 // Initialisation
Tant que (i < 10) Faire
Écrire (" Bonjour ")
i i + 1 // incrémentation du compteur
Fin tant que
Fin
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Exercice :
Ecrire un Algorithme qui calcule la somme
S = 1+3+5+7……….+31
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Exercice :
Ecrire un Algorithme qui calcule la somme
S = 1+3+5+7……….+10
// Algorithme avec choix de l’initialisation et l’incrémentation
Variable S, i : Entier //i: variable intermédiaire compteur*
Début
i 1 // initialisation de la boucle
S 0
Tant que (i <= 10) Faire
S S + i
i i+1 // incrémentation du compteur
Fin tant que
Écrire (" La somme de 1 à 10 est : ", S )
Fin
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Exercice :
Ecrire un Algorithme qui calcule la somme
S = 1+3+5+7……….+N
// Algorithme avec choix de l’initialisation et l’incrémentation
Variable S, i , N : Entier //i: variable intermédiaire compteur*
Début
i 1 // initialisation de la boucle
S 0
Tant que (i <= N) Faire
S S + i
i i+1 // incrémentation du compteur
Fin tant que
Écrire (" La somme de 1 à " ,N, " est : ", S )
Fin
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Exercice :
Afficher tous les multiples de 5 inférieurs à 25
Algorithme Multiples5
Variable M, i : Entier //i: variable intermédiaire compteur*
Début
i 1 // initialisation de la boucle
M 5
Tant que (M < 25) Faire
Ecrire (M , " est un multiple de 5 " )
M i * 5
i i+1 // incrémentation du compteur
Fin tant que
Fin
Instructions à structure répétitive
Boucle « Tant que Faire »
Exercice :
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle1
Variable i , y : Entier
Début Donner les valeurs de y
i
y0
Tant que (i < 7) Faire
yy+i
i i + 1 // (Après)
Écrire (" y = " , y)
Fin Tant que
Fin
Instructions à structure répétitive
Boucle « Tant que Faire »
Exercice :
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle1 i = variable intermédiaire
Variable i , y : Entier du compteur
Début i i+1 = incrémentation
i du compteur
y0 i=2 y=2
Tant que (i < 7) Faire i=3 y=5
yy+i i=4 y=9
i i + 1 // (Après) i=5 y =14
Écrire (" y = " , y) i=6 y = 20
Fin Tant que La boucle est exécutée 5
Fin fois
Instructions à structure répétitive (Boucles)
Boucle « Tant que Faire »
Exercice :
Afficher tous les multiples de 7 inférieurs à 85
Algorithme Multiples9
Variable M, i : Entier //i: variable intermédiaire compteur
Début
i 1 // initialisation de la boucle
M 7
Tant que (M < 85) Faire
Ecrire (M , " est un multiple de 9 " )
M i * 9
i i+1 // incrémentation du compteur
Fin tant que
Fin
Instructions à structure répétitive (Boucles)
Boucle « Répéter jusqu’à »
L’instruction Répéter jusqu’à :
La boucle Répéter permet de répéter une instruction jusqu’à ce
qu’une condition soit vrai.
On utilise cette instruction pour exécuter des actions
jusqu'à ce que une condition soit remplie.
Syntaxe :
Répéter
Instruction répéter
jusqu’à condition
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Exercice :
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle2
Variable i , y : Entier
Début
i 1
y0 Donner les valeurs de y
Répéter
yy+i
i i +1 // (Après)
Écrire (" y = " , y)
Jusqu’à (i < 7)
Fin
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Solution:
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle2 i = variable intermédiaire
du compteur
Variable i , y : Entier i i+1 = incrémentation
Début du compteur
i 1 i=1 y=1
y0 i=2 y=3
Répéter i=3 y=6
i=4 y =10
yy+i i=5 y = 15
i i +1 // (Après) i=6 y = 21
Écrire (" y = " , y)
Jusqu’à (i < 7) La boucle est exécutée 6
fois
Fin
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Exercice :
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle3
Variable i , y : Entier
Début
i 2
y0 Donner les valeurs de y
Répéter
i i+1 // (Avant)
yy+i
Écrire (" y = " , y)
Jusqu’à (i = 7)
Fin
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Solution:
Dans cet algorithme combien de fois la boucle est- elle
exécutée ?
Algorithme Boucle3
Variable i , y : Entier i = variable intermédiaire
du compteur
Début i i+1 = incrémentation
i 1 du compteur
y0 i=3 y=3
Répéter i=4 y=7
i i+1 // (Avant) i=5
i=6
y = 12
y =18
yy+i i=7 y = 25
Écrire (" y = " , y)
La boucle est exécutée 5
Jusqu’à (i = 7) fois
Fin
Organigramme
20
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Exercice :
Écrire un algorithme permettant de calculer, pour un entier
N > 0, la somme :
SN = 1 + 2 + 3 + …… + N
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Solution:
Algorithme Somme
Variable N, S, i : Entier
Début
Écrire ("Saisir une valeur entière positive :")
Lire (N)
S 0 // initialisation de la boucle
i 1
Répéter
S S + i
i i + 1
Jusqu’à (i = N)
Écrire (" La somme : S = ", S)
Fin
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Solution:
Algorithme Somme
Variable N, S, i : Entier
Début
Écrire ("Saisir une valeur entière positive :")
Lire (N)
S0 // initialisation de la boucle
i 1
Répéter
S S + i
i i + 1
Jusqu’à (i = N)
Écrire (" La somme : S = ", S)
Fin
Application numérique
i=1 S =1 // initialisation i = 16 S = 18 + 16 = 34
i=6 S = 1+6 = 7
i = 11 S = 7 + 11 = 18
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Exercice :
Écrire un algorithme permettant de calculer la somme :
Sn = 1 + 1/2 + 1/3 + …… + 1/n
Instructions à structure répétitive
Boucle « Répéter jusqu’à »
Solution:
Algorithme Somme
Variable N, S, i : Entier
Début
Écrire ("Saisir une valeur entière positive :")
Lire (N)
S 0 // initialisation de la boucle
i 1
Répéter
S S + 1/i
i i + 1
Jusqu’à (i = N)
Écrire (" La somme : S = ", S)
Fin
Instructions à structure répétitive (Boucles)
Boucle « Pour »
L’instruction Pour Faire:
La boucle pour …. Faire permet de répéter une liste
d’instructions un nombre connu de fois.
La spécification de cette instruction c’est qu’elle limite le
nombre de fois où doit se répéter le bloc Action .
Syntaxe:
<Initialisation>
Pour variable valeur1 à valeur2 Faire
<Bloc de traitement>
Fin Pour
Instructions à structure répétitive
Boucle « Pour Faire »
Exercice :
Écrire l’algorithme permettant de calculer la moyenne des
notes de N étudiants.
Instructions à structure répétitive
Boucle « Pour Faire »
Solution:
Algorithme Moyenne
Variable N, i : Entier
note, S, Moy : Réel
Début
Écrire (" Donner le nombre d’étudiants: ")
Lire (N)
S 0 //initialisation de la boucle
Pour i 1 à N Faire
Écrire ("Donner la note de l’étudiant " , i , " : ")
Lire (note)
S S + note
Fin Pour
Moy S / N
Écrire (" La moyenne est : ", Moy)
Fin
Instructions à structure répétitive
Boucle « Pour Faire »
Exercice :
Écrire un algorithme permettant d’afficher les lettres de
l’alphabet.
Instructions à structure répétitive
Boucle « Pour Faire »
Solution:
// Algorithme alphabet
Variable lettre: Caractère
// parcourir les lettres de l'alphabet
Début
Pour lettre ' a ' à ' z ' Faire
Écrire(lettre)
FinPour
Fin
Instructions à structure répétitive
Quelle répétition ou Boucle choisir ?
Les boucles « Répéter » et « «TantQue » sont utilisées
lorsqu’on ne sait pas au départ combien de fois il faudra
exécuter ces boucles.
A la différence de la boucle « TantQue » par rapport à la boucle
« Répéter » cette dernière est exécutée au moins une seule
fois.
La condition d’arrêt de la boucle « Répéter » est la négation de
la condition de poursuite de la boucle «TantQue .
On utilise la boucle « Pour » quand l’on connait le nombre
d’itérations à l’avance.