SlideShare une entreprise Scribd logo
1  sur  26
COURS D’ALGORITHME &
STRUCTURES DE DONNÉES (ASD I)
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
INSTITUT DES HAUTES ETUDES DE SOUSSE
CHAPITRE II: LES STRUCTURES
CONDITIONNELLES & ITÉRATIVES
1
Plan du Cours
2014/2015Algorithme & structures de données I2
I. Introduction
II. Structure de sélection simple
III. Structure de sélection multiple
IV. La structure « Pour … Faire »
V. La structure « Répéter … Jusqu’à »
VI. La structure « Tant Que … Faire »
VII. Synthèse
 Exercices d’application
Introduction
2014/2015Algorithme & structures de données I3
 En programmation, on est souvent confronté à des
situations où on a besoin de choisir entre deux ou
plusieurs traitements selon la réalisation ou non
d’une certaine condition ; d’où la notion de traitement
conditionnel.
 On distingue deux structures de traitement
conditionnel à savoir :
 La structure de sélection simple dans laquelle on
a à choisir entre deux traitements au plus ;
 La structure de sélection multiple dans laquelle
on a la possibilité de choisir un traitement parmi
plusieurs.
Structure de sélection simple (1)
2014/2015Algorithme & structures de données I4
 Forme simple:
 Cette primitive a pour effet d’exécuter la séquence
d’instructions si et seulement si la condition est
vérifiée.
Exemple
2014/2015Algorithme & structures de données I5
 Ecrire un algorithme qui calcule le salaire d’un employé à
partir du nombre d’heures travaillées, du taux horaire et
du nombre d’années de service. Les employés ayant une
ancienneté de plus de 10 ans bénéficient d’une allocation
supplémentaire de 35 D.
Structure de sélection simple (2)
2014/2015Algorithme & structures de données I6
 Forme alternative
 Cette primitive a pour effet d’exécuter la première
séquence d’instructions si la condition est vérifiée ou bien
la deuxième séquence d’instructions dans le cas
contraire.
Exemple 1
2014/2015Algorithme & structures de données I7
 Ecrire un algorithme qui calcule et affiche la valeur
absolue d’un entier quelconque lu au clavier.
Exemple 2
2014/2015Algorithme & structures de données I8
 Ecrire un algorithme qui lit un entier et affiche
ensuite s’il est pair ou impair.
Structure de sélection multiple
2014/2015Algorithme & structures de données I9
 La séquence d’instructions numéro i sera exécuté si
la valeur du sélecteur appartient à la ième liste de
valeurs. Le sélecteur est une variable ou une
expression de type scalaire (le résultat est un entier
ou un caractère).
Exercice
2014/2015Algorithme & structures de données I10
 Ecrire un algorithme qui permet de lire un numéro
compris entre 1 et 12 et d’afficher le nom du mois
correspondant. Si le numéro entré est en dehors de
cet intervalle, un message d’erreur doit être affiché.
Exercices d’application
2014/2015Algorithme & structures de données I11
 Exercice 1:
 Ecrire un algorithme permettant de résoudre dans Â
une équation du second degré de la forme ax2+bx+c
=0.
 Exercice 2:
 Ecrire un algorithme pemettant de simuler une
calculatrice à 4 opérations (+, -, *, et /). Utiliser la
structure « selon » pour le choix de l’opération à
effectuer.
 Exercice 3:
 Ecrire un algorithme qui lit un caractère au clavier puis affiche
s’il s’agit d’une lettre minuscule, d’une lettre majuscule,
d’un chiffre ou d’un caractère spécial.
Structures itératives
2014/2015Algorithme & structures de données I12
 Introduction
 La notion d’itération est une des notions fondamentales
de l’algorithmique. On l’utilise souvent quand on doit
exécuter le même traitement un certain nombre de fois
qui peut être connu à l’avance ou non. Dans ce dernier
cas, l’arrêt de l’itération est déclenché par une condition
sur l’état des variables dans le programme.
La structure « Pour… Faire »
2014/2015Algorithme & structures de données I13
 Syntaxe générale:
 Principe de fonctionnement:
 Le compteur (variable de
contrôle) prend la valeur
initiale au moment d’accès
à la boucle puis, à chaque
parcours, il passe
automatiquement à la
valeur suivante dans son
domaine jusqu’à atteindre la
valeur finale.
Exercice 1
2014/2015Algorithme & structures de données I14
 Ecrire un algorithme qui lit un entier positif n puis
affiche tous ses diviseurs.
Exercice 2
2014/2015Algorithme & structures de données I15
 Ecrire un algorithme qui lit un entier positif n puis
