Vous êtes sur la page 1sur 24

Module: ALGORITHMIQUE 1

Chapitre 3:Les Structures de Contrôle


Répétitives (Itératives)
Niveaux: 1A
Equipe ALGO

Année universitaire: 2021/2022


Plan

Introduction

Les structures itératives à condition d’arrêt

Les structures itératives complètes

2
Introduction

Certains problèmes nécessitent l’exécution d’une ou plusieurs actions


de manière répétitive un certain nombre de fois.

3
Problématique
On veut écrire un algorithme qui calcule et affiche la moyenne d’un étudiant qui dispose de
3 notes ayant le même coefficient.
Début
Lire(N1,N2,N3)
Moy (N1+N2+N3)/3
Ecrire(Moy)
Fin
Maintenant, si on veut faire le même traitement pour deux étudiants.
Début
Lire(N1,N2,N3)
Moy (N1+N2+N3)/3
Ecrire(Moy)
Lire(N1,N2,N3)
Moy (N1+N2+N3)/3
Ecrire(Moy)
4
Fin
Problématique
Si on a N étudiants, on aura un algorithme qui sera constitué par N blocs d’actions
identiques. Que peut-on dire d’un tel algorithme ?
- Algorithme de Taille Importante
- Algorithme lourd lors de l’exécution
- Algorithme manquant de lisibilité
- Algorithme difficile à maintenir, si jamais on fera une erreur au niveau des notes.

On est en présence d’un algorithme de qualité Médiocre.

5
Solution
Utiliser une structure capable de représenter le traitement (Saisie des notes, Calcul de la
moyenne et Affichage) Une seule fois et de pouvoir l’exécuter autant de fois que l’on
dispose d’étudiants.
Utiliser les Structures Répétitives appelées également Structures Itératives ou encore
les Boucles.
On distingue 3 schémas de représentation d’une Boucle :
Le Schéma Répéter ..…… Jusqu’à
Le Schéma Tant que
Le Schéma Pour
6
Exemples Introductifs
EXEMPLE 1
Un élève veut vider son cartable qui contient 5 cahiers.
Si on analyse cet exemple, on verra qu’il y a un traitement (tirer un cahier) qui va se répéter un
nombre connu de fois (égale à 5)

Voici un exemple de solution


Pour i allant de 1 à 5
tirer un cahier
Fin Pour

7
Exemples Introductifs
EXEMPLE 2
Un élève veut vider son cartable qui contient un nombre inconnu des cahiers.
Si on analyse cet exemple on verra qu’il y a deux méthodes possibles:
Méthode 1
•On vérifie si le cartable n’est pas vide (la condition de répétition du traitement) si oui on va tirer un
cahier (le traitement à faire) sinon on ne va rien faire et on va répéter ça jusqu’à ce que le cartable
soit vide. On peut résumer ça en:
Tant que ( cartable non vide)
Tirer un cahier
Fintantque

8
Exemples Introductifs
Méthode 2
•On tire un cahier (On a supposé dès le début que le cartable n’est pas vide) puis on vérifie si le
cartable est vide ou non, sinon on répète le même traitement jusqu’à ce qu’il soit vide. on peut
résumer ça en:
Répéter
Tirer un cahier
Jusqu’à (cartable vide)

D’après ces exemples, on peut dire qu’il existe deux types de structures itératives:
▪Structure itérative complète où le nombre d’itérations est connu à l’avance.
▪Structure itérative à condition d’arrêt où le nombre d’itérations n’est pas connu à l’avance.
9
Le Schéma REPETER
Définition
Il s’agit d’un traitement qui s’exécute et qui continue à s’exécuter jusqu’à ce qu’une
condition logique devienne vraie ; cette condition logique est appelée condition d’arrêt.

Syntaxe
Répéter
<traitement + Maj variables_Condition >
Jusqu’à (cond_d’arrêt_atteinte)

10
Le Schéma REPETER
Remarques

▪ On utilise cette structure de répétition si le nombre de répétitions est inconnu.

▪ L’arrêt du traitement est généré si la(les) condition(s) d’arrêt = VRAI.

▪ Le traitement itératif s’exécute au moins une seule fois quelle que soit la situation.

▪ Le schéma Répéter n’impose pas l’initialisation des variables de la condition logique.

▪ ATTENTION : N’oubliez-pas de mettre à jour les variables de la condition logique au

niveau du traitement de la boucle, sinon on risque d’avoir une Boucle INFINIE !!!

11
Le Schéma REPETER
Exécution
- Étape 0 : Initialiser les variables de la condition d’arrêt.
- Étape 1 : Exécuter le traitement de la boucle.
- Étape 2 : Mettre à jour les variables de la condition d’arrêt.
- Étape 3 : Tester la condition d’arrêt
Si Vraie Alors Aller à l’étape 4
Sinon Aller à l’étape 1
- Étape 4 : Sortir de la boucle et continuer l’exécution de l’algorithme après JUSQU’A .

