Algorithmes et structures de données Cours 2

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données (avancées) Cours 1+2
Advertisements

Introduction a L’algorithme
Initiation à la programmation et algorithmique cours 2
Algorithmes et structures de données avancées 6ème cours Patrick Reuter
Algorithmes et structures de données avancées 5ème cours Patrick Reuter
Conception de Site Webs dynamiques Cours 5
Algorithmes et structures de données 7ème cours
Algorithmes et structures de données 3ème cours Patrick Reuter
Algorithmes et structures de données
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 3
Algorithmes et structures de données Cours 10 Patrick Reuter
Algorithmes et structures de données Cours 7
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données Cours 1 Patrick Reuter
Algorithmes et structures de données 4ème cours
Algorithmes et structures de données 5ème cours
C++ 6ème cours Patrick Reuter maître de conférences
Algorithmes et structures de données Cours 9 Patrick Reuter
Algorithmes et structures de données avancées Cours 1+2+3
Introduction à l’Algorithmique
Algorithmique Résume.
Notions fondamentales (Types, variables, affectations)
Dossier TICE Excel.
Les bases de l’Algorithmique
CPI/BTS 2 Programmation Web Introduction au PHP
Partie 1 Etude de l'existant
Récursivité.
Introduction à l’algorithmique
Algorithmique et structure de données
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Programmation multimédia 3
Introduction à la programmation (Java)
Lundi, 13 septembre 2010 Algorithmie (cours 2) Cégep de Saint- Hyacinthe Par Hugo St-Louis.
Base de programmation Script unity en c#.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Principes de programmation
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
La programmation en langage C
Algorithmique et structure de données
ASI 3 Méthodes numériques pour l’ingénieur
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
L’essentiel du langage C
Animateur : Med HAIJOUBI
Algorithmique Les structures Rappel L'enchaînement séquentiel
Ecrire des expressions arithmétiques et logiques
SIF-1053 Architecture des ordinateurs
Un survol du language C.
Module I3 algorithmique et programmation
Algorithmique : Introduction
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Les bases de l’algorithmique
Module algorithmique et programmation
Module 133 Développer des applications Web Introduction à PHP.
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Algorithmique Algorithmique  Pascal
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Principes et variables
Introduction à L’Algorithmique
Introduction au langage C
Algorithmique et programmation
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Algorithmes et structures de données Cours 2 Patrick Reuter http://www.labri.fr/~preuter

Motivation Niklaus Wirth, ETH Zuerich, 1976 « Algorithms + Data Structures = Programs »

Algorithme L'algorithmique : 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

Algorithme 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

Algorithme Mise en œuvre de l'algorithme : Implémentation (« codage ») Ecrire les opérations dans un langage de programmation la brique de base d'un programme informatique 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

Algorithme 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

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.

http://www.labri.fr/~preuter/asd2007

Variables Permet de stocker des données au cours d’un algorithme  Structure de données la plus élémenataire Caractérisé par leur nom et leur type

Variables Caractérisé par leur nom et leur type Nom : x y z i pointsJoueur1 pointsJoueur2

Variables Mais non pas : 3x (doivent commencer par une lettre) entrée (pas de caractère spéciaux)

Variables Type : Nombre entier (p.ex. 5, integer) Nombre à virgule flottant (p.ex. 5.12, float) Caractère (p.ex. ‘c’, char) Chaîne de caractères (p.ex. "salut", string) Vrai/faux (p.ex. TRUE, boolean) plus de détails plus tard ….

Ingrédients d’algorithmes Affectation Condition/Comparaison Structure de contrôle Branchements conditionnels (multiples) Boucles Bloc d’instruction Appel de fonction

Ingrédients d’algorithmes Affectation x← 10; y := 30; z = x; un valeur / une valeur

Faire tourner un algorithme Affectation x := 10; y := 30; z := x; x := 20 Chaque variable une colonne un valeur / une valeur x 10 20 y 30 z 10

Opérateurs : Opérateurs numériques : Opérateurs alphanumériques : +, -, *, / % : modulo (reste de la division) Multiplication/division prioritaire Parenthèses Opérateurs alphanumériques : concatenation + Opérateurs booléennes : ET, OU, NON, XOR logique

Ingrédients d’algorithmes Affectation a := 7; points := 0; points := points + 100; meilleurpoints := points; 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

Faire tourner l’algorithme

Faire tourner un algorithme Affectation a := 7; points := 0; points := points + 100; meilleurpoints := points; gameover := FAUX; Chaque variable une colonne un valeur / une valeur a 7 points 100 meilleurpoints 100 gameover FAUX