SuivantPrec.Bas prec.BasNiv. sup.

Chapitre 5 Le concept de type dans ASET 

ASET inclut le concept de type de variable. Il est basé sur le fait que chaque valeur peut être interprétée de différentes façons, selon les types des données de base sous-jacentes. Il y a quatre types de données de base, avec la sémantique donnée :

Chaîne Chaque valeur est une chaîne de caractères
Réel Quelques chaînes sont des nombres réels
Entier Quelques nombres réels sont entiers
BooléienneQuelques nombres entiers sont des booléiens

Considérons quelques exemples:

' Auto'est une chaîne, pas un réel, ni un entier, ni un booléien
'1.4e-1' est une chaîne, un réel, pas un entier, ni un booléien
'100' est une chaîne, un réel, un entier, pas un booléien
'1' est une chaîne, un réel, un entier, un booléien (vrai)
" est une chaîne, pas un réel, pas un entier, pas un booléien

La définition de réels et de nombres entiers valides est la définition habituelle. Notez qu'ils sont toujours sans signe, parce que le - est traité comme un opérateur (- unaire). La définition de valeurs booléiennes est :

0représente la valeur faux
1 représente la valeur vrai

Maintenant nous allons vers une extension de ce concept de type: considérons de nouveau la valeur '1.4e-1'. Nous pouvons interpréter cette valeur comme un nombre entier en lui appliquant la fonction ' round', ce qui la transforme en le nombre entier 0. De façon similaire, nous définissons chaque nombre entier comme étant une valeur booléienne en appliquant la fonction 'signum', ce qui veut dire: la valeur booléienne est faux, si le nombre entier est zéro, et vrai, si le nombre entier n'est pas zéro. Revenons à notre exemple et montrons toutes les interprétations possibles:

Valeur chaîneRéel Nombre entierBooléien
'Auto' 0.0 0 faux
'1.4e-1' 0.14 0 faux
'100' 100.0100 vrai
'1' 1.0 1 vrai
" 0.0 0 faux
'0.5' 0.5 1 vrai

La dernière entrée montre l'effet de la fonction 'round', qui retourne le nombre entier le plus proche et, si le nombre se trouve entre deux nombres entiers, retourne le plus grand.

ASET choisira automagically la représentation sans perte la plus forte, pour les résultats d'opérations. Cela veut dire, que le résultat de ' 0.5'+'0.5 ' est interprété comme ' 1 ', ie. une valeur entière, pas '1.0 ', une valeur réelle.

SuivantPrec.Bas prec.HautNiv. sup.