calcule et affiche son factoriel selon la formule n! = 1
X 2 X … X n.
La structure « Répéter…jusqu’à »
2014/2015Algorithme & structures de données I16
 Syntaxe générale:
 Principe de
fonctionnement:
 La séquence
d’instructions est
exécutée une première
fois, puis l’exécution se
répète jusqu’à ce que la
condition de sortie soit
vérifiée.
Remarques
2014/2015Algorithme & structures de données I17
 1- Contrairement à une boucle « pour », dans une
boucle « répéter », l’initialisation et l’avancement du
compteur doivent être gérés manuellement par le
programmeur.
 2- Dans une boucle « répéter », il faut toujours
s’assurer que la condition de sortie sera vérifiée
après un nombre fini de parcours.
Exercice 1
2014/2015Algorithme & structures de données I18
 Réécrire l’algorithme diviseurs en remplaçant la
boucle « pour » par une boucle « répéter »
Exercice 2
2014/2015Algorithme & structures de données I19
 Réécrire l’algorithme facto en remplaçant la boucle «
pour » par une boucle « répéter »
La structure « TantQue …faire »
2014/2015Algorithme & structures de données I20
 Syntaxe générale:
 Principe de fonctionnement:
 Le traitement est exécuté
aussi longtemps que la
condition est vérifiée. Si
dès le début cette condition
est fausse, le traitement ne
sera exécuté aucune fois.
 Une boucle « tantque »
peut s’exécuter 0, 1 ou n
fois.
Exercice 1
2014/2015Algorithme & structures de données I21
 Réécrire l’algorithme diviseurs en remplaçant la
boucle « répéter » par une boucle « tantque ».
Exercice 2
2014/2015Algorithme & structures de données I22
 Réécrire l’algorithme facto en remplaçant la boucle «
répéter » par une boucle « tantque ».
Synthèse
2014/2015Algorithme & structures de données I23
 Passage d’une structure itérative à une autre:
 (*) : Le passage d’une boucle « répéter » ou « tantque »
à une boucle « pour » n’est possible que si le nombre de
parcours est connu à l’avance.
 (**) : Lors du passage d’une boucle « pour » ou «
tantque» à une boucle « répéter », faire attention aux cas
particuliers (le traitement sera toujours exécuté au moins
une fois).
Synthèse
2014/2015Algorithme & structures de données I24
 Choix de la structure itérative
Exercices d’application
2014/2015Algorithme & structures de données I25
 Exercice 1:
Ecrire un algorithme permettant de :
 Lire un nombre fini de notes comprises entre 0 et 20
 Afficher la meilleure note, la mauvaise note et la moyenne de
toutes les notes.
 Exercice 2:
Calculer ab avec a réel et b entier par multiplications successives.
 Exercice 3:
Ecrire un algorithme qui lit un entier positif et vérifie si ce nombre est
premier ou non.
Remarque : un nombre premier n’est divisible que par 1 ou par lui-
même.
 Exercice 4:
Ecrire un algorithme qui détermine tous les nombres premiers
inférieurs à une valeur donnée.
Exercices d’application
2014/2015Algorithme & structures de données I26
 Exercice 5:
Ecrire un algorithme qui lit deux entiers A et B puis calcule et affiche leur
PGCD en utilisant la méthode suivante :
 Si A = B ; PGCD(A,B) = A
 Si A > B ; PGCD(A,B) = PGCD(A–B,B)
 Si B > A ; PGCD(A,B) = PGCD(A,B-A)
Exemple : PGCD(18,45)=PGCD(18,27)=PGCD(18,9)=PGCD(9,9)=9
 Exercice 6:
Ecrire un algorithme qui calcule le PPCM (Plus Petit
Commun Multiple) de 2 entiers A et B en utilisant la
méthode suivante :
 Permuter, si nécessaire, les données de façon à ranger dans A le
plus grand des 2 entiers ;
 Chercher le plus petit multiple de A qui est aussi multiple de B.
Exemple : PPCM(6,8) = PPCM(8,6) = 24.

Contenu connexe

Tendances

Tendances (19)

Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
Les fondamentaux de langage C#
Les fondamentaux de langage C#Les fondamentaux de langage C#
Les fondamentaux de langage C#
 
Cours algorithmique02
Cours algorithmique02Cours algorithmique02
Cours algorithmique02
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Eléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIEléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLI
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Le langage C
Le langage CLe langage C
Le langage C
 
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
 
Asd
AsdAsd
Asd
 
Fonction index
Fonction indexFonction index
Fonction index
 
Le langage C
Le langage CLe langage C
Le langage C
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 

