SlideShare a Scribd company logo
1 of 27
INSTITUT DES HAUTES ETUDES DE SOUSSE 
COURS D’ALGORITHME & 
STRUCTURES DE DONNÉES (ASD I) 
CHAPITRE I: INTRODUCTION À LA 
PROGRAMMATION & LES 
INSTRUCTIONS SIMPLES 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Plan du Cours 
I. Notion de programme 
II. Interprétation et compilation 
III. Démarche de programmation 
IV. Notion de variable 
V. Notion de constante 
VI. Notion de type 
VII. Les expressions 
VIII. L’instruction d’affectation 
IX. L’instruction d’écriture 
X. L’instruction de lecture 
XI. Structure générale d’un algorithme 
 Exercices d’application 
1 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
I. Notion de programme 
 Le mot programmation recouvre l’ensemble des activités qui 
font passer d’un problème à un programme. 
 Un programme est un texte constitué d’un ensemble de 
directives, appelées instructions, qui spécifient : 
 les opérations élémentaires à exécuter 
 la façon dont elles s’enchaînent. 
 Supposons qu’un enseignant dispose d’un ordinateur et d’un 
programme de calcul de la moyenne des étudiants. Pour 
s’exécuter, ce programme nécessite qu’on lui fournisse pour 
chaque étudiant, les notes de contrôle continu, de T.P et de 
l’examen final : ce sont les données. En retour, le programme 
va fournir la moyenne cherchée : c’est le résultat. 
2 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
I. Notion de programme 
 De la même manière, un programme de paie nécessite des 
informations données : noms des employés, grades, numéros 
de sécurité sociale, situations familiales, nombre d’heures 
supplémentaires, etc. Les résultats seront imprimés sur les 
différents bulletins de paie : identification de l’employé, salaire 
brut, retenue sécurité sociale, etc. 
3 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
II. Interprétation & compilation 
 L’ordinateur ne sait exécuter qu’un nombre limité d’opérations 
élémentaires dictées par des instructions de programme et codées en 
binaire (langage machine). Obligatoirement, les premiers programmes 
étaient écrits en binaire. C’était une tâche difficile et exposée aux erreurs 
car il fallait aligner des séquences de bits dont la signification n’est pas 
évidente. 
 Par la suite, pour faciliter le travail, les programmes ont été écrits en 
désignant les opérations par des codes mnémoniques faciles à retenir. Pour 
pouvoir utiliser effectivement tous ces symboles, il fallait trouver le moyen 
de les convertir en langage machine ; ce fut réalisé par un programme 
appelé assembleur. Le langage d’assemblage est toujours utilisé, car c’est 
le seul langage qui permet d’exploiter au maximum les ressources de la 
machine. 
4 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
II. Interprétation & compilation 
 L’écriture de programmes en langage d’assemblage reste une 
tâche fastidieuse. De plus, ces programmes présentent un 
problème de portabilité étant donné qu’ils restent dépendants 
de la machine sur laquelle ils ont été développés. L’apparition 
des langages évolués, tels que Fortran et Pascal, a apporté 
une solution à ces problèmes. Les programmes écrits en 
langage évolué doivent également être convertis en langage 
machine pour être exécutés. Cette conversion peut s’effectuer 
de deux façons : par compilation ou par interprétation. 
 La compilation consiste à traduire dans un premier temps 
l’ensemble du programme en langage machine. Dans un 
deuxième temps, le programme est exécuté. 
 L’interprétation consiste à traduire chaque instruction du 
programme en langage machine avant de l’exécuter . 5 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
II. Interprétation & compilation 
6 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
III.Démarche de programmation 
 La démarche de programmation se déroule en deux phases : 
1) Dans un premier temps, on identifie les données du 
problème, les résultats recherchés et par quel moyen on 
peut obtenir ces résultats à partir des données. C’est l’étape 
d’analyse du problème qui aboutit à un procédé de 
résolution appelé algorithme. Une approche modulaire 
consiste à décomposer le problème initial en sous-problèmes 
plus simples à résoudre appelés modules. Par 
exemple, un programme de gestion de scolarité comportera 
un module inscription, un module examen, un module 
diplôme, etc. 
7 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
III.Démarche de programmation 
2) Dans un deuxième temps, on traduit dans le langage de 
programmation choisi le résultat de la phase précédente. Si 
l’analyse a été menée convenablement, cette opération se 
réduit à une simple transcription systématique de 
l’algorithme selon la grammaire du langage. 
 Lors de l’exécution, soit des erreurs syntaxiques sont 
