Title: Par: Melle Najlae KORIKACHE
1Algorithmique et structure de données
- Par Melle Najlae KORIKACHE
2Syllabus du cours ...
- Objectif
- se familiariser avec les méthodes de résolution
de problèmes avec l'outil informatique - apprendre les principes de l'algorithmique
- acquérir un début de maîtrise des techniques et
langages de programmation. - Bibliographie
- Introduction a l'algorithmique, Thomas H. Cormen,
Charles E. Leiserson, Ronald L. Rivest et Cliord
Stein, Dunod, Paris, 2004. - Algorithmique Application en C, Jean-Michel Lery,
Pearson Education, 2005. - Algorithmique et programmation en Java, Vincent
Granet, Dunod, Paris, 2000. - Débuter en programmation, Greg Perry,
CampusPress, 2003.
3Plan du cours
- Introduction à l'algorithmique
- Environnement algorithmique
- Structure de données
- Structures de contrôle
- Structures itératives
- Sous-programmes
- Mode de passage de paramètres
- Tableaux
4Structures de contrôleExemple introductif
- Indiquer le chemin de lhôtel à un touriste égaré
- Allez tout droit jusquau prochain carrefour,
- puis prenez à droite
- ensuite prenez la deuxième à gauche et vous y
êtes - Est-ce que la rue est autorisée à la circulation?
- Allez tout droit jusquau prochain carrefour et
là regardez à droite. - Si la rue est autorisée à la circulation, alors
- prenez la,
- puis, prenez la deuxième à gauche.
- Si en revanche elle est en sens interdit, alors
- continuez jusquà la prochaine à droite,
- prenez celle-là,
- ensuite, prenez la première à droite.
5Structures de contrôleLa structure dun test
- En algorithmique, il y a deux formes possibles
pour un test - Structure simple
- Si Booléen Alors
- Instructions
- Fin Si
- Structure complète
- Si Booléen Alors
- Instructions 1
- Sinon
- Instructions 2
- Fin Si
6Structures de contrôleLa structure dun test
- Un booléen est une expression dont la valeur est
VRAI ou FAUX. Elle peut-être - une variable de type booléen
- une condition.
7Structures de contrôleLa structure dun test
- Description de la structure simple
-
- Arrivé à la première ligne (Si . . . Alors), la
machine examine la valeur du booléen - Si le booléen a pour valeur VRAI, alors la
machine exécute la série dinstructions. - Si le booléen a pour valeur FAUX, alors la
machine saute directement aux instructions
situées après le Fin Si.
Si Booléen Alors Instructions Fin Si
8Structures de contrôleLa structure dun test
- Description de la structure complète
- Arrivé à la première ligne (Si . . . Alors), la
machine examine la valeur du booléen - Si le booléen a pour valeur VRAI, alors la
machine exécute la série dinstructions 1. - Au moment ou la machine arrive au mot Sinon, elle
saute directement à la première instruction
située après le Fin Si. - Si le booléen a pour valeur FAUX, alors la
machine saute directement aux instructions
situées après le Sinon. - La machine exécute la série dinstructions 2.
Si Booléen Alors Instructions 1 Sinon Instructio
ns 2 Fin Si
9Structures de contrôleLa structure dun test
Allez tout droit jusquau prochain carrefour Si
la rue à droite est autorisée à la circulation
Alors Tournez à droite Avancez Prenez la
deuxième à gauche Sinon Continuez jusquà la
prochaine rue à droite Prenez cette rue Prenez
la première à droite Fin Si
10Structures de contrôleQuest-ce quune condition
?
- Une condition est donc composée de trois éléments
- une valeur
- un opérateur de comparaison
- une autre valeur.
Définition Une condition est une comparaison qui,
à un moment donné, est vraie ou fausse.
Important Les valeurs peuvent être a priori de
nimporte quel type (numériques, caractères,
etc.) Mais si lon veut que la comparaison ait un
sens, il faut que les deux valeurs de la
comparaison soient du même type !
11Structures de contrôleQuest-ce quune condition
?
- Les opérateurs de comparaison sont
- égal à . . .
- ? différent de . . .
- lt strictement plus petit que . . .
- gt strictement plus grand que . . .
- plus petit ou égal à . . .
- plus grand ou égal à . . .
- Exemples de conditions
- X 50
- Fifi Loulou (à ne pas confondre avec
laffectation) - Y ?24,5
12Structures de contrôleQuest-ce quune condition
?
- Exemples de conditions sur des caractères
- p gt m
- papa lt maman
- Toto toto
- T lt t
- Papa lt maman
- Totu gt Tota
Important Les opérateurs de comparaison peuvent
semployer avec des caractères. Ceux-ci sont
codés par la machine dans lordre alphabétique.
De plus, les majuscules sont systématiquement
placées avant les minuscules.
VRAI FAUX FAUX VRAI VRAI VRAI
13Structures de contrôleLes conditions composées
- Comment exprimer la condition Toto est inclus
entre 5 et 8? - Cette phrase cache deux conditions
- Toto est supérieur à 5 (Toto gt 5)
- Toto est inférieur à 8 (Toto lt 8)
- Le deux conditions sont reliées par lopérateur
logique ET. - La condition sexprime
- (Toto gt 5) ET (Toto lt 8)
- Les opérateurs logiques
- ET la conjonction
- OU la disjonction
- NON la négation.
14Structures de contrôleLes conditions composées
- La conjonction
- Le ET a les mêmes sens en informatique que dans
le langage courant. Pour que (Condition 1) ET
(Condition 2) soit - VRAI, il faut impérativement que Condition 1 soit
VRAI et que Condition 2 soit VRAI. - Dans tous les autres cas, (Condition 1) ET
(Condition 2) sera FAUX. - La table de vérité
(Condition 1) ET (Condition 2) Condition 1 VRAI Condition 1 FAUX
Condition 2 VRAI VRAI FAUX
Condition 2 FAUX FAUX FAUX
15Structures de contrôleLes conditions composées
- La disjonction
- Pour que (Condition 1) OU (Condition 2) soit
- VRAI, il suffit que Condition 1 soit VRAI ou que
Condition 2 soit VRAI. - FAUX, il faut que Condition 1 soit FAUX et que
Condition2 soit FAUX aussi. - La table de vérité
(Condition 1) OU (Condition 2) Condition 1 VRAI Condition 1 FAUX
Condition 2 VRAI VRAI VRAI
Condition 2 FAUX VRAI FAUX
16Structures de contrôleLes conditions composées
- La négation
- le NON inverse une condition. NON (Condition 1)
est - VRAI si Condition 1 est FAUX.
- FAUX si Condition 1 est VRAI.
- La table de vérité
NON (Condition 1)
Condition 1 VRAI FAUX
Condition 1 FAUX VRAI
17Structures de contrôle Les tests imbriqués
Graphiquement, on peut facilement représenter la
structure dun test comme un aiguillage de chemin
de fer. Un SI ouvre deux voies, correspondant à
deux traitements différents.
- Il y a beaucoup de situations ou deux voies ne
suffisent pas!
Si Booléen Alors Instructions 1 Sinon Instructio
ns 2 Fin Si
18Structures de contrôle Les tests imbriqués
19Structures de contrôle Les tests imbriqués
Exemple Un algorithme qui donne létat de leau
selon sa température. Il doit pouvoir fournir
trois réponses possibles (1) solide (2)
liquide ou (3) gazeuse.
- Algorithme Temperature_Eau_1
- Var Temp réel
- Début
- Lire (Entrez la température de leau
Temp) - Si (Temp 0) Alors
- Ecrire (Cest de la glace)
- Fin Si
- Si (Temp gt 0) ET (Temp lt 100) Alors
- Ecrire (Cest du liquide)
- Fin Si
- Si (Temp 100) Alors
- Ecrire (Cest de la vapeur)
- Fin Si
- Fin
20Structures de contrôle Les tests imbriqués
Exemple Un algorithme qui donne létat de leau
selon sa température. Il doit pouvoir fournir
trois réponses possibles (1) solide (2)
liquide ou (3) gazeuse.
- Algorithme Temperature_Eau_2
- Var Temp réel
- Début
- Lire (Entrez la température de leau
Temp) - Si (Temp 0) Alors
- Ecrire (Cest de la glace)
- Sinon
- Si (Temp lt 100) Alors
- Ecrire (Cest du liquide)
- Sinon
- Ecrire (Cest de la vapeur)
- Fin Si
- Fin Si
- Fin
21Structures de contrôle Les tests imbriqués
- De manière plus simplifiée
Si Booléen 1 Alors Instructions 1 Sinon
Si Booléen 2 Alors Instructions 2
Sinon Instructions 3 Fin Si Fin Si
Si Booléen 1 Alors Instructions 1 Sinon Si
Booléen 2 Alors Instructions 2 Sinon
Instructions 3 Fin Si
Important Dans le cas de tests imbriqués, le
Sinon et le Si peuvent être fusionnés en un
Sinon Si. On considère alors quil sagit dun
seul bloc de test, conclu par un seul Fin Si.
22Plan du cours
- Introduction à l'algorithmique
- Environnement algorithmique
- Structure de données
- Structures de contrôle
- Structures itératives
- Sous-programmes
- Mode de passage de paramètres
- Tableaux