12
Exercices d’application
Application 1:
Écrire un algorithme qui lit un entier N et qui afficher la somme des N termes
SN = 1+2+3+4+…….+N
Algorithme SommeN
VARIABLE
N, I, S : Entier
DEBUT
LIRE(N)
S 0
I 1
REPETER
S S+I
I I+1
JUSQU’A (I>N)
ECRIRE (‘S=‘, S)
13 FIN
Le schéma TANT QUE
Définition
Il s’agit d’un traitement qui ne peut s’exécuter que si une condition logique est satisfaite ; le traitement
continue alors à s’exécuter et ne s’arrêtera que lorsque cette condition cessera d’être vraie. Cette
condition logique est appelée Condition d’exécution.
Syntaxe
<Initialisation_Variables_Condition>
Tant que (Condition_Exécution_Vraie) Faire
<Traitement + Maj Variables_Condition>
Fin tantque

14
Le schéma TANT QUE
Remarques

▪ On utilise cette structure de répétition si le nombre d’itération est inconnu à l’avance.

▪ L’arrêt du traitement est généré si la(les) condition(s) d’exécution = FAUX.

▪ Le traitement itératif s’exécute zéro ou plusieurs fois.

▪ Le schéma Tant que Impose l’initialisation des variables de la condition logique.

▪ ATTENTION : N’oubliez-pas de mettre à jour les variables de la condition logique

au niveau du traitement de la boucle, sinon on risque d’avoir une Boucle INFINI !!!

15
Le Schéma TANT QUE
Exécution
- Étape 0 : Initialiser les variables de la condition d’exécution.
- Étape 1 : Tester la condition d’exécution
Si Vraie Alors Aller à étape 2
Sinon Aller à étape 4.
- Étape 2 : Exécuter le traitement de la boucle.
- Étape 3 : Mettre à jour les variables de la condition d’exécution et Aller à Étape1.
- Étape 4 : Sortir de la boucle et continuer l’exécution de l’algorithme après Fin Tant
que.

16
Exercices d’application
Application 2
Reprendre l’exercice précédent en utilisant le schéma TANT QUE.

Algorithme SommeN
VARIABLE
N, I, S : Entier
DEBUT
LIRE(N)
S 0
I 1
TANT QUE (I<=N) FAIRE
S S+I
I I+1
FIN TANT QUE
ECRIRE (‘S=‘, S)
17 FIN
Le schéma POUR
Définition
Il s’agit d’un traitement qui s’exécute et qui continue à s’exécuter sur une plage de valeurs
connue à l’avance. Le traitement s’arrêtera lorsque la variable de la boucle POUR n’appartient
plus à l’intervalle de valeurs.
La boucle POUR est utilisée lorsque le nombre d’itérations est connu à l’avance

Syntaxe
Pour nomvar Allant de Vi à Vf (Pas=p) Faire
<traitement>
FinPour
18
Le schéma POUR
Remarques
• nomvar : Compteur, doit être de type entier
• Vi et Vf : valeur initiale et valeur finale de nomvar
• P : Valeur du pas ; c’est la valeur utilisée pour incrémenter nomvar.
• L’exécution de la boucle se termine lorsque nomvar dépasse la valeur de Vf.
• Une boucle POUR peut être exécutée une ou plusieurs fois (Vf – Vi +1 fois).
• Dans un schéma POUR, l’incrémentation du compteur est automatique en fonction de
la valeur du Pas P.
• On peut utiliser un « Pas » différent de 1, dans ce cas il faut ajouter l’option ( P =
constante)
19
Le schéma POUR
Exécution
N° Traitement Traitement Explication
1 1 i=1
1 i=1 2 i<=3? 2 Vérification de la
2 condition (i<=3)? VRAI
Pour i allant de 1 à 3 faire
i=i+1 4 3 3 Bonjour
4 4 i=2
3 Ecrire (‘’ Bonjour!’’) 5 2 Vérification de la
condition (i<=3)? VRAI
Fin pour 6 3 Bonjour
7 4 i=3
8 Vérification de la
2 condition (i<=3)? FAUX

20
Le schéma POUR
Exemple 1:

Pour i allant de 1 à 5 faire

Ecrire (i * 100)

Fin pour

Exécution : i = 1 2 3 4 5 6
Résultat 100 200 300 400 500

21
Le schéma POUR
Exemple 2:

Pour i allant de 5 à 1 (pas = -1) faire

Ecrire (i * 100)

Fin pour

Exécution : i = 5 4 3 2 1 0
Résultat 500 400 300 200 100

22
Exercice d’application
Application 3
Reprendre l’exercice précédent en utilisant le schéma POUR.

Algorithme SommeN
VARIABLE
N, I, S : Entier
DEBUT
LIRE(N)
S 0
POUR I Allant de 1 à N Faire
S S+I
FIN POUR
ECRIRE (‘S=‘, S)
FIN
23
Comparaison des Trois Schémas Itératifs
Critère Schéma REPETER Schéma TANT QUE Schéma POUR
(I) (II) (III)
Nbre d’itérations connu à Pas nécessairement Pas nécessairement OUI
l’avance
Nbre de traitements de la Au moins 1 fois 0 ou plusieurs fois (Vf-Vi+1) fois
boucle
Appellation de la condition Condition d’Arrêt Condition d’Exécution Intervalle

Mise à jour de la variable Indispensable dans le Indispensable dans le Automatique en fonction


de la condition de la boucle traitement traitement de la valeur du PAS

Initialisation des variables Pas nécessairement Indispensable avant de tester Borne inférieure de
de la condition de la boucle la condition logique l’intervalle

Passage d’un schéma à un (I) (II) : OUI (II) (I) : OUI (III) (I) : OUI
autre (I) (III) : NON (II) (III) : NON (III) (II) : OUI

24

Vous aimerez peut-être aussi