Cours algorithme: structures répétitives

CHAPITRE:
Structuresdecontrôle
répétitives(Boucles) 1ere année LMD Sciences
et Technologies
Introduction
Itérative complète
Itérative à condition d’arrêt
Comparaison entre les trois boucles
Exercices d'applications
Sommaire:
1
2
3
4
5
INTRODUCTION
Les structures répétitives nous permettent de répéter un
traitement un nombre fini de fois. Elles permettent
d’exécuter plusieurs fois un bloc d’opérations
(instructions), tant qu’une condition (de continuation) est
satisfaite (retourne vrai).
On distingue deux types de boucles:
 Itérative complète (boucle POUR)
 Itérative à condition d’arrêt (Boucles TANT QUE et
RÉPÉTER)
ITÉRATIVE
COMPLÈTE
Une structure de contrôle itérative est dite complète si le nombre
de répétition est connu d’avance.
Elle est caractérisée par :
Un compteur (cpt) pour compter le nombre d’itérations est de
type entier;
L’initialisation automatique du compteur à une valeur initiale (Vi);
L’incrémentation de 1 (ou décrémentation de -1) du cpt
automatiquement à chaque répétition;
Vérification du cpt pour qu’il ne dépasse pas la valeur finale (Vf).
1.Structuredecontrôleitérative(BouclePour):
Syntaxe:
Algorithme
Pour <cpt> ← <Vi> à <Vf> pas <valeur> Faire
<Instructions>;
Finpour;
Pascal
Cas d’un traitement composé d’une
seule instruction
Cas d’un traitement composé
d’une suite d’instructions
For <cpt>:= <Vi> to <Vf> do
<Instruction>;
For <cpt>:= <Vi> to <Vf> do
Begin
<Instruction 1> ;
…….. ;
<Instruction m> ;
End ;
Remarque : Le <pas> est optionnel et permet de préciser la variation
du compteur entre chaque itération, le pas par défaut = 1 et
correspond donc à une incrémentation.
Si le pas = -1 la syntaxe en pascal devient : For <cpt>:= <Vi> downto
<Vf> do
Exemple : Calcul de la somme des 100 nombres entiers
La somme S des cents premiers nombre:
S=1+2+3+4+5+…+100.
Nous remarquons que à chaque fois on ajoute 1
(incrémentation par 1) au nombre précèdent puis on
l’ajoute à la somme S.
Solution
0
S
i
1
1
S
i
3
2
S i
6
3
S
i
10
4
S
i
12
5
S
i
0+1
1+2
3+3
6+4
10+5
…
…
S
i
….
5050
100
S
i
4950
+100
Algorithme Somme;
Variable
I,S: entier;
Début
S:=0;
Pour i← 1 à 100 faire
S ← S+i;
Finpour;
Ecrire(‘la somme =‘,S);
Fin.
ITÉRATIVEÀ
CONDITION
D’ARRÊT
Une structure itérative est dite à condition d’arrêt si le nombre de
répétition n’est pas connu d’avance, mais il dépend d’une condition.
On distingue deux types :
Boucle Tant que …… Faire
Boucle Répéter ……. Jusqu’à
Permet de répéter un bloc d’opérations (instructions) tant qu’une condition
de continuation est satisfaite (C.-à-d. retourne la valeur vrai lorsqu’elle est
évaluée).
Syntaxe:
1.LastructureTantque…Faire:
Algorithme Pascal
Tant que <condition> faire
<Instructions>;
Fintantque;
Cas d’un traitement composé
d’une seule instruction
Cas d’un traitement composé
d’une suite d’instructions
While <condition> do
<Instruction>;
While <condition> do
Begin
<Instruction 1> ;
…….. ;
<Instruction m> ;
End ;
Fonctionnement de la boucle:
La condition de continuation est évaluée.
Si sa valeur est faux, le bloc d’opérations n’est pas exécuté,
et l’exécution d’algorithme/programme se poursuit à la
suite de fintantque.
Si sa valeur est vrai, le bloc d’opérations est exécuté. À la fin
de l’exécution du bloc, on « remonte » pour évaluer à
nouveau la condition de continuation, selon les règles
précédentes.
Cette structure permet de répéter un bloc d’opérations jusqu’à ce
qu’une condition d’arrêt soit satisfaite.
Syntaxe:
2.LastructureRépéter….Jusqu'à:
Algorithme Pascal
Répéter
<Instructions>;
Jusqu’à <Condition
d’arrêt>;
Repeat
<Instructions>;
Until <Condition
d’arrêt> ;
Fonctionnementdelaboucle:
Le bloc d’instructions est exécuté. La condition de terminaison
est évaluée a chaque exécution:
Si sa valeur est faux → le bloc d’opérations est exécuté à
nouveau.
Si sa valeur est vrai → la répétition s’arrête et l’exécution se
poursuit à la suite du jusqu’à ( la fin de boucle).
COMPARAISON
ENTRE LESTROIS
BOUCLES
Quelle boucle choisir ?
Si on connait le nombre d’itération à effectuer dans la boucle, on
utilisera une boucle pour .
Si la poursuite dans la boucle est dépendante d’une condition, on
utilisera de préférence l’une des deux boucles: Tant que ou répéter.
Lien entre Pour etTant que/ Répéter:
La boucle Pour est un cas particulier de Tant Que/Répéter (cas où le
nombre d'itérations est connu et fixé) . Tout ce qu'on peut écrire avec
Pour peut être remplacé avec TantQue ou bien répéter (la réciproque
est fausse)
Pour Tant que Répéter
Pour <cpt> ← <Vi> à <Vf>
pas <valeur du pas> faire
<instructions> ;
FinPour;
<cpt> ← <V.i>;
TantQue (<cpt> <= <V.f>)
faire
<instructions>;
<cpt> ← <cpt>+<pas>;
FinTantque;
<cpt> ← <V.i>;
Répéter
<instructions>;
<cpt> ← <cpt>+<pas>;
Jusqu’à (cpt>Vf);
Condition
d’arrêt
Initialisation du
cpt
incrémentation du
cpt
Traitement
n fact
Supposons que n=5, nous avons fact= 5*4*3*2*1
= 1*2*3*4*5
Nous remarquons que le nombre s'augmente
constamment par 1.
1
fact
i
1*2 2
fact
i
1*2*3 3
fact
i
1*2*3*4 4
fact
i
1*2*3*4*5 5
fact i
Arrêt (n=i) fact= 120
Exercice:donnerl’algorithmequicalcullefactorield’unnombren(utilisant
les3boucles:pour,tantqueetrépéter).
La boucle Pour La boucle tant que La boucle Répéter
Algorithme Factoriel;
Variable
fact, n, i : entier;
Début
Ecrire (‘ donner la valeur de
n’);
Lire (n);
fact1;
pour i1 a n faire
factfact*i;
Fpour;
Ecrire (‘Le factoriel est égale a
‘,fact);
Fin.
Algorithme Factoriel;
Variable
fact, n, i : entier;
Début
Ecrire (‘ donner la valeur de
n’);
Lire (n);
fact1;
i1;
Tant que (i<= n) faire
factfact*i;
ii+1;
Ftq;
Ecrire (‘Le factoriel est égale a
‘,fact);
Fin.
Algorithme Factoriel;
Variable
fact, n, i : entier;
Début
Ecrire (‘ donner la valeur de
n’);
Lire (n);
fact1;
i1;
Répéter
factfact*i;
ii+1;
Jusqu’à (i>n);
Ecrire (‘Le factoriel est égale a
‘,fact);
Fin.
EXERCICES
D'APPLICATIONS
Exercice N°1 :
Ecrire un algorithme puis un programme qui demande
un nombre de départ, et qui calcule la somme des
entiers jusqu’à ce nombre. Par exemple, si l’on entre
5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15
NB : on souhaite afficher uniquement le résultat, pas
la décomposition du calcul.
Exercice N°2 :
Ecrire un programme en Pascal qui calcule et
affiche la somme suivante :
S=-1+1/2-1/3+1/4-1/5+⋯+1/n
Exercice N°3 :
Ecrire un programme en Pascal qui lit une suite de
nombres se terminant par 0 et calcule et affiche le
nombre des nombres positifs et le nombre des
nombres négatifs.
Exercice N°4 :
Un nombre est parfait s’il est égal à la somme de ses
diviseurs stricts (différents de lui-même). Ainsi par exemple,
l’entier 6 est parfait car 6 = 1 + 2 + 3. Écrire un programme
permettant de déterminer si un entier naturel est un nombre
parfait.
Tester le programme avec les nombres : 6, 28, 496, 8128
1 sur 25

Recommandé

Exercices en turbo pascal sur les nombres par
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
18.5K vues8 diapositives
Cours Algorithme: Tableau par
Cours Algorithme: TableauCours Algorithme: Tableau
Cours Algorithme: TableauInforMatica34
1K vues29 diapositives
Exercices en turbo pascal sur la récursivité par
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitésalah fenni
8.3K vues5 diapositives
Devoirs Algorithme + correction pour 4 si par
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
41.3K vues165 diapositives
Récursivité par
RécursivitéRécursivité
Récursivitémohamed_SAYARI
5.9K vues3 diapositives
Cours Algorithme: Matrice par
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
1.5K vues21 diapositives

Contenu connexe

Tendances

Examen principal + Correction ASD par
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
6.9K vues5 diapositives
Exercices_Python_Fenni_2023 -corrigé.pdf par
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
4.3K vues86 diapositives
Algorithmes d'approximation par
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximationmohamed_SAYARI
21.9K vues13 diapositives
exercices-corriges-dalgorithmique par
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
25.6K vues24 diapositives
Structure de Contrôle par
Structure de Contrôle Structure de Contrôle
Structure de Contrôle InforMatica34
494 vues37 diapositives
Algorithmes de tri par
Algorithmes de triAlgorithmes de tri
Algorithmes de trimohamed_SAYARI
9.9K vues4 diapositives

Tendances(20)

Examen principal + Correction ASD par Ines Ouaz
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
Ines Ouaz6.9K vues
Exercices_Python_Fenni_2023 -corrigé.pdf par salah fenni
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
salah fenni4.3K vues
Algorithmes d'approximation par mohamed_SAYARI
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
mohamed_SAYARI21.9K vues
exercices-corriges-dalgorithmique par fast xp
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp25.6K vues
Algorithmique programmation2018 par salah fenni
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
salah fenni2.4K vues
Chapitre 4 récursivité par Sana Aroussi
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi5.6K vues
Serie recurrents & arithmetiques par mohamed_SAYARI
Serie recurrents & arithmetiquesSerie recurrents & arithmetiques
Serie recurrents & arithmetiques
mohamed_SAYARI10.2K vues
Corrige exercices pascal_fenni_2018 par salah fenni
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
salah fenni6.3K vues
resume algo 2023.pdf par salah fenni
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
salah fenni1.9K vues
Travaux dirigés 1: algorithme & structures de données (corrigés) par Ines Ouaz
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
Ines Ouaz75.7K vues
Chapitre 2 complexité par Sana Aroussi
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi7.4K vues
algorithme tronc commun lycée par Kayl Mido
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
Kayl Mido31.9K vues
Chap04 les-algorithme-de-tri-et-de-recherche par Riadh Harizi
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
Riadh Harizi3.4K vues

Similaire à Cours algorithme: structures répétitives

Ch4- les structures répétitives.pdf par
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfFadouaBouafifSamoud
18 vues22 diapositives
Chap05 (buchi) par
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)infcom
613 vues36 diapositives
Algorithmes _6_ Boucles Répéter.pdf par
Algorithmes _6_ Boucles Répéter.pdfAlgorithmes _6_ Boucles Répéter.pdf
Algorithmes _6_ Boucles Répéter.pdfderbaliines
4 vues4 diapositives
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx par
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsxBenacerLeila
35 vues15 diapositives
condition et boucle (2).pptx par
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
4 vues32 diapositives
Chapitre2 prog dsplf3 par
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Responsable d'Isimmtv
1.7K vues48 diapositives

