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