Structures de données - Programmation C
Transcription
Structures de données - Programmation C
Introduction Structures de données - Programmation C Licence Parcours Maths-Info Semestre 5 - LCMIN5U1 Martine Gautier Université H. Poincaré, Nancy [email protected] Année 2007-2008 1/5 Introduction Organisation Responsable : Martine Gautier Bureau : 711A au 7ème étage (bâtiment 1er cycle) Mail : [email protected] Première partie : Structures de données (30h) Martine Gautier Seconde partie : Programmation C (30h) Brigitte Wrobel-Dautcourt Evaluation : au moins un écrit par partie et des Tps 2/5 Introduction Algorithme / Programme = Suite d’instructions écrites dans un langage spécifique Langage algorithmique souvent pas de syntaxe et de sémantique très précises proche du langage naturel intérêt : écrire de façon intuitive, en faisant abstraction de détails techniques inconvénient : langage incompréhensible par une machine Langage de programmation syntaxe et sémantique précises intérêt : langage compréhensible par une machine, sous réserve de disposer d’un compilateur inconvénient : s’attarder sur les détails techniques Evolution des constructions des langages de programmation vers des constructions de plus en plus abstraites. 3/5 Introduction Type primitif / Type structuré Données manipulées par les algorithmes type primitif : entier, réel, caractère, booléen type structuré : tableau, liste, pile, table, arbre, graphe Tableau : éléments rangés consécutivement, et repérés par un numéro d’ordre Liste : suite d’éléments rangés les uns relativement par rapport aux autres Pile : empiler, dépiler Table : accès direct à une information à partir d’une clé Arbre : hiérarchie entre les éléments Graphe : relation binaire entre éléments Données manipulées par les programmes Tous les langages de programmation proposent des types primitifs. Tous les langages de programmation (ou presque) proposent des tableaux. Quelques bibliothèques (Java) proposent aussi des listes, tables, etc. 4/5 Introduction Objectifs de la première partie : Structures de données Renforcement des acquis algorithmiques étude d’algorithmes utilisant des tableaux Etude des structures de données listes et tables. étude abstraite implantation en Java Comment atteindre ces objectifs ? Alternance Cours/TD/TP Cours relu, prérequis indispensable aux TDs Participation active aux TDs, prérequis indispensable aux TPs Travail individuel en TP, à terminer obligatoirement si la séance encadrée ne suffit pas. Outils Compilateur et machine virtuelle Java, version 1.4 JML : commandes jmlc et jmlrac, incompatibles avec la version Java 1.5 5/5