SlideShare une entreprise Scribd logo
1  sur  25
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

Contenu connexe

Tendances

Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes 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)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs ATPENSC-Group
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheRiadh Harizi
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 

Tendances (20)

Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
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)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Cours java
Cours javaCours java
Cours java
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 

Similaire à Cours algorithme: structures répétitives

Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfFadouaBouafifSamoud
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)infcom
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
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
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)دليل الحياة
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Christophe Malpart
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
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 triYassine Anddam
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
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é].pdfC00LiMoUn
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfFadouaBouafifSamoud
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
Chapitre 7 - Les instructions de contrôle.pdf
Chapitre 7 - Les instructions de contrôle.pdfChapitre 7 - Les instructions de contrôle.pdf
Chapitre 7 - Les instructions de contrôle.pdfShiniGami0o0
 
Cours c#
Cours c#Cours c#
Cours c#zan
 

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

Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)
 
0006- Les instructions Itératives (Boucles) - Pour - Tantque - Répéter.ppsx
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
 
condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)Instructions d'itérations (les boucles)
Instructions d'itérations (les boucles)
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
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
 
Le langage C
Le langage CLe langage C
Le langage C
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
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
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
 
La Boucle Tantque
La Boucle TantqueLa Boucle Tantque
La Boucle Tantque
 
5e8a000b9840a.pdf
5e8a000b9840a.pdf5e8a000b9840a.pdf
5e8a000b9840a.pdf
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
Chapitre 7 - Les instructions de contrôle.pdf
Chapitre 7 - Les instructions de contrôle.pdfChapitre 7 - Les instructions de contrôle.pdf
Chapitre 7 - Les instructions de contrôle.pdf
 
Cours c#
Cours c#Cours c#
Cours c#
 

Dernier

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 

Dernier (14)

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 

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