signalées, ce qui entraîne des retours au programme et des 
corrections en général simples à effectuer, soit des erreurs 
sémantiques plus difficiles à déceler. Dans ce dernier cas, le 
programme produit des résultats qui ne correspondent pas à 
ceux escomptés : les retours vers l’analyse (l’algorithme) sont 
alors inévitables. 
8 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
IV.Notion de variables 
 Malgré une apparente diversité, la plupart des langages 
sont basés sur la même technique fondamentale à savoir 
la « manipulation de valeurs contenues dans des variables 
». 
 En programmation, une variable est un identificateur qui 
sert à repérer un emplacement donné de la mémoire 
centrale. Cette notion nous permet de manipuler des 
valeurs sans nous préoccuper de l’emplacement qu’elles 
occupent effectivement en mémoire. 
 Notons enfin que certains langages comme C, C++ et Java 
font la différence entre lettres minuscules et majuscules 
alors que d’autres comme Turbo Pascal n’en font aucune 
distinction. 9 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
V. Notion de constante 
 Contrairement aux variables, les constantes sont des 
données dont la valeur reste fixe durant l’exécution du 
programme. 
 Exemples : Pi = 3.14 g = 9.80 etc. 
10 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
VI.Notion de type 
 A chaque variable utilisée dans le programme, il faut 
associer un type qui permet de définir : 
 l’ensemble des valeurs que peut prendre la variable 
 l’ensemble des opérations qu’on peut appliquer sur la variable. 
 La syntaxe de l’action de déclaration est la suivante 
Variable 1, Variable 2, … : Type 
 Les principaux types utilisés en algorithmique sont : 
 le type entier 
 le type réel 
 le type caractère 
 le type chaîne de caractères 
 le type logique ou booléen. 
11 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
1. Le type entier 
 Une variable est dite entière si elle prend ses valeurs dans 
Z (ensemble des entiers relatifs) et qu’elle peut supporter 
les opérations suivantes : 
 Exemples : 
13 div 5 = 2 
13 mod 5 = 3 
12 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
2. Le type réel ou décimal 
 Il existe plusieurs types de réels représentant chacun un 
ensemble particulier de valeurs prises dans R (ensemble des 
nombres réels). Ici encore, cette distinction se justifie par le 
mode de stockage des informations dans le langage de 
programmation. 
 Il existe deux formes de représentation des réels : 
 la forme usuelle avec le point comme symbole décimal. 
Exemples : -3.2467 2 12.7 +36.49 
 la notation scientifique selon le format aEb 
13 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
3. Le type caractère 
 Un caractère peut appartenir au domaine des chiffres de ”0” à 
