SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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

Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesAnass41
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
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
 
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
 
Exercices en turbo pascal sur la récursivité
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
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 

Tendances (20)

Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Exo algo
Exo algoExo algo
Exo algo
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
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)
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
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
 
Serie2
Serie2Serie2
Serie2
 
Asd
AsdAsd
Asd
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 

Similaire à Algorithme & structures de données Chap II

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
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
Chap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueChap1 introduction à l'algoritmique
Chap1 introduction à l'algoritmiqueMohamed Lahby
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfFadouaBouafifSamoud
 
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
 
Chapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdfChapitre 1 - Algorithmique.pdf
Chapitre 1 - Algorithmique.pdfShiniGami0o0
 
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 MachineBoubaker KHMILI
 
System c eniso_jan_fev_07
System c eniso_jan_fev_07System c eniso_jan_fev_07
System c eniso_jan_fev_07haythem_2015
 
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.pdfFadouaBouafifSamoud
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxSalmaAhraimida
 
Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Initiation à la programmation sous excel tutoriel2
Initiation à la programmation sous excel tutoriel2Christophe Malpart
 
Algorithmique de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdfWafaa Ibrihich
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Hichem Kemali
 

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
 
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...
 
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
 
Asd1
Asd1Asd1
Asd1
 
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 de base.pdf
Algorithmique de base.pdfAlgorithmique de base.pdf
Algorithmique de base.pdf
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 

Plus de Ines Ouaz

Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbcInes Ouaz
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 
Environnement java
Environnement javaEnvironnement java
Environnement javaInes Ouaz
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
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
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 

Plus de Ines Ouaz (15)

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

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 

Dernier (18)

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 

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