Communication
Types abstraits
Types de base entiers, réels, booléens, caractères, pointeurs (adresses),… Constructeurs puissance produit cartésien itération (étoile) En ExF x… E* type_E ... […] struct { … }
Types abstraits - objets indépendants du langage et de l'implémentation décrits par : - interface (ensemble de base, opérations, relations, axiomes) - implémentation (codage en C ou autre) Exemples : Vecteur Arbre Ensemble Graphe Liste …
76
Entiers Entiers
- Ensemble : intervalle de N - Opérations (exemples) + - * / mod = ≠ < ≤ >≥ succ pred maxint _ +_ : N x N → N succ : N → N maxint : → N _ ≤_ : N x N → Booléens, etc. - Axiomes ( a + b) + c = a + ( b + c ), a ≤ b et b ≤ c ⇒ a ≤ c, etc. - Implémentation (courante) r = 54710 Bin (r) 0000001000100011 sur 16 bits
UMLV ©
Sig na tur e
r = -54710
Bin (216 + r)
1111110111011101
77
Réels Réels
Ensemble sous ensemble (fini) de R Opérations + cos _+_ cos < puiss
Sig na tur e
UMLV ©
log
* int
/ = < sqrt etc.
:R x R → R :R→ R : R x R → Booléens : R x R→ R
Axiomes corps ordonné x x (y + z) = x x y + x x z etc.
78
Implémentation (standard IEEE) x = ( -1 )s . 2 signe E - 127 .
UMLV ©
1,F mantisse caractéristique
8 9 10
S
012
E 0,8 = (-1)0 . 2
126-127
F
31
. 1,10011001100 … 2
0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
0,75 = (-1)0 . 2
126-127
. 1,100 … 2
0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0,8 - 0,75
0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0
0,05 = (-1)0 . 2
122-127 .
1,10011001100 … 2
0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
79
Vecteurs Vecteurs
Ensemble ensemble des suites finies indicées d'éléments d'un même type Opérations Vect : Entier x Entier Ü Vecteur ième : Vecteur x Entier Ü Elément chg-ième : Vecteur x Entier x Elément Ü Vecteur etc. Axiomes (exemples) [ v vecteur, i, j indices, e élément ] ième ( chg-ième