Télécharger la présentation
Publié parGorlois Rossi Modifié depuis plus de 10 années
1
Structures complexes Pr ZEGOUR DJAMEL EDDINE
Ecole Supérieure d’Informatique (ESI)
2
Structures complexes : Introduction
On distingue deux types d’enregistrement (structure) : - Structure simple : ensemble de champs de type simple (ENTIER, BOOLEEN, CAR, CHAINE) - Structure complexe : ensemble de champs de type simple ou de champ de type TABLEAU à une dimension de type simple
3
Structures complexes : Représentation en mémoire
Exemple : Type simple Type simple Structure complexe Descriptif d’un tableau Type simple Tableau Éléments de la structure complexe
4
Structures complexes : Déclarations
Types dans {Entier, Booleen, Car, Chaine} Sep dans {:, Un, Une, Des} Cste désigne une constante numérique entière Chaîne : chaîne de caractères Idf désigne un identificateur Opr dans { <, <=, >, >=, =, <> } Opa dans { +, -, Ou } Opm dans { *, /, Et } Sign dans {+, -} Tableau est synonyme de Vecteur Init_tableau est synonyme de Init_vecteur
5
Structures complexes : Déclarations
<Algo Z> [ ~Soit|Soient~ <Ps> ] Debut <Lis> Fin [;] { ~<Act> | <Fonct>~ [;] }* <Act> Action Idf [ ( <Li> ) ] [;] [ ~Soit|Soient~ <Ps> ] Debut <Lis> Fin <Fonct> Fonction Idf ( <Li> ) : <Typ> [ ~Soit|Soient~ <Ps> ] Debut <Lis> Fin <Ps> <S>;{ [~Soit|Soient~] <S>;}* <S> <Li>[Sep ~<Typ>|~Action|Fonction(<Typ>)~ ~] <Li> Idf {, Idf}*
6
Structures complexes : Déclarations
<Typ> Types | <Structsimple> | Tableau(<Lc>)[De~<Structsimple>|Types~ ] <Structsimple> [Structure ](Types {, Types }*) <Lc> Cste {, Cste}* <Structcomplexe> | <Structcomplexe> [Structure ] ( ~ Types | Vecteur(Cste) De Types ~ {, ~ Types | Vecteur(Cste) De Types ~ }*)
7
Structures complexes : Instructions
< Lis > < Inst > { ; < Inst > }* <Inst> Idf := <Exp> | Lire ( Idf {, Idf }* ) | Ecrire (<Exp> {,<Exp>}* ) | Tantque <Exp> [ : ] <Lis> Fintantque | Si <Exp> [:] <Lis> [Sinon <Lis>] Fsi | Pour Idf:= <Exp>,<Exp> [, <Exp>][:] <Lis> Finpour | Appel Idf [(Exp {,<Exp>}*)] |
8
Structures complexes : Instructions
<Inst> ~ Init_vecteur | Init_struct ~ ( Idf , [[ ~<Exp>|[[<Exp> {, <Exp>}*]] ~ {, ~<Exp>|[[<Exp> {, <Exp>}*]]~}* ]] ) | Aff_element ( <Exp> [[ <Exp> {, <Exp> }* ] ,<Exp> ) | Aff_struct(Idf, Cste, <Exp>)
9
Structures complexes : Expressions
<Exp> <Exps>[ Opr <Exps>] <Exps> [Sign] <Terme> { Opa <Terme> }* <Terme> <Facteur>{Opm <Facteur>}* <Facteur> Idf [(Exp {,<Exp>}*)] | Cste | ( <Exp>) | <Fonct> | Non <Facteur> | Vrai | Faux | Chaine <Fonct> Element ( <Fonct> [[ <Exp> {, <Exp> }* ]] ) | Struct ( Idf, Cste)
10
Sémantique des structures complexes : Fonctions sémantiques
<Structcomplexe> [Structure ] ( ~ Types | Vecteur(Cste) De Types ~ {, ~ Types | Vecteur(Cste) De Types ~ }*) Fonctions sémantiques et Descriptions à trouver Fx Description < Structcomplexe>
11
Sémantique des structures complexes : Exemple
‘Ds’ ‘Dt’ 2 1 ‘Init_v’ 3 ‘Aff_st’ 5 7 ‘L’ 1 7 ‘C’ 3 5 2 4 6 soit s une structure(entier, vecteur(3) de booleen, chaine); v un vecteur(3) de booleen; debut init_vecteur(v,[ vrai, faux,vrai]); aff_struct(s, 1, 1); aff_struct(s, 2, v); aff_struct(s, 3,'abc'); fin 1 1 2 2 3 3 4 5 Quadruplés générés 6 7 TABOB LONGZDD 2 TABTYP (EV3BS) TABCOMP 1 TABCONS ‘3’,’Vrai’,’Faux’,’1’,’2’, ‘abc’ 3,4,3 1
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.