Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJeannette Pelissier Modifié depuis plus de 11 années
1
Algorithmes et structures de données (avancées) Cours 1+2
Patrick Reuter
2
Déroulement CM mardi de 8h à 9h TD - Groupe 1 : mardi, 13h30 – 15h00
(rendre la feuille à la prochaine séance)
3
Motivation Niklaus Wirth, ETH Zuerich, 1976
« Algorithms + Data Structures = Programs »
4
Motivation pages Comment ça marche ?
5
Motivation Structure de donnée: p.ex. fantôme couleur position
direction aggressif ou pas ? Algorithmes: p.ex. mettre a jour le meilleur score p. ex. / ex:
6
Motivation Structure de donnée: - tableau a 2 dimension Algorithmes:
- surtout I.A. a / à
7
Motivation Structure de donnée : File FIFO (First In First Out)
Aussi: File à priorité
8
Motivation Structure de donnée : Pile LIFO (Last In First Out)
9
Motivation Structure de donnée : Arbre (pour l’élimination
des parties cachées)
10
Motivation Structure de donnée : Graphe (pour plannifier des trajets)
plannifier / planifier
11
Algorithme http://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. ». examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes
12
Algorithme 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. examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes
13
Algorithme 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 ») examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes
14
Algorithme 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. examinerois, pourroit, seroit, / examine, peut, est, (ici « autant que » est une comparaison donc pas de subjonctif, différent des phrases du type « quitte à s’être levé, autant que ce soit pour aller en cours) ; pour les mieux résoudre / pour mieux les résoudre ; problème / problèmes
17
Exemple Trouver un numéro dans un annuaire par nom donnée
18
Exemple Trouver un nom dans un annuaire par numéro donnée
19
Structure 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.
20
Ingrédients d’algorithmes
Variables : nombre y i patrick x1 Mais non pas : 3x entrée
21
Ingrédients d’algorithmes
Affectation Condition/Comparaison Appel de fonction Structure de contrôle Branchements conditionnels (multiples) Boucles Bloc d’instruction
22
Ingrédients d’algorithmes
Affectation a := 7; score := 0; score := score + 100; gameover := FAUX; Note: Affectation d’une seule variable avec un valeur. La variable à affecter figure à gauche, la valeur à droite Faux: a+b := 6; 7 := c; un valeur / une valeur
23
Ingrédients d’algorithmes
Condition/Comparaison a = 7 absent = FAUX malade = VRAI OU vacances = VRAI score > highscore; … Note: Le résultat d’une condition/comparaison peut être uniquement soit VRAI, soit FAUX
24
Ingrédients d’algorithmes
Appel de fonction, p.ex. afficher(« Bonjour tout le monde »); resultat := racine_carre(16);
25
Ingrédients d’algorithmes
Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON
26
Ingrédients d’algorithmes
Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score;
27
Ingrédients d’algorithmes
Structure de contrôle Branchements conditionnels SI <condition> ALORS <bloc d’instructions> SINON Exemple: SI (score>meilleur_score) ALORS meilleur_score := score; En PASCAL : IF (score>meilleur_score) THEN meilleur_score := score;
28
Ingrédients d’algorithmes
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;
29
Ingrédients d’algorithmes
Structure de contrôle Boucle Définition : Suite d’instructions qui peut être exécuté plusieurs fois (itération) exécuté / exécutée
30
Ingrédients d’algorithmes
Structure de contrôle Boucle TANT QUE <condition> FAIRE <bloc d’instructions> FIN TANT QUE ou FAIRE TANT QUE <condition>
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.