Similaire à Chap3

exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp
 

Similaire à Chap3 (20)

Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Chapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdfChapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdf
 
algo thrichi.pdf
algo thrichi.pdfalgo thrichi.pdf
algo thrichi.pdf
 
Algorithme chap 2
Algorithme chap 2Algorithme chap 2
Algorithme chap 2
 
Algorithme chap 3
Algorithme chap 3Algorithme chap 3
Algorithme chap 3
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmique
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdf
 
2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Asd1
Asd1Asd1
Asd1
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage Machine
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptx
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
 
6752018 algorithmique
6752018 algorithmique6752018 algorithmique
6752018 algorithmique
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 

Dernier (20)

La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 

Chap3

  • 1. COURS D’ALGORITHME & STRUCTURES DE DONNÉES (ASD I) 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I INSTITUT DES HAUTES ETUDES DE SOUSSE CHAPITRE II: LES STRUCTURES CONDITIONNELLES & ITÉRATIVES 1
  • 2. Plan du Cours 2014/2015Algorithme & structures de données I2 I. Introduction II. Structure de sélection simple III. Structure de sélection multiple IV. La structure « Pour … Faire » V. La structure « Répéter … Jusqu’à » VI. La structure « Tant Que … Faire » VII. Synthèse  Exercices d’application
  • 3. Introduction 2014/2015Algorithme & structures de données I3  En programmation, on est souvent confronté à des situations où on a besoin de choisir entre deux ou plusieurs traitements selon la réalisation ou non d’une certaine condition ; d’où la notion de traitement conditionnel.  On distingue deux structures de traitement conditionnel à savoir :  La structure de sélection simple dans laquelle on a à choisir entre deux traitements au plus ;  La structure de sélection multiple dans laquelle on a la possibilité de choisir un traitement parmi plusieurs.
  • 4. Structure de sélection simple (1) 2014/2015Algorithme & structures de données I4  Forme simple:  Cette primitive a pour effet d’exécuter la séquence d’instructions si et seulement si la condition est vérifiée.
  • 5. Exemple 2014/2015Algorithme & structures de données I5  Ecrire un algorithme qui calcule le salaire d’un employé à partir du nombre d’heures travaillées, du taux horaire et du nombre d’années de service. Les employés ayant une ancienneté de plus de 10 ans bénéficient d’une allocation supplémentaire de 35 D.
  • 6. Structure de sélection simple (2) 2014/2015Algorithme & structures de données I6  Forme alternative  Cette primitive a pour effet d’exécuter la première séquence d’instructions si la condition est vérifiée ou bien la deuxième séquence d’instructions dans le cas contraire.
  • 7. Exemple 1 2014/2015Algorithme & structures de données I7  Ecrire un algorithme qui calcule et affiche la valeur absolue d’un entier quelconque lu au clavier.
  • 8. Exemple 2 2014/2015Algorithme & structures de données I8  Ecrire un algorithme qui lit un entier et affiche ensuite s’il est pair ou impair.
  • 9. Structure de sélection multiple 2014/2015Algorithme & structures de données I9  La séquence d’instructions numéro i sera exécuté si la valeur du sélecteur appartient à la ième liste de valeurs. Le sélecteur est une variable ou une expression de type scalaire (le résultat est un entier ou un caractère).
  • 10. Exercice 2014/2015Algorithme & structures de données I10  Ecrire un algorithme qui permet de lire un numéro compris entre 1 et 12 et d’afficher le nom du mois correspondant. Si le numéro entré est en dehors de cet intervalle, un message d’erreur doit être affiché.
  • 11. Exercices d’application 2014/2015Algorithme & structures de données I11  Exercice 1:  Ecrire un algorithme permettant de résoudre dans  une équation du second degré de la forme ax2+bx+c =0.  Exercice 2:  Ecrire un algorithme pemettant de simuler une calculatrice à 4 opérations (+, -, *, et /). Utiliser la structure « selon » pour le choix de l’opération à effectuer.  Exercice 3:  Ecrire un algorithme qui lit un caractère au clavier puis affiche s’il s’agit d’une lettre minuscule, d’une lettre majuscule, d’un chiffre ou d’un caractère spécial.
  • 12. Structures itératives 2014/2015Algorithme & structures de données I12  Introduction  La notion d’itération est une des notions fondamentales de l’algorithmique. On l’utilise souvent quand on doit exécuter le même traitement un certain nombre de fois qui peut être connu à l’avance ou non. Dans ce dernier cas, l’arrêt de l’itération est déclenché par une condition sur l’état des variables dans le programme.
  • 13. La structure « Pour… Faire » 2014/2015Algorithme & structures de données I13  Syntaxe générale:  Principe de fonctionnement:  Le compteur (variable de contrôle) prend la valeur initiale au moment d’accès à la boucle puis, à chaque parcours, il passe automatiquement à la valeur suivante dans son domaine jusqu’à atteindre la valeur finale.
  • 14. Exercice 1 2014/2015Algorithme & structures de données I14  Ecrire un algorithme qui lit un entier positif n puis affiche tous ses diviseurs.
  • 15. Exercice 2 2014/2015Algorithme & structures de données I15  Ecrire un algorithme qui lit un entier positif n puis calcule et affiche son factoriel selon la formule n! = 1 X 2 X … X n.
  • 16. La structure « Répéter…jusqu’à » 2014/2015Algorithme & structures de données I16  Syntaxe générale:  Principe de fonctionnement:  La séquence d’instructions est exécutée une première fois, puis l’exécution se répète jusqu’à ce que la condition de sortie soit vérifiée.
  • 17. Remarques 2014/2015Algorithme & structures de données I17  1- Contrairement à une boucle « pour », dans une boucle « répéter », l’initialisation et l’avancement du compteur doivent être gérés manuellement par le programmeur.  2- Dans une boucle « répéter », il faut toujours s’assurer que la condition de sortie sera vérifiée après un nombre fini de parcours.
  • 18. Exercice 1 2014/2015Algorithme & structures de données I18  Réécrire l’algorithme diviseurs en remplaçant la boucle « pour » par une boucle « répéter »
  • 19. Exercice 2 2014/2015Algorithme & structures de données I19  Réécrire l’algorithme facto en remplaçant la boucle « pour » par une boucle « répéter »
  • 20. La structure « TantQue …faire » 2014/2015Algorithme & structures de données I20  Syntaxe générale:  Principe de fonctionnement:  Le traitement est exécuté aussi longtemps que la condition est vérifiée. Si dès le début cette condition est fausse, le traitement ne sera exécuté aucune fois.  Une boucle « tantque » peut s’exécuter 0, 1 ou n fois.
  • 21. Exercice 1 2014/2015Algorithme & structures de données I21  Réécrire l’algorithme diviseurs en remplaçant la boucle « répéter » par une boucle « tantque ».
  • 22. Exercice 2 2014/2015Algorithme & structures de données I22  Réécrire l’algorithme facto en remplaçant la boucle « répéter » par une boucle « tantque ».
  • 23. Synthèse 2014/2015Algorithme & structures de données I23  Passage d’une structure itérative à une autre:  (*) : Le passage d’une boucle « répéter » ou « tantque » à une boucle « pour » n’est possible que si le nombre de parcours est connu à l’avance.  (**) : Lors du passage d’une boucle « pour » ou « tantque» à une boucle « répéter », faire attention aux cas particuliers (le traitement sera toujours exécuté au moins une fois).
  • 24. Synthèse 2014/2015Algorithme & structures de données I24  Choix de la structure itérative
  • 25. Exercices d’application 2014/2015Algorithme & structures de données I25  Exercice 1: Ecrire un algorithme permettant de :  Lire un nombre fini de notes comprises entre 0 et 20  Afficher la meilleure note, la mauvaise note et la moyenne de toutes les notes.  Exercice 2: Calculer ab avec a réel et b entier par multiplications successives.  Exercice 3: Ecrire un algorithme qui lit un entier positif et vérifie si ce nombre est premier ou non. Remarque : un nombre premier n’est divisible que par 1 ou par lui- même.  Exercice 4: Ecrire un algorithme qui détermine tous les nombres premiers inférieurs à une valeur donnée.
  • 26. Exercices d’application 2014/2015Algorithme & structures de données I26  Exercice 5: Ecrire un algorithme qui lit deux entiers A et B puis calcule et affiche leur PGCD en utilisant la méthode suivante :  Si A = B ; PGCD(A,B) = A  Si A > B ; PGCD(A,B) = PGCD(A–B,B)  Si B > A ; PGCD(A,B) = PGCD(A,B-A) Exemple : PGCD(18,45)=PGCD(18,27)=PGCD(18,9)=PGCD(9,9)=9  Exercice 6: Ecrire un algorithme qui calcule le PPCM (Plus Petit Commun Multiple) de 2 entiers A et B en utilisant la méthode suivante :  Permuter, si nécessaire, les données de façon à ranger dans A le plus grand des 2 entiers ;  Chercher le plus petit multiple de A qui est aussi multiple de B. Exemple : PPCM(6,8) = PPCM(8,6) = 24.