Académique Documents
Professionnel Documents
Culture Documents
Introduction
2
Introduction
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.
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)
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
▪ Le traitement itératif s’exécute au moins une seule fois quelle que soit la situation.
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
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:
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:
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
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