Simscript III/Dictionnaire des instructions/DEFINE ... ARRAYS
L’énoncé define ... arrays permet de définir le type et la dimension des tableaux globaux (dans le preamble) ou locaux (dans une routine).
Syntaxe : |
|
Tous les tableaux sont automatiquement initialisés à zéro (ou champ nul pour les types text et alpha). Une variable locale peut être déclarée saved ou recursive. La première fois qu’un sous-programme est appelé, les variables locales saved ou recursive ont lavaleur zéro. Une variable locale recursive (qui est la valeur implicite) a la valeur zéro à chaque appel du sous-programme. Une variable locale saved conserve la valeur qu’elle avait lors du dernier appel au sous-programme.
preamble
preamble
begin class Classe
the class has an attribut_Classe
define attribut_Classe as an integer variable;
end ‘‘ class Classe
define GLshort to mean Signed integer2
end ‘‘ preamble
main
define va as an Alpha variable; ‘‘ Un octet, un entier non-signé de 8 bits pour
‘‘ stocker un caractère ASCII
define vi2 as an Integer2 variable; ‘‘ Un entier non-signé de 16 bits (0 à 65535)
define vsi2 as a Signed integer2 variable; ‘‘ Un entier signé de 16 bits (-32768 à +32767)
define vi as an Integer variable; ‘‘ Un entier signé d'au moins 32 bits
define vr as a Real variable; ‘‘ Un nombre point-flottant de 32 bits
define vd as a Double variable; ‘‘ Un nombre point-flottant de 64 bits
define vp as a pointer variable; ‘‘ Une adresse de 32 bits
define vs as a subprogram variable; ‘‘ Une adresse d'un sous-programme de 32 bits
define vt as a text variable; ‘‘ Une adresse d'une chaîne de caractères
define vc as a Classe reference variable; ‘‘ Une variable de référence à une classe :
‘‘ adresse d'un objet
let va = "a"; ‘‘ Un octet, un entier non-signé de 8 bits pour
‘‘ stocker un caractère ASCII
let vi2 = 65535; ‘‘ Un entier non-signé de 16 bits (0 à 65535)
let vsi2 = -32768; ‘‘ Un entier signé de 16 bits (-32768 à +32767)
let vi = inf.c; ‘‘ Un entier signé d'au moins 32 bits
let vr = 1234567.0; ‘‘ Un nombre point-flottant de 32 bits
let vd = rinf.c; ‘‘ Un nombre point-flottant de 64 bits
let vp = 3456; ‘‘ Une adresse de 32 bits
let vs = 'subprogram'; ‘‘ Une adresse d'un sous-programme de 32 bits
let vt = "Une chaîne de texte"; ‘‘ Une adresse d'une chaîne de caractères
create vc; ‘‘ Création d'un objet : instance d'une classe
write va, vi2, vsi2, vi, vr, vd, vp, vs, vt, vc
as B 10, "va = " , A 1, /,
B 10, "vi2 = " , I *, /,
B 10, "vsi2 = " , I *, /,
B 10, "vi = " , I 10, /,
B 10, "vr = " , D ( 10, 2), /,
B 10, "vd = " , E ( 10, 2), /,
B 10, "vp = " , C 8, /,
B 10, "vs = " , C 8, /,
B 10, "vd = " , T *, /,
B 10, "vc = " , C 8, /;
read as / using 5;
end ‘‘ main
routine subprogram
define i = 5 as a constant;
end ‘‘ subprogram