Similaire à Cours algorithme: structures répétitives(20)

Chap05 (buchi) par infcom
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)
infcom613 vues
Algorithmes _6_ Boucles Répéter.pdf par derbaliines
Algorithmes _6_ Boucles Répéter.pdfAlgorithmes _6_ Boucles Répéter.pdf
Algorithmes _6_ Boucles Répéter.pdf
derbaliines4 vues
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx par BenacerLeila
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
BenacerLeila35 vues
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri par Yassine Anddam
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
Yassine Anddam2.4K vues
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf par C00LiMoUn
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
C00LiMoUn41 vues
Algorithme & structures de données Chap II par Ines Ouaz
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
Ines Ouaz4.7K vues
Chapitre 7 - Les instructions de contrôle.pdf par ShiniGami0o0
Chapitre 7 - Les instructions de contrôle.pdfChapitre 7 - Les instructions de contrôle.pdf
Chapitre 7 - Les instructions de contrôle.pdf
ShiniGami0o010 vues

Dernier

La Lettre Formelle.pptx par
La Lettre Formelle.pptxLa Lettre Formelle.pptx
La Lettre Formelle.pptxstudymaterial91010
14 vues10 diapositives
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 par
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23BenotGeorges3
6 vues17 diapositives
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de... par
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...M2i Formation
6 vues36 diapositives
Abréviations et symboles (1).pdf par
Abréviations et symboles (1).pdfAbréviations et symboles (1).pdf
Abréviations et symboles (1).pdfStagiaireLearningmat
25 vues2 diapositives
Formation M2i - Augmenter son impact en communication et en management grâce... par
Formation M2i - Augmenter son impact en communication et en management grâce...Formation M2i - Augmenter son impact en communication et en management grâce...
Formation M2i - Augmenter son impact en communication et en management grâce...M2i Formation
41 vues55 diapositives
Julia Margaret Cameron par
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret CameronTxaruka
65 vues20 diapositives

