IFT-10541A : Hiver 2003 Semaine 1 : Type de données abstrait.

Slides:



Advertisements
Présentations similaires
[number 1-100].
Advertisements

Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
DECOUVERTE ET MISE EN OEUVRE
Le vaccin antigrippal disponible en France :
CARACTERISTIQUES D’UN ENSEMBLE DE FORCES
Licence pro MPCQ : Cours
Classe : …………… Nom : …………………………………… Date : ………………..
Introduction à l’Algorithmique
Reconnaissance de la parole
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
JXDVDTEK – Une DVDthèque en Java et XML
Le Modèle Logique de Données
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
Chap. 1 Structures séquentielles : listes linéaires
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Journée détude régionale du 23 mai Lévaluation interne des établissements et services sociaux et médico-sociaux : Où en sommes-nous ? 1 Résultats.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Les verbes auxiliaires Avoir ou être ?? Choisissez! Cest un verbe Dr Mrs Vandertrampp? Cest un verbe réfléchi?
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE
II. Chaînage, SDD séquentielles
Rappel au Code de sécurité des travaux 1 Code de sécurité des travaux Rappel du personnel initié Chapitre Lignes de Transport (Aériennes)
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
1.2 COMPOSANTES DES VECTEURS
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Complément Le diagramme des classes
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
1 INETOP
Structures de données IFT-2000 Abder Alikacem Introduction au cours Semaine 1 Département dinformatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-2000
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
1.1 LES VECTEURS GÉOMÉTRIQUES
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Au service de votre entreprise à linternational FORUM DENTREPRISES VIETNAM-CHINE DU 22 AU 30 NOVEMBRE 2007 Session dInformation.
COURS DE PROGRAMMATION ORIENTEE OBJET :
C'est pour bientôt.....
Veuillez trouver ci-joint
Structures de données IFT-10541
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Structures de données IFT-2000
Structures de données IFT-2000 Abder Alikacem Introduction Semaine 1 Département d’informatique et de génie logiciel Édition Septembre 2009.
Structures de données IFT-10541
Structures des données
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
1 Exemples Construction et implantation de types de données abstraits.
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Notions de pointeurs en C
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Chapitre 3 :Algèbre de Boole
Transcription de la présentation:

IFT-10541A : Hiver 2003 Semaine 1 : Type de données abstrait

2 Programme = Algo. + données Programmes et informations information intermédiaire outputinput

3 Conventions Représentation de linformation conventions de représentation: integer idem pour tout programme sur un même ordinateur, utilisant le même langage: int x; conventions dutilisation: integer pas de décimales: x = 5/2;

4 Conventions Structure dinformation (de données): conventions de représentation et dutilisation d un certain type dinformation certaines sont fournies avec les langages: int, float, double, long, etc.

5 Conventions de représentation Structuration de base = types simples convention de représentation: int x, y; choix de représentation {manipulations} ±00 ± bit de signe complément à 1: C 1 complément à 2: C 2

exemple: bit de signe Conventions de représentation

7 Conventions dutilisation manipulations: accès: …x…, y = x; mise à jour: x = …; addition: y = x+1; (x)

8 Conventions dutilisation (x) +(+1) (x) +(-1)

9 Conventions dutilisation (x) -(+4) (+3) (x)

10 Opérateurs de haut niveau Opérateurs de plus haut niveau: (plus abstraits) post/pré-incrémentation: x++; ++x; post/pré-décrémentation: x--; --x; donnent une facilité de manipulation

11 Conventions transparentes Transparence des types de base: … int x; y = x++;

12 Types de base Types de base: en C: int, float, char, double, long, short tableaux, struct, etc. en Pascal: set en SmallTalk: dictionnaires: { }

13 Types structurés types de base modélisation de base traitement numérique (appl. scientifiques) traitement de texte (caractères) types structurés modélisation dobjets enregistrements (étudiants, cours, BD, …) modélisation orientée objet (OO) types structurés = agrégation déléments de base

14 Construction dun modèle Modélisation: Réalité Modèle typedef struct { plan pl[6]; } boite; typedef struct { float x; float y; float z; } pt; typedef struct { pt p[4]; } plan; boite b1;float x; x

15 Modélisation = transfert Modélisation: Réalité Modèle boite b1; … rotation(b1,45); …

16 Les types abstraits typedef struct { plan pl[6]; } boite; typedef struct { float x; float y; float z; } pt; typedef struct { pt p[4]; } plan; float x; boite b1; … rotation(b1,45); … boîte noire Modélisation: modèle près de la réalité modèle distant des détails dimplantation

17 Les types abstraits programme indépendant de limplantation du type boite : boite b1, b2, b3; créer(b1, …); b2 = b1; b3 = b2; rotation(b1,45); pose_sur(b2,b3); boite est alors un type abstrait!

18 Les types abstraits un type abstrait: est défini uniquement par ses conventions dutilisation par le comportement des objets de ce type (i.e., par les fonctions applicables sur les objets de ce type) ne décrit pas le modèle dimplantation choisi sert à isoler les programmes des données crée une indépendance des applications face aux modèles dimplantation (continuité de la programmation structurée) permet lencapsulation de la définition dun type

19 Les types abstraits Indépendance programmes/données: modularité de développement facilité dassemblage de modules validation modulaire et continue réutilisation coût dentretien

20 Linterface avec les types de données de base : donnéesprogramme interface int x, y; y = x + 1; int x, y; =, +, -, ++, --, *, /,...

21 Linterface avec des types structurés : donnéesprogramme interface boite b1; rotation(b1,45); boite b1; rotation, pose_sur,...

22 Modèles dimplantation Choix dun modèle dimplantation : Besoins de lapplication: temps de réponse volume de données volatilité des données Ressources disponibles : temps CPU espace-mémoire systèmes dexploitation et architecture du système complexité: temps de développement, dimplantation et de mise à jour

23 Définition dun type abstrait Programmation dun type abstrait : donnéesprogramme interface spécification formelle dun type abstrait choix dun modèle dimplantation indépendants!!!

24 Cours de structures de données Gestionnaire de données Programmeur dapplication interface donnéesprogramme spécification formelle dun type abstrait choix dun modèle dimplantation Cours de structures de données

25 Tâches à maîtriser Analyse: -besoins -contraintes Conception: -choisir un modèle d implantation -réaliser limplantation Gestionnaire de données Programmeur dapplication interface donnéesprogramme spécification formelle dun type abstrait choix dun modèle dimplantation

26 Liste ordonnée déléments (int) L = L 1 = 8, L 2 = 1, L 3 = 5, L 4 = 4, L 5 = 6 Utilité? Un exemple : une liste ordonnée

27 Liste ordonnée déléments (int) L = L 1 = 8, L 2 = 1, L 3 = 5, L 4 = 4, L 5 = 6 Utilité? liste de réquisitions Réq.#1: 2000 chemises 1000 pantalons 1500 cravates... Réq.#2 Réq.#3 Réq.#1 Un exemple : une liste ordonnée

28 Liste ordonnée déléments (int) L = L 1 = 8, L 2 = 1, L 3 = 5, L 4 = 4, L 5 = 6 Utilité? liste de réquisitions file dattente Un exemple : une liste ordonnée

29 Liste ordonnée déléments (int) L = L 1 = 8, L 2 = 1, L 3 = 5, L 4 = 4, L 5 = 6 Utilité? liste de réquisitions file dattente parcours de graphe Un exemple : une liste ordonnée

30 Liste ordonnée déléments (int) L = L 1 = 8, L 2 = 1, L 3 = 5, L 4 = 4, L 5 = 6 Utilité? liste de réquisitions file dattente parcours de graphe Un exemple : une liste ordonnée

31 Manipulations (opérateurs): L L = ? (i.e., L = 0?) x L? L i x = L ? L L + i x L - i L L L - x L = L? L L? lister L L = Opérateurs d'une liste

32 Autres opérateurs? sous-liste de L, à partir de i, pour une longueur de n: L[i,n] concaténation de listes: L + L L = L[2,3] = L = L + L = Opérateur : concaténation

33 Spécification formelle exemple dutilisation: L L + pos x prototype de la fonction implantant lopérateur: liste ajoutL(liste L, typeEl x, int pos, int *err); préconditions conditions devant être vraies au départ pour assurer le bon fonctionnement de l opérateur L ne doit pas être pleine et pos [1,|L|+1] postconditions conditions étant vraies (observables) après lapplication (correcte) de lopérateur L contient x si les préconditions sont respectées L est inchangée sinon *err contient 0 si l'ajout s'est bien déroulé, 1 si L est pleine, 2 si pos [1,|L|+1] valeur(s) retournée(s) en output de lapplication de l opérateur: L mise à jour ou L inchangée en cas d'erreurs

34 Spécification du type liste : - pos L - pos L prototype: liste enleverPosEl(liste L, int pos, int *err); préconditions: pos [1,|L|] postconditions: L est inchangée si pos [1,|L|] avec *err = 2 L contient un élément de moins, lélément L pos avec *err=0, sinon valeur(s) retournée(s): L mise à jour ou inchangée en cas d'erreurs

35 Spécification du type liste : - L L - x prototype: liste enleverXL(liste L, typeEl x, int *err); préconditions: x doit appartenir à L postconditions: L contient un élément x de moins (le premier rencontré) avec *err = 0 *err = 3 si x L valeur(s) retournée(s): L inchangée si x nappartenait pas à L L mise à jour sinon

36 Spécification du type liste : L pos L pos prototype: typeEl elL(liste L, int pos, int *err); préconditions: pos [1,|L|] postconditions: L est inchangée avec *err = 0 L est inchangée et *err = 2 si pos [1,|L|] valeur(s) retournée(s): Une copie de L pos si préconditions respectées