SlideShare une entreprise Scribd logo
1  sur  26
INSTITUT DES HAUTES ETUDES DE SOUSSE 
COURS D’ALGORITHME & 
STRUCTURES DE DONNÉES (ASD I) 
CHAPITRE II: LES STRUCTURES 
CONDITIONNELLES & ITÉRATIVES 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I 
1
Plan du Cours 
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 
2 Algorithme & structures de données I 2014/2015
Introduction 
 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. 
3 Algorithme & structures de données I 2014/2015
Structure de sélection simple (1) 
 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. 
4 Algorithme & structures de données I 2014/2015
Exemple 
 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. 
5 Algorithme & structures de données I 2014/2015
Structure de sélection simple (2) 
 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. 
6 Algorithme & structures de données I 2014/2015
Exemple 1 
 Ecrire un algorithme qui calcule et affiche la valeur 
absolue d’un entier quelconque lu au clavier. 
7 Algorithme & structures de données I 2014/2015
Exemple 2 
 Ecrire un algorithme qui lit un entier et affiche 
ensuite s’il est pair ou impair. 
8 Algorithme & structures de données I 2014/2015
Structure de sélection multiple 
 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). 
9 Algorithme & structures de données I 2014/2015
Exercice 
 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é. 
10 Algorithme & structures de données I 2014/2015
Exercices d’application 
 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. 
11 Algorithme & structures de données I 2014/2015
Structures itératives 
 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. 
12 Algorithme & structures de données I 2014/2015
La structure « Pour… Faire » 
 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. 
13 Algorithme & structures de données I 2014/2015
Exercice 1 
 Ecrire un algorithme qui lit un entier positif n puis 
affiche tous ses diviseurs. 
14 Algorithme & structures de données I 2014/2015
Exercice 2 
 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. 
15 Algorithme & structures de données I 2014/2015
La structure « Répéter…jusqu’à » 
 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. 
16 Algorithme & structures de données I 2014/2015
Remarques 
 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. 
17 Algorithme & structures de données I 2014/2015
Exercice 1 
 Réécrire l’algorithme diviseurs en remplaçant la 
boucle « pour » par une boucle « répéter » 
18 Algorithme & structures de données I 2014/2015
Exercice 2 
 Réécrire l’algorithme facto en remplaçant la boucle « 
pour » par une boucle « répéter » 
19 Algorithme & structures de données I 2014/2015
La structure « TantQue …faire » 
 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. 
20 Algorithme & structures de données I 2014/2015
Exercice 1 
 Réécrire l’algorithme diviseurs en remplaçant la 
boucle « répéter » par une boucle « tantque ». 
21 Algorithme & structures de données I 2014/2015
Exercice 2 
 Réécrire l’algorithme facto en remplaçant la boucle « 
répéter » par une boucle « tantque ». 
22 Algorithme & structures de données I 2014/2015
Synthèse 
 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). 
23 Algorithme & structures de données I 2014/2015
Synthèse 
 Choix de la structure itérative 
24 Algorithme & structures de données I 2014/2015
Exercices d’application 
 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. 
25 Algorithme & structures de données I 2014/2015
Exercices d’application 
 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. 
26 Algorithme & structures de données I 2014/2015

Contenu connexe

Tendances

Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
Riadh Harizi
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
badr zaimi
 

Tendances (20)

Qcm en-informatique-avec-correction
Qcm en-informatique-avec-correction Qcm en-informatique-avec-correction
Qcm en-informatique-avec-correction
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
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
 
Asd1
Asd1Asd1
Asd1
 
Serie2
Serie2Serie2
Serie2
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 
Correction
CorrectionCorrection
Correction
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Cours algorithme: structures répétitives
Cours algorithme: structures répétitivesCours algorithme: structures répétitives
Cours algorithme: structures répétitives
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Serie
SerieSerie
Serie
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 

Similaire à Algorithme & structures de données Chap II

exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
fast xp
 
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Guillaume Chevalier
 

Similaire à Algorithme & structures de données Chap II (20)

Chap3
Chap3Chap3
Chap3
 
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
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmique
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Chapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdfChapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdf
 
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
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
langage C++
langage C++langage C++
langage C++
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptx
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 

Plus de Ines Ouaz

Plus de Ines Ouaz (14)

Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 

Dernier

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
 
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
 

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
 
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
 
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...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
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
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
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
 
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 ...
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
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
 
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...
 
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
 
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
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 

Algorithme & structures de données Chap II

  • 1. INSTITUT DES HAUTES ETUDES DE SOUSSE COURS D’ALGORITHME & STRUCTURES DE DONNÉES (ASD I) CHAPITRE II: LES STRUCTURES CONDITIONNELLES & ITÉRATIVES 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I 1
  • 2. Plan du Cours 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 2 Algorithme & structures de données I 2014/2015
  • 3. Introduction  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. 3 Algorithme & structures de données I 2014/2015
  • 4. Structure de sélection simple (1)  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. 4 Algorithme & structures de données I 2014/2015
  • 5. Exemple  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. 5 Algorithme & structures de données I 2014/2015
  • 6. Structure de sélection simple (2)  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. 6 Algorithme & structures de données I 2014/2015
  • 7. Exemple 1  Ecrire un algorithme qui calcule et affiche la valeur absolue d’un entier quelconque lu au clavier. 7 Algorithme & structures de données I 2014/2015
  • 8. Exemple 2  Ecrire un algorithme qui lit un entier et affiche ensuite s’il est pair ou impair. 8 Algorithme & structures de données I 2014/2015
  • 9. Structure de sélection multiple  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). 9 Algorithme & structures de données I 2014/2015
  • 10. Exercice  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é. 10 Algorithme & structures de données I 2014/2015
  • 11. Exercices d’application  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. 11 Algorithme & structures de données I 2014/2015
  • 12. Structures itératives  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. 12 Algorithme & structures de données I 2014/2015
  • 13. La structure « Pour… Faire »  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. 13 Algorithme & structures de données I 2014/2015
  • 14. Exercice 1  Ecrire un algorithme qui lit un entier positif n puis affiche tous ses diviseurs. 14 Algorithme & structures de données I 2014/2015
  • 15. Exercice 2  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. 15 Algorithme & structures de données I 2014/2015
  • 16. La structure « Répéter…jusqu’à »  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. 16 Algorithme & structures de données I 2014/2015
  • 17. Remarques  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. 17 Algorithme & structures de données I 2014/2015
  • 18. Exercice 1  Réécrire l’algorithme diviseurs en remplaçant la boucle « pour » par une boucle « répéter » 18 Algorithme & structures de données I 2014/2015
  • 19. Exercice 2  Réécrire l’algorithme facto en remplaçant la boucle « pour » par une boucle « répéter » 19 Algorithme & structures de données I 2014/2015
  • 20. La structure « TantQue …faire »  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. 20 Algorithme & structures de données I 2014/2015
  • 21. Exercice 1  Réécrire l’algorithme diviseurs en remplaçant la boucle « répéter » par une boucle « tantque ». 21 Algorithme & structures de données I 2014/2015
  • 22. Exercice 2  Réécrire l’algorithme facto en remplaçant la boucle « répéter » par une boucle « tantque ». 22 Algorithme & structures de données I 2014/2015
  • 23. Synthèse  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). 23 Algorithme & structures de données I 2014/2015
  • 24. Synthèse  Choix de la structure itérative 24 Algorithme & structures de données I 2014/2015
  • 25. Exercices d’application  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. 25 Algorithme & structures de données I 2014/2015
  • 26. Exercices d’application  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. 26 Algorithme & structures de données I 2014/2015