Dernier(15)

Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 par BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23
BenotGeorges36 vues
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de... par M2i Formation
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...
M2i Formation6 vues
Formation M2i - Augmenter son impact en communication et en management grâce... par M2i Formation
Formation M2i - Augmenter son impact en communication et en management grâce...Formation M2i - Augmenter son impact en communication et en management grâce...
Formation M2i - Augmenter son impact en communication et en management grâce...
M2i Formation41 vues
Julia Margaret Cameron par Txaruka
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret Cameron
Txaruka65 vues
Présentation de lancement SAE105 par JeanLucHusson
Présentation de lancement SAE105Présentation de lancement SAE105
Présentation de lancement SAE105
JeanLucHusson20 vues
Cours Audit General 2019 (1).prof tatouti .pdf par Abdelghani19
Cours Audit  General 2019 (1).prof tatouti .pdfCours Audit  General 2019 (1).prof tatouti .pdf
Cours Audit General 2019 (1).prof tatouti .pdf
Abdelghani195 vues
Julia Margaret Cameron par Txaruka
Julia Margaret Cameron Julia Margaret Cameron
Julia Margaret Cameron
Txaruka5 vues
Newsletter SPW Agriculture en province de LIEGE du 28-11-23 par BenotGeorges3
Newsletter SPW Agriculture en province de LIEGE du 28-11-23Newsletter SPW Agriculture en province de LIEGE du 28-11-23
Newsletter SPW Agriculture en province de LIEGE du 28-11-23
BenotGeorges323 vues
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2... par BenotGeorges3
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
Newsletter SPW Agriculture en province du Luxembourg du 13-11-23 (adapté au 2...
BenotGeorges324 vues
MNGTCOUT PROJET 04112023.pptx par HAIDI2
MNGTCOUT PROJET 04112023.pptxMNGTCOUT PROJET 04112023.pptx
MNGTCOUT PROJET 04112023.pptx
HAIDI26 vues

Cours algorithme: structures répétitives

  • 2. Introduction Itérative complète Itérative à condition d’arrêt Comparaison entre les trois boucles Exercices d'applications Sommaire: 1 2 3 4 5
  • 4. Les structures répétitives nous permettent de répéter un traitement un nombre fini de fois. Elles permettent d’exécuter plusieurs fois un bloc d’opérations (instructions), tant qu’une condition (de continuation) est satisfaite (retourne vrai). On distingue deux types de boucles:  Itérative complète (boucle POUR)  Itérative à condition d’arrêt (Boucles TANT QUE et RÉPÉTER)
  • 6. Une structure de contrôle itérative est dite complète si le nombre de répétition est connu d’avance. Elle est caractérisée par : Un compteur (cpt) pour compter le nombre d’itérations est de type entier; L’initialisation automatique du compteur à une valeur initiale (Vi); L’incrémentation de 1 (ou décrémentation de -1) du cpt automatiquement à chaque répétition; Vérification du cpt pour qu’il ne dépasse pas la valeur finale (Vf). 1.Structuredecontrôleitérative(BouclePour):
  • 7. Syntaxe: Algorithme Pour <cpt> ← <Vi> à <Vf> pas <valeur> Faire <Instructions>; Finpour; Pascal Cas d’un traitement composé d’une seule instruction Cas d’un traitement composé d’une suite d’instructions For <cpt>:= <Vi> to <Vf> do <Instruction>; For <cpt>:= <Vi> to <Vf> do Begin <Instruction 1> ; …….. ; <Instruction m> ; End ;
  • 8. Remarque : Le <pas> est optionnel et permet de préciser la variation du compteur entre chaque itération, le pas par défaut = 1 et correspond donc à une incrémentation. Si le pas = -1 la syntaxe en pascal devient : For <cpt>:= <Vi> downto <Vf> do Exemple : Calcul de la somme des 100 nombres entiers La somme S des cents premiers nombre: S=1+2+3+4+5+…+100. Nous remarquons que à chaque fois on ajoute 1 (incrémentation par 1) au nombre précèdent puis on l’ajoute à la somme S.
  • 9. Solution 0 S i 1 1 S i 3 2 S i 6 3 S i 10 4 S i 12 5 S i 0+1 1+2 3+3 6+4 10+5 … … S i …. 5050 100 S i 4950 +100 Algorithme Somme; Variable I,S: entier; Début S:=0; Pour i← 1 à 100 faire S ← S+i; Finpour; Ecrire(‘la somme =‘,S); Fin.
  • 11. Une structure itérative est dite à condition d’arrêt si le nombre de répétition n’est pas connu d’avance, mais il dépend d’une condition. On distingue deux types : Boucle Tant que …… Faire Boucle Répéter ……. Jusqu’à
  • 12. Permet de répéter un bloc d’opérations (instructions) tant qu’une condition de continuation est satisfaite (C.-à-d. retourne la valeur vrai lorsqu’elle est évaluée). Syntaxe: 1.LastructureTantque…Faire: Algorithme Pascal Tant que <condition> faire <Instructions>; Fintantque; Cas d’un traitement composé d’une seule instruction Cas d’un traitement composé d’une suite d’instructions While <condition> do <Instruction>; While <condition> do Begin <Instruction 1> ; …….. ; <Instruction m> ; End ;
  • 13. Fonctionnement de la boucle: La condition de continuation est évaluée. Si sa valeur est faux, le bloc d’opérations n’est pas exécuté, et l’exécution d’algorithme/programme se poursuit à la suite de fintantque. Si sa valeur est vrai, le bloc d’opérations est exécuté. À la fin de l’exécution du bloc, on « remonte » pour évaluer à nouveau la condition de continuation, selon les règles précédentes.
  • 14. Cette structure permet de répéter un bloc d’opérations jusqu’à ce qu’une condition d’arrêt soit satisfaite. Syntaxe: 2.LastructureRépéter….Jusqu'à: Algorithme Pascal Répéter <Instructions>; Jusqu’à <Condition d’arrêt>; Repeat <Instructions>; Until <Condition d’arrêt> ;
  • 15. Fonctionnementdelaboucle: Le bloc d’instructions est exécuté. La condition de terminaison est évaluée a chaque exécution: Si sa valeur est faux → le bloc d’opérations est exécuté à nouveau. Si sa valeur est vrai → la répétition s’arrête et l’exécution se poursuit à la suite du jusqu’à ( la fin de boucle).
  • 17. Quelle boucle choisir ? Si on connait le nombre d’itération à effectuer dans la boucle, on utilisera une boucle pour . Si la poursuite dans la boucle est dépendante d’une condition, on utilisera de préférence l’une des deux boucles: Tant que ou répéter. Lien entre Pour etTant que/ Répéter: La boucle Pour est un cas particulier de Tant Que/Répéter (cas où le nombre d'itérations est connu et fixé) . Tout ce qu'on peut écrire avec Pour peut être remplacé avec TantQue ou bien répéter (la réciproque est fausse)
  • 18. Pour Tant que Répéter Pour <cpt> ← <Vi> à <Vf> pas <valeur du pas> faire <instructions> ; FinPour; <cpt> ← <V.i>; TantQue (<cpt> <= <V.f>) faire <instructions>; <cpt> ← <cpt>+<pas>; FinTantque; <cpt> ← <V.i>; Répéter <instructions>; <cpt> ← <cpt>+<pas>; Jusqu’à (cpt>Vf); Condition d’arrêt Initialisation du cpt incrémentation du cpt
  • 19. Traitement n fact Supposons que n=5, nous avons fact= 5*4*3*2*1 = 1*2*3*4*5 Nous remarquons que le nombre s'augmente constamment par 1. 1 fact i 1*2 2 fact i 1*2*3 3 fact i 1*2*3*4 4 fact i 1*2*3*4*5 5 fact i Arrêt (n=i) fact= 120 Exercice:donnerl’algorithmequicalcullefactorield’unnombren(utilisant les3boucles:pour,tantqueetrépéter).
  • 20. La boucle Pour La boucle tant que La boucle Répéter Algorithme Factoriel; Variable fact, n, i : entier; Début Ecrire (‘ donner la valeur de n’); Lire (n); fact1; pour i1 a n faire factfact*i; Fpour; Ecrire (‘Le factoriel est égale a ‘,fact); Fin. Algorithme Factoriel; Variable fact, n, i : entier; Début Ecrire (‘ donner la valeur de n’); Lire (n); fact1; i1; Tant que (i<= n) faire factfact*i; ii+1; Ftq; Ecrire (‘Le factoriel est égale a ‘,fact); Fin. Algorithme Factoriel; Variable fact, n, i : entier; Début Ecrire (‘ donner la valeur de n’); Lire (n); fact1; i1; Répéter factfact*i; ii+1; Jusqu’à (i>n); Ecrire (‘Le factoriel est égale a ‘,fact); Fin.
  • 22. Exercice N°1 : Ecrire un algorithme puis un programme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15 NB : on souhaite afficher uniquement le résultat, pas la décomposition du calcul.
  • 23. Exercice N°2 : Ecrire un programme en Pascal qui calcule et affiche la somme suivante : S=-1+1/2-1/3+1/4-1/5+⋯+1/n
  • 24. Exercice N°3 : Ecrire un programme en Pascal qui lit une suite de nombres se terminant par 0 et calcule et affiche le nombre des nombres positifs et le nombre des nombres négatifs.
  • 25. Exercice N°4 : Un nombre est parfait s’il est égal à la somme de ses diviseurs stricts (différents de lui-même). Ainsi par exemple, l’entier 6 est parfait car 6 = 1 + 2 + 3. Écrire un programme permettant de déterminer si un entier naturel est un nombre parfait. Tester le programme avec les nombres : 6, 28, 496, 8128