Informatique I Université de Khenchela
1ere Année- MI -2013/2014 Département d’Informatique
Page | 1
CHAPITRE III : Les Traitements répétitifs
Il arrive souvent dans un algorithme qu'une même action soit répétée plusieurs fois, avec
éventuellement quelques variantes dans les paramètres qui précisent le déroulement de l’action.
Exemple :
Le maximum de deux ou de trois variables est simple à résoudre« le nombre de test est
minimum 6 »,
Mais pour 4,5 …100 variables si le nombre de variables est égal à 100, on ne va pas
s’amuser à déclarer 100 variables ni à répéter les instructions si sinon au minimum 100*100 fois.
Il est alors fastidieux d'écrire un algorithme qui contient de nombreuses fois la même
instruction. De plus, ce nombre peut dépendre du déroulement de l'algorithme.
Il est alors impossible de savoir à l'avance combien de fois la même instruction doit être
décrite.
Pour gérer ces cas, on fait appel à des instructions en boucle qui ont pour effet de répéter
plusieurs fois une même instruction.
1. La boucle TantQue
Syntaxe
tantque condition faire
instruction 1
instruction 2
...
Fintantque
Fonctionnement :
1. la condition est tout d'abord calculée,
2. si le calcul de la condition donne vrai, les instructions comprises entre tant que et fin tant
que sont exécutées,
3. puis l'exécution recommence au point 1,
4. la suite, s'il y en a une après fin tant que, est exécutée dès que le calcul de la condition
effectué au point 1 donne faux.
Remarques
les variables qui apparaissent dans l'expression doivent donc toutes avoir une valeur
avant.
Les instructions contenues dans l’instruction tant que peuvent ne jamais être exécutées,
si dès la première fois, l'expression booléenne a la valeur fausse.
Il est obligatoire que la condition puisse être changée par les instructions, sinon notre
algorithme ne terminerait jamais.
Informatique I Université de Khenchela
1ere Année- MI -2013/2014 Département d’Informatique
Page | 2
Exemple 1 : afficher la somme des 10 premiers nombres entiers positifs.
Algorithme exemple1
Variables I, somme : entier
Début
I1
Somme0
Tantque I<=10 faire
Somme somme+I
Ii+1
Fintantque
Ecrire (somme)
Fin.
Trace de l’algorithme
I<=10(condition)
vrai
vrai
vrai
vrai
vrai
vrai
vrai
vrai
vrai
faux
I
1
2
3
4
5
6
7
9
10
11
somme
1
3
6
10
15
21
28
45
55
Le résultat : affichage sur écran la valeur de la variable somme=55
Exemple2 : Un professeur veut calculer la moyenne des notes des étudiants à un module, le
nombre d’étudiants est inconnu à l’avance : si le professeur veut calculer la moyenne des
notes des étudiants présents à un module , il n’a pas compté le nombre de présents avant de lancer
le programme et le programme doit continuer tant qu’il reste des copies. Dans ce cas on ne
peut même pas estimer le nombre de variables qu’on va utiliser.
Algorithme moyenne du module
Variables
NOTE : Réel {note d'un étudiant}
NB : Entier {nombre d'étudiants présents}
RESTE : Chaîne de caractères {critère de continuation}
CUMUL : Réel {cumul des notes des étudiants}
MOY : Réel {moyenne du module}
Début
RESTE "OUI"
CUMUL 0
NB 0
Tantque RESTE = "OUI" faire
Écrire ("Note de l'étudiant ?")
Lire(NOTE)
CUMUL CUMUL + NOTE
NB NB + 1
Écrire ("Reste-t-il des copies ?")
Lire (RESTE)
FinTantQue
MOY CUMUL / NB
Écrire ("Moyenne du module = " ; MOY)
Fin.
Initialisation du compteur
Condition à vérifier
Incrémentation du compteur
Informatique I Université de Khenchela
1ere Année- MI -2013/2014 Département d’Informatique
Page | 3
Trace de l'algorithme
Le professeur a des copies qu'il n'a pas comptées (notes respectives 12, 14, 10, 8 et 11)
RESTE : "Oui"
CUMUL : 0
NB : 0
Trace de l’algorithme
Condition
vérifiée
vrai
vrai
vrai
vrai
vrai
note
12
14
10
8
11
cumul
12
26
36
44
55
NB
1
2
3
4
5
reste
OUI
OUI
OUI
OUI
NON
Le résultat : affichage sur écran : Moyenne du module = 11
2. La boucle Pour
L’instruction pour permet de répéter n fois un traitement ; elle permet de plus de faire évoluer une
variable (appelée "compteur"), en lui affectant pour chacune des exécutions une nouvelle valeur
(augmentée de 1 à chaque fois).
Syntaxe
Pour compteur de valeurdebut à valeurfin faire
instruction 1
instruction 2
...
Fin pour
Dont le fonctionnement est le suivant :
1. les instructions comprises entre pour et finpour sont exécutées une première fois, avec la
variable compteur valant valeurdebut
2. ces instructions sont réexécutées, avec la variable compteur valant valeurdebut+1
3. ...
4. les instructions sont exécutées une dernière fois, avec la variable compteur valant valeurfin
5. les instructions suivant la construction pour sont exécutées ensuite.
Remarque :
on voit que la boucle pour ne nécessite pas d’incrémentation ni d’initialisation au
préalable.
Les instructions sont exécutées autant de fois qu'il y a d'entiers entre valeurdebut et
valeurfin : c'est-à-dire en particulier 1 fois si valeurdebut=valeurfin, 0 fois si
valeurdebut>valeurfin.
la variable compteur ne doit pas être modifié par les instructions contenues dans
l’instruction pour, sa valeur s’incrémente automatiquement.
Informatique I Université de Khenchela
1ere Année- MI -2013/2014 Département d’Informatique
Page | 4
Exemple 3 : afficher la somme des 10 premiers nombres entiers positifs.
Algorithme exemple3
Variables I, somme : entier
Début
Somme0
Pour I de 1 à 10 faire
Somme somme+I
Fin pour
Ecrire (somme)
Fin.
3. La boucle Répéter
Syntaxe
Répéter
Instruction 1
Instruction 2
...
Jusqu’à condition
Dont le fonctionnement est le suivant :
1. les instructions comprises entre répéter et jusqu'à sont exécutées
2. la condition est alors calculée,
3. si le calcul de la condition donne faux, l'exécution recommence au point 1; si le calcul de la
condition donne vrai, l'exécution continue avec la suite, s'il y en a une après jusqu'à.
Remarques
Les instructions contenues dans l’instruction répéter sont toujours exécutées au moins une
fois.
Il est obligatoire que la condition puisse être changée par les instructions, sinon notre
algorithme ne terminerait jamais. la condition d’une instruction répéter est aussi appelée «
condition d’arrêt ».
Il est nécessaire qu'au moins une variable intervenant lors de l'évaluation de fin de
boucle soit sujette à modification à l'intérieur de la structure exécutive interne à la boucle.
Informatique I Université de Khenchela
1ere Année- MI -2013/2014 Département d’Informatique
Page | 5
Exemple 4 : afficher la somme des 10 premiers nombres entiers positifs.
Algorithme exemple4
Variables I, somme : entier
Début
Somme0 i1
Répéter
Somme somme+I
II+1
Jusqu’à i>10
Ecrire (somme)
Fin.
4. L'imbrication des boucles
Comme les structures conditionnelles, les boucles peuvent être imbriquées. Cette partie n'apporte
pas de notion nouvelle mais permet de souligner certains aspects délicats.
Le morceau d'algorithme suivant permet simplement d'afficher 5 étoiles. Il n'y a pas d'imbrication
pour l'instant.
Pour i de 1 jusqu'à 5 Faire
Ecrire («*")
Finpour * * * * * *
Si on inclut cette séquence à l'intérieur d'une boucle qui se répète 3 fois, on va effectuer 3 fois
l'affichage de 5 étoiles donc on va obtenir l'affichage de 15 étoiles.
Pour j de 1 jusqu'à 3 Faire
Pour i de 1 jusqu'à 5 Faire
Afficher "*"
Finpour * * * * * * * * * * * * * * *
Finpour
Remarque TRES importante: Lorsque l'on imbrique des boucles, IL FAUT UTILISER DES
COMPTEURS DIFFERENTS pour chaque boucle.
Pour pouvoir afficher 3 lignes de 5 étoiles, au lieu de 15 étoiles à la suite, il suffit d'ajouter un
saut de ligne après le Pour le plus imbriqué.
*****
*****
*****
Exemple Pascal : For j := 1 to 3 do
begin
For i := 1 to 5 do
Write( "*" ) ;
Writeln ;
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!