Академический Документы
Профессиональный Документы
Культура Документы
R ÈGLE ` « Tableau »
Après une définition
Algorithmique UV2 type Des_Foos is array (Integer range <>) of τ
Cours 3 où τ est un type quelconque,
si ` e : Des_Foos et ` e0 : Integer alors ` e(e0 ) : τ
Didier Le Botlan
type Des_Foos is array (Integer range <>) of Integer ;
INSA Premier_Tableau : Des_Foos(1..200) ;
contact.lebotlan@insa-toulouse.fr
Compléter :
2nd semestre 2009–2010
` Des_Foos :
` Premier_Tableau : Des_Foos
http://wwwdgeinew.insa-toulouse.fr/~lebotlan/index.html ` Premier_Tableau(5) : Integer
` Premier_Tableau(2) := 120 : bloc
1 / 15 2 / 15
Vision ensembliste
Mais toutes les opérations ensemblistes n’existent pas (en Ada) sur les
types.
3 / 15 4 / 15
Type énuméré : déclaration L’exemple du poly
5 / 15 6 / 15
7 / 15 8 / 15
Sous-ensemble Un Type Article
9 / 15 10 / 15
Une_Duree
Natural
Foo : Il est possible de composer les structures, réalisant ainsi des
Heures
. 1 structures de données plus complexes.
11 / 15 12 / 15
Représentation graphique Utilisation
Une_Musique String(1..20)
. Titre
...
L’initialisation se fait en respectant l’ordre des champs ou en
Integer
Une_Duree nommant les champs (comme d’habitude) :
. Duree
. Heures
1 Chanson : Une_Musique := (Titre => "Brothers in Arms ",
Duree => (0, 3, 10.0) , 3 min 10.0
0..59
Annee => 1984 ,
. Minutes
12 Artiste => "Dire Straits ",
Integer 0.0..59.99
Avis => Bon) ;
. Annee
2006 . Secondes
45.0 L’accès aux champs se fait par notation pointée (comme d’habitude
aussi) :
String(1..20)
Chanson.Annee := 1985 ; Brothers in Arms date de 1985
. Artiste
... Chanson.Duree.Minutes := 5 ; Il dure 5 min 10 !
Un_Avis Chanson.Avis := Trop_Bon ; Et c’est plus que bon.
. Avis
Bof
13 / 15 14 / 15
Un tableau d’articles
Déclaration
type Une_Collection is array (Integer range <>) of Une_Musique ;
Collection_Rock : Une_Collection(1..8000) ;
Collection_Tecktonik : Une_Collection(1..1000) ;
Accès
Collection_Rock (31).Titre := "Where the streets have no name" ;
Collection_Rock (31).Duree := (0, 5, 37.0) ; 5 min 37
Collection_Rock (31).Duree.Secondes := 38.0 ; En fait, 5 min 38
Collection_Rock (31).Artiste := "U2 ";
15 / 15