”9”, des lettres (minuscules et majuscules) et des caractères 
spéciaux (”*”, ”/”, ”{”, ”$”, ”#”, ”%” …). Un caractère sera 
toujours noté entre des guillemets. Le caractère espace (blanc) 
sera noté ” ”. 
 Les opérateurs définis sur les données de type caractère sont : 
 La comparaison entre les caractères se fait selon leur codes 
ASCII. 14 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
4. Le type logique ou booléen 
 Une variable logique ne peut prendre que les valeurs ”Vrai” ou 
”Faux”. Elle intervient dans l’évaluation d’une condition. 
 Les principales opérations définies sur les variables de type 
logique sont : la négation (NON), l’intersection (ET) et l’union 
(OU). 
 L’application de ces opérateurs se fait conformément à la table 
de vérité suivante : 
15 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
VII.Expressions arithmétiques 
 Exemple : x * 53.4 / (2 + pi) 
 L’ordre selon lequel se déroule chaque opération de calcul 
est important. 
 Afin d’éviter les ambiguïtés dans l’écriture, on se sert des 
parenthèses et des relations de priorité entre les 
opérateurs arithmétiques : 
16 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
VII.Expressions logiques 
 Ce sont des combinaisons entre des variables et des 
constantes à l’aide d’opérateurs relationnels (=, <, <=, >, >=, #) 
et/ou des combinaisons entre des variables et des constantes 
logiques à l’aide d’opérateurs logiques (NON , ET, OU, …). 
 Ici encore, on utilise les parenthèses et l’ordre de priorité 
entre les différents opérateurs pour résoudre les problèmes de 
conflits. 
17 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
VIII.L’instruction d’affectation 
 Le rôle de cette instruction consiste à placer une valeur dans 
une variable. Sa syntaxe générale est de la forme : 
Variable Expression 
 Ainsi, l’instruction : A  6 signifie « mettre la valeur 6 dans la 
case mémoire identifiée par A ». 
 Alors que l’instruction : B  (A + 4) Mod 3 range dans B la 
valeur 1 (A toujours égale à 6). 
 Remarque 
 La valeur ou le résultat de l’expression à droite du signe 
d’affectation doit être de même type ou de type compatible 
avec celui de la variable à gauche. 
18 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Exemple 1: 
 Quelles seront les valeurs des variables A, B et C après 
l’exécution des instructions suivantes : 
A5 
B  3 
C  A + B 
A2 
C  B – A 
 Trace d’exécution: 
19 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Exemple 2: 
 Quelles seront les valeurs des variables A et B après l’exécution 
des instructions suivantes : 
A 5 ; B  7 
A A + B 
B  A - B 
A A – B 
 Trace d’exécution: 
 Cette séquence d’instructions permet de permuter les valeurs 
de A et B. Une deuxième façon de permuter A et B consiste à 
utiliser une variable intermédiaire X : 
X  A 
A B 
B  X 
20 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Exercice 
 Soient 3 variables A, B et C. Ecrire une séquence 
d’instructions permettant de faire une permutation 
circulaire de sorte que la valeur de A passe dans B, celle 
de B dans C et celle de C dans A. On utilisera une seule 
variable supplémentaire. 
21 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
IX.L’instruction de lecture 
 Pour qu’un programme présente un intérêt pratique, il devra 
pouvoir nous communiquer un certain nombre d’informations 
(résultats) par l’intermédiaire d’un périphérique de sortie comme 
l’écran ou l’imprimante. C’est le rôle de l’instruction d’écriture. 
 La forme générale de cette instruction est : 
Ecrire(expression1, expression2, ...) 
 Exemple: Qu’obtient-on à l’écran après l’exécution des instructions 
suivantes : 
x 4 
Ville ”Tunis” 
Ecrire(x) 
Ecrire(x*x) 
Ecrire(”Ville”) 
Ecrire(”Ville = ”,Ville) 22 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
X. L’instruction d’écriture 
 Dans certains cas, nous pourrons être amenés à transmettre 
des informations (données) à notre programme par 
l’intermédiaire d’un périphérique d’entrée comme le clavier. 
Cela sera réalisé par l’instruction de lecture. 
 La forme générale de cette instruction est : 
Lire(Variable1, Variable2, ...) 
 Ainsi, l’instruction : Lire(A) 
signifie « lire une valeur à partir du périphérique d’entrée, qui 
est le clavier par défaut, et la ranger dans la variable identifiée 
par A » 23 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
XI.Structure général d’un algorithme 
 Les nouveaux types doivent être déclarés 
dans la partie «Types». 
 Toute variable utilisée dans l’algorithme 
doit être préalablement déclarée. 
 Les instructions placées entre «Début» et 
«Fin» forment le corps principal de 
l’algorithme. 
 Seules les parties « Entête » et «Corps » 
de l’algorithme sont obligatoires. 
 L’indentation qui consiste à insérer des 
tabulations avant les objets déclarés et 
les instructions offre une meilleure 
lisibilité de l’algorithme et le rend, par 
conséquent, plus facile à comprendre et 
à corriger. 24 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Exercices d’applications 
Exercice 1: 
 Donner toutes les raisons pour lesquelles l’algorithme suivant 
est incorrect : 
Algoritme Incorrect 
x, y : Entier 
z : Réel 
Début 
z  x + 2 
y z 
x*2  3 + z 
y 5y + 3 
Fin. 
25 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
Exercices d’applications 
Exercice 2: 
 Ecrire un algorithme qui lit deux entiers au clavier et qui 
affiche ensuite leur somme et leur produit. 
Exercice 3: 
 Ecrire un algorithme qui lit le rayon d’un cercle et qui 
affiche ensuite son périmètre et sa surface. 
Exercice 4: 
 Ecrire un algorithme qui calcule et affiche la résistance 
d’un composant électrique en utilisant la loi d’Ohm : 
26 
2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I

More Related Content

What's hot

L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationECAM Brussels Engineering School
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
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
 
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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
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
 
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
 

What's hot (20)

L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Cours algorithmique02
Cours algorithmique02Cours algorithmique02
Cours algorithmique02
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 
Serie2
Serie2Serie2
Serie2
 
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
 
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
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
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
 
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
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Exo algo
Exo algoExo algo
Exo algo
 

Similar to Algorithme & structures de données Chap I

cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
0002- Introduction au Langage Pascal.ppsx
0002- Introduction au Langage Pascal.ppsx0002- Introduction au Langage Pascal.ppsx
0002- Introduction au Langage Pascal.ppsxBenacerLeila
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
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++Amina HAMEURLAINE
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmationSageKataliko1
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases javaAmel Morchdi
 

Similar to Algorithme & structures de données Chap I (20)

Asd
AsdAsd
Asd
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
Langage C
Langage CLangage C
Langage C
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
0002- Introduction au Langage Pascal.ppsx
0002- Introduction au Langage Pascal.ppsx0002- Introduction au Langage Pascal.ppsx
0002- Introduction au Langage Pascal.ppsx
 
langage C++
langage C++langage C++
langage C++
 
coursalgorithmique9-10.ppt
coursalgorithmique9-10.pptcoursalgorithmique9-10.ppt
coursalgorithmique9-10.ppt
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
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++
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 
algo thrichi.pdf
algo thrichi.pdfalgo thrichi.pdf
algo thrichi.pdf
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
Metrique
MetriqueMetrique
Metrique
 

More from 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 + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes 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
 

More from 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 + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
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
 

Recently uploaded

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
 
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
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
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
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
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
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
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
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxNYTombaye
 
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
 
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
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 

Recently uploaded (20)

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
 
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
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
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
 
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
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
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
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
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
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptx
 
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 .
 
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
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 

Algorithme & structures de données Chap I

  • 1. INSTITUT DES HAUTES ETUDES DE SOUSSE COURS D’ALGORITHME & STRUCTURES DE DONNÉES (ASD I) CHAPITRE I: INTRODUCTION À LA PROGRAMMATION & LES INSTRUCTIONS SIMPLES 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 2. Plan du Cours I. Notion de programme II. Interprétation et compilation III. Démarche de programmation IV. Notion de variable V. Notion de constante VI. Notion de type VII. Les expressions VIII. L’instruction d’affectation IX. L’instruction d’écriture X. L’instruction de lecture XI. Structure générale d’un algorithme  Exercices d’application 1 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 3. I. Notion de programme  Le mot programmation recouvre l’ensemble des activités qui font passer d’un problème à un programme.  Un programme est un texte constitué d’un ensemble de directives, appelées instructions, qui spécifient :  les opérations élémentaires à exécuter  la façon dont elles s’enchaînent.  Supposons qu’un enseignant dispose d’un ordinateur et d’un programme de calcul de la moyenne des étudiants. Pour s’exécuter, ce programme nécessite qu’on lui fournisse pour chaque étudiant, les notes de contrôle continu, de T.P et de l’examen final : ce sont les données. En retour, le programme va fournir la moyenne cherchée : c’est le résultat. 2 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 4. I. Notion de programme  De la même manière, un programme de paie nécessite des informations données : noms des employés, grades, numéros de sécurité sociale, situations familiales, nombre d’heures supplémentaires, etc. Les résultats seront imprimés sur les différents bulletins de paie : identification de l’employé, salaire brut, retenue sécurité sociale, etc. 3 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 5. II. Interprétation & compilation  L’ordinateur ne sait exécuter qu’un nombre limité d’opérations élémentaires dictées par des instructions de programme et codées en binaire (langage machine). Obligatoirement, les premiers programmes étaient écrits en binaire. C’était une tâche difficile et exposée aux erreurs car il fallait aligner des séquences de bits dont la signification n’est pas évidente.  Par la suite, pour faciliter le travail, les programmes ont été écrits en désignant les opérations par des codes mnémoniques faciles à retenir. Pour pouvoir utiliser effectivement tous ces symboles, il fallait trouver le moyen de les convertir en langage machine ; ce fut réalisé par un programme appelé assembleur. Le langage d’assemblage est toujours utilisé, car c’est le seul langage qui permet d’exploiter au maximum les ressources de la machine. 4 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 6. II. Interprétation & compilation  L’écriture de programmes en langage d’assemblage reste une tâche fastidieuse. De plus, ces programmes présentent un problème de portabilité étant donné qu’ils restent dépendants de la machine sur laquelle ils ont été développés. L’apparition des langages évolués, tels que Fortran et Pascal, a apporté une solution à ces problèmes. Les programmes écrits en langage évolué doivent également être convertis en langage machine pour être exécutés. Cette conversion peut s’effectuer de deux façons : par compilation ou par interprétation.  La compilation consiste à traduire dans un premier temps l’ensemble du programme en langage machine. Dans un deuxième temps, le programme est exécuté.  L’interprétation consiste à traduire chaque instruction du programme en langage machine avant de l’exécuter . 5 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 7. II. Interprétation & compilation 6 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 8. III.Démarche de programmation  La démarche de programmation se déroule en deux phases : 1) Dans un premier temps, on identifie les données du problème, les résultats recherchés et par quel moyen on peut obtenir ces résultats à partir des données. C’est l’étape d’analyse du problème qui aboutit à un procédé de résolution appelé algorithme. Une approche modulaire consiste à décomposer le problème initial en sous-problèmes plus simples à résoudre appelés modules. Par exemple, un programme de gestion de scolarité comportera un module inscription, un module examen, un module diplôme, etc. 7 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 9. III.Démarche de programmation 2) Dans un deuxième temps, on traduit dans le langage de programmation choisi le résultat de la phase précédente. Si l’analyse a été menée convenablement, cette opération se réduit à une simple transcription systématique de l’algorithme selon la grammaire du langage.  Lors de l’exécution, soit des erreurs syntaxiques sont signalées, ce qui entraîne des retours au programme et des corrections en général simples à effectuer, soit des erreurs sémantiques plus difficiles à déceler. Dans ce dernier cas, le programme produit des résultats qui ne correspondent pas à ceux escomptés : les retours vers l’analyse (l’algorithme) sont alors inévitables. 8 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 10. IV.Notion de variables  Malgré une apparente diversité, la plupart des langages sont basés sur la même technique fondamentale à savoir la « manipulation de valeurs contenues dans des variables ».  En programmation, une variable est un identificateur qui sert à repérer un emplacement donné de la mémoire centrale. Cette notion nous permet de manipuler des valeurs sans nous préoccuper de l’emplacement qu’elles occupent effectivement en mémoire.  Notons enfin que certains langages comme C, C++ et Java font la différence entre lettres minuscules et majuscules alors que d’autres comme Turbo Pascal n’en font aucune distinction. 9 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 11. V. Notion de constante  Contrairement aux variables, les constantes sont des données dont la valeur reste fixe durant l’exécution du programme.  Exemples : Pi = 3.14 g = 9.80 etc. 10 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 12. VI.Notion de type  A chaque variable utilisée dans le programme, il faut associer un type qui permet de définir :  l’ensemble des valeurs que peut prendre la variable  l’ensemble des opérations qu’on peut appliquer sur la variable.  La syntaxe de l’action de déclaration est la suivante Variable 1, Variable 2, … : Type  Les principaux types utilisés en algorithmique sont :  le type entier  le type réel  le type caractère  le type chaîne de caractères  le type logique ou booléen. 11 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 13. 1. Le type entier  Une variable est dite entière si elle prend ses valeurs dans Z (ensemble des entiers relatifs) et qu’elle peut supporter les opérations suivantes :  Exemples : 13 div 5 = 2 13 mod 5 = 3 12 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 14. 2. Le type réel ou décimal  Il existe plusieurs types de réels représentant chacun un ensemble particulier de valeurs prises dans R (ensemble des nombres réels). Ici encore, cette distinction se justifie par le mode de stockage des informations dans le langage de programmation.  Il existe deux formes de représentation des réels :  la forme usuelle avec le point comme symbole décimal. Exemples : -3.2467 2 12.7 +36.49  la notation scientifique selon le format aEb 13 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 15. 3. Le type caractère  Un caractère peut appartenir au domaine des chiffres de ”0” à ”9”, des lettres (minuscules et majuscules) et des caractères spéciaux (”*”, ”/”, ”{”, ”$”, ”#”, ”%” …). Un caractère sera toujours noté entre des guillemets. Le caractère espace (blanc) sera noté ” ”.  Les opérateurs définis sur les données de type caractère sont :  La comparaison entre les caractères se fait selon leur codes ASCII. 14 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 16. 4. Le type logique ou booléen  Une variable logique ne peut prendre que les valeurs ”Vrai” ou ”Faux”. Elle intervient dans l’évaluation d’une condition.  Les principales opérations définies sur les variables de type logique sont : la négation (NON), l’intersection (ET) et l’union (OU).  L’application de ces opérateurs se fait conformément à la table de vérité suivante : 15 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 17. VII.Expressions arithmétiques  Exemple : x * 53.4 / (2 + pi)  L’ordre selon lequel se déroule chaque opération de calcul est important.  Afin d’éviter les ambiguïtés dans l’écriture, on se sert des parenthèses et des relations de priorité entre les opérateurs arithmétiques : 16 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 18. VII.Expressions logiques  Ce sont des combinaisons entre des variables et des constantes à l’aide d’opérateurs relationnels (=, <, <=, >, >=, #) et/ou des combinaisons entre des variables et des constantes logiques à l’aide d’opérateurs logiques (NON , ET, OU, …).  Ici encore, on utilise les parenthèses et l’ordre de priorité entre les différents opérateurs pour résoudre les problèmes de conflits. 17 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 19. VIII.L’instruction d’affectation  Le rôle de cette instruction consiste à placer une valeur dans une variable. Sa syntaxe générale est de la forme : Variable Expression  Ainsi, l’instruction : A  6 signifie « mettre la valeur 6 dans la case mémoire identifiée par A ».  Alors que l’instruction : B  (A + 4) Mod 3 range dans B la valeur 1 (A toujours égale à 6).  Remarque  La valeur ou le résultat de l’expression à droite du signe d’affectation doit être de même type ou de type compatible avec celui de la variable à gauche. 18 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 20. Exemple 1:  Quelles seront les valeurs des variables A, B et C après l’exécution des instructions suivantes : A5 B  3 C  A + B A2 C  B – A  Trace d’exécution: 19 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 21. Exemple 2:  Quelles seront les valeurs des variables A et B après l’exécution des instructions suivantes : A 5 ; B  7 A A + B B  A - B A A – B  Trace d’exécution:  Cette séquence d’instructions permet de permuter les valeurs de A et B. Une deuxième façon de permuter A et B consiste à utiliser une variable intermédiaire X : X  A A B B  X 20 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 22. Exercice  Soient 3 variables A, B et C. Ecrire une séquence d’instructions permettant de faire une permutation circulaire de sorte que la valeur de A passe dans B, celle de B dans C et celle de C dans A. On utilisera une seule variable supplémentaire. 21 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 23. IX.L’instruction de lecture  Pour qu’un programme présente un intérêt pratique, il devra pouvoir nous communiquer un certain nombre d’informations (résultats) par l’intermédiaire d’un périphérique de sortie comme l’écran ou l’imprimante. C’est le rôle de l’instruction d’écriture.  La forme générale de cette instruction est : Ecrire(expression1, expression2, ...)  Exemple: Qu’obtient-on à l’écran après l’exécution des instructions suivantes : x 4 Ville ”Tunis” Ecrire(x) Ecrire(x*x) Ecrire(”Ville”) Ecrire(”Ville = ”,Ville) 22 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 24. X. L’instruction d’écriture  Dans certains cas, nous pourrons être amenés à transmettre des informations (données) à notre programme par l’intermédiaire d’un périphérique d’entrée comme le clavier. Cela sera réalisé par l’instruction de lecture.  La forme générale de cette instruction est : Lire(Variable1, Variable2, ...)  Ainsi, l’instruction : Lire(A) signifie « lire une valeur à partir du périphérique d’entrée, qui est le clavier par défaut, et la ranger dans la variable identifiée par A » 23 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 25. XI.Structure général d’un algorithme  Les nouveaux types doivent être déclarés dans la partie «Types».  Toute variable utilisée dans l’algorithme doit être préalablement déclarée.  Les instructions placées entre «Début» et «Fin» forment le corps principal de l’algorithme.  Seules les parties « Entête » et «Corps » de l’algorithme sont obligatoires.  L’indentation qui consiste à insérer des tabulations avant les objets déclarés et les instructions offre une meilleure lisibilité de l’algorithme et le rend, par conséquent, plus facile à comprendre et à corriger. 24 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 26. Exercices d’applications Exercice 1:  Donner toutes les raisons pour lesquelles l’algorithme suivant est incorrect : Algoritme Incorrect x, y : Entier z : Réel Début z  x + 2 y z x*2  3 + z y 5y + 3 Fin. 25 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I
  • 27. Exercices d’applications Exercice 2:  Ecrire un algorithme qui lit deux entiers au clavier et qui affiche ensuite leur somme et leur produit. Exercice 3:  Ecrire un algorithme qui lit le rayon d’un cercle et qui affiche ensuite son périmètre et sa surface. Exercice 4:  Ecrire un algorithme qui calcule et affiche la résistance d’un composant électrique en utilisant la loi d’Ohm : 26 2014/2015 ALGORITHME & STRUCTURES DE DONNÉES I