2.matérialisation SD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 14

MATÉRIALISATION D’UNE STRUCTURE DE

DONNÉES
ASDII
Principes généraux

■ En informatique, une structure de données (SD) est une structure logique destinée
à contenir des données, afin de leur donner une organisation permettant de
simplifier leur traitement. Une structure de données implémente concrètement un
type abstrait.
■ En génie logiciel, un type abstrait est une spécification mathématique d'un
ensemble de données et de l'ensemble des opérations qu'elles peuvent effectuer.
On qualifie d'abstrait ce type de données car il correspond à un cahier des charges
qu'une structure de données doit ensuite implémenter.
■ Les types abstraits les plus utilisés sont : pile, file, liste, arbre binaire, etc.
Principes généraux

■ Pour pouvoir concrétiser (matérialiser ou réaliser ou implémenter ou implanter) une


SD on distingue les concepts suivants :
■ interface : elle regroupe les opérations (ou les services) définies sur la SD.
■ On dit que la SD pile exporte
les services cités.
Principes généraux

■ implémentation : elle regroupe la réalisation des services exportés par l’interface de


la SD.
Principes généraux

■ utilisation : elle utilise ou réutilise des services proposés par l’interface. Lors de
l’utilisation on voit la SD Pile via son interface.
■ assertion : assertion est une expression de type booléen. Elle est censée être
évaluée à vrai lors de son exécution. Dans le cas où l’assertion (affirmation) est
violée (évaluée à faux), on arrête l’exécution. Le concept assertion sera utilisé pour
protéger la SD des utilisations illégale.
Par exemple : dépiler sur une pile vide !!!!
Possibilités fournies par le langage C

■ Un programme écrit en c peut être reparti physiquement sur plusieurs fichiers. On


distingue :
– Les fichiers ayant l’extension (.h)
– Les fichiers ayant l’extension (.c)
■ Un fichier ayant l’extension .h regroupe des déclarations : constantes, types,
variables et sous programmes.
Possibilités fournies par le langage C
Possibilités fournies par le langage C

■ Un fichier ayant l’extension .c regroupe des déclarations : constantes, types,


variables, sous programmes et des réalisations des sous-programmes.
■ Un fichier ayant l’extension .c peut ne pas comporter le sous-programme main.
■ Un fichier ayant l’extension .c qui ne comporte pas main ne peut pas être exécuté.
Possibilités fournies par le langage C

■ Afin que cette application soit exécutable, il faut qu’un parmi les fichiers d’extension
.c englobe main.
Possibilités fournies par le langage C

■ Le langage C offre un mécanisme permettant l’évaluation des assertions. Un tel


mécanisme est traduit la macro-instruction assert. Celle-ci figure dans la librairie
assert.h. Une telle macroinstruction possède les caractéristiques suivantes :
– Sur le plan syntaxique: assert(expression)
– Sur le plan sémantique: L’exécution de l’instruction assert entraîne l’évaluation de
son expression. Le résultat de cette évaluation conditionne la suite. On distingue
deux cas :
■ Cas 1 : résultat ≠ 0 : (expression est satisfaite ou remplie) alors passer à l’exécution de
l’instruction qui suit l’instruction assert.
■ Cas 2 : résultat=0 affirmation est violée ou non respectée alors assert va entraîner
l’arrêt d’une façon brutale de l’exécution du programme en signalant une erreur ayant la
forme suivante :
Assertion Failed : expression File : nom fichier Line : numéro ligne Abnormal program
terminaison
Possibilités fournies par le langage C
Possibilités fournies par le langage C
Matérialisation d’une structure de
données
■ Objet abstrait(OA)

■ Matérialisation de la SD :
■ Type de données Abstrait (TDA)

■ Objet abstrait(OA)  un seul exemplaire (ici une seul pile)  unique  implicite.
■ Type de données Abstrait (TDA)  plusieurs exemplaires  il faut mentionner ou rendre explicite
l’exemplaire courant.
■ La représentation physique d'une structure de données est l'implantation concrète, en machine,
■ d’objets et de sous-programmes conformes à une description logique. On peut considérer la
■ représentation physique:
– Représentation contiguë : utilisation des tableaux
– Représentation chainée : utilisation des pointeurs

Vous aimerez peut-être aussi