Title: Algorithmes et structures de donnes avances Cours 1 2
1Algorithmes et structures de données
(avancées)Cours 12
- Patrick Reuter
- http//www.labri.fr/preuter
2Déroulement
- CM mardi de 8h à 9h
- TD
- - Groupe 1 mardi, 13h30 15h00
- - Groupe 2 mardi, 15h15 16h45
-
- (rendre la feuille à la prochaine séance)
3Motivation
- Niklaus Wirth, ETH Zuerich, 1976
- Algorithms Data Structures Programs
4Motivation
8.168.684.336 pages Comment ça marche ?
5Motivation
- Structure de donnée
- p.ex. fantôme
- couleur
- position
- direction
- aggressif ou pas ?
- Algorithmes
- p.ex. mettre a jour le
- meilleur score
6Motivation
Structure de donnée - tableau a 2
dimension Algorithmes - surtout I.A.
7Motivation
Structure de donnée File FIFO (First In
First Out) Aussi File à priorité
8Motivation
Structure de donnée Pile LIFO (Last In First
Out)
9Motivation
Structure de donnée Arbre (pour
lélimination des parties cachées)
10Motivation
Structure de donnée Graphe (pour plannifier
des trajets)
11Algorithmehttp//www.labri.fr/preuter/asda2007
- L'algorithmique est la science des algorithmes,
visant à étudier les opérations nécessaires à la
réalisation d'un calcul. - René Descartes dans le Discours de la Méthode
- diviser chacune des difficultés que
j'examinerois, en autant de parcelles qu'il se
pourroit, et qu'il seroit requis pour les mieux
résoudre. .
12Algorithme
- Un algorithme est une méthode de résolution de
problème énoncée sous la forme d'une série
d'opérations à effectuer.
13Algorithme
- La mise en uvre de l'algorithme consiste en
l'écriture de ces opérations dans un langage de
programmation et constitue alors la brique de
base d'un programme informatique (implémentation,
codage )
14Algorithme
- L'algorithme devra être plus ou moins détaillé
selon le niveau d'abstraction du langage
utilisé autrement dit, une recette de cuisine
doit être plus ou moins détaillée en fonction de
l'expérience du cuisinier.
15(No Transcript)
16(No Transcript)
17Exemple
- Trouver un numéro dans un annuaire par nom donnée
18Exemple
- Trouver un nom dans un annuaire par numéro donnée
19Structure de données
- Définition Wikipedia (12/9/2005)
- une structure logique destinée à contenir des
données afin de leur donner une organisation
permettant de simplifier leur traitement. - Exemple On peut présenter des numéros de
téléphone -
- - par département,
- - par nom
- - par profession (pages jaunes),
- - par numéro téléphonique (annuaires destinés au
télémarketing), - - par rue et/ou
- - une combinaison quelconque de ces classements.
- À chaque usage correspondra une structure
d'annuaire appropriée.
20Ingrédients dalgorithmes
- Variables
- nombre
- y
- i
- patrick
- x1
- Mais non pas
- 3x
- entrée
21Ingrédients dalgorithmes
- Affectation
- Condition/Comparaison
- Appel de fonction
- Structure de contrôle
- Branchements conditionnels (multiples)
- Boucles
- Bloc dinstruction
22Ingrédients dalgorithmes
- Affectation
- a 7
- score 0
- score score 100
- gameover FAUX
- Note
- Affectation dune seule variable avec un valeur.
- La variable à affecter figure à gauche, la valeur
à droite - Faux
- ab 6
- 7 c
23Ingrédients dalgorithmes
- Condition/Comparaison
- a 7
- absent FAUX
- malade VRAI OU vacances VRAI
- score gt highscore
-
- Note
- Le résultat dune condition/comparaison peut être
uniquement soit VRAI, soit FAUX
24Ingrédients dalgorithmes
- Appel de fonction, p.ex.
- afficher( Bonjour tout le monde )
- resultat racine_carre(16)
25Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- SINON
- ltbloc dinstructionsgt
26Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- SINON
- ltbloc dinstructionsgt
- Exemple
- SI (scoregtmeilleur_score) ALORS
- meilleur_score score
27Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- SINON
- ltbloc dinstructionsgt
- Exemple
- SI (scoregtmeilleur_score) ALORS
- meilleur_score score
En PASCAL IF (scoregtmeilleur_score)
THEN meilleur_score score
28Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels multiples
- CAS mois DE 1' nom Janvier
2' nom Février 3' nom
Mars 4' nom Avril 5'
nom Mai . - 12' nom Décembre
- AUTREMENT afficher('Erreur dans le
mois') FIN CAS
29Ingrédients dalgorithmes
- Structure de contrôle
- Boucle
- Définition
-
- Suite dinstructions qui peut être exécuté
plusieurs fois (itération)
30Ingrédients dalgorithmes
- Structure de contrôle
- Boucle
- TANT QUE ltconditiongt FAIRE
- ltbloc dinstructionsgt
- FIN TANT QUE
-
- ou
- FAIRE
- ltbloc dinstructionsgt
- TANT QUE ltconditiongt