Définitions standard d'Up ! Virtual Technical Machine

Up ! Virtual Technical Machine comporte des définitions standards à partir dès quelles vos allez définir vos propres définitions et écrire vos programmes. Voici les principales :

Constantes

Constante réelle e

La constante réelle e est l'exponentielle de base e. Sa valeur est 2.718281828459.

Constante réelle Pi

La constante réelle Pi est pi. Sa valeur est 3.14159265359.

Enumérés

L'énuméré Booleen regroupe deux valeurs : Faux et Vrai. Ces valeurs énumérées servent notamment pour identifier les résultats des expressions booléennes et des conditions des tests et des boucles.

La valeur d'initialisation d'un booléen est Faux.

Types

Type Binaire

Le type Binaire permet de définir des zones comportant des suite d'octets. Un octet est codé sur 8 bits. Son code varie de 0 à 255.

La taille de la suite d'octets est calculée dynamiquement. La limite de la taille de la chaîne est alors imposée par la mémoire disponible, voire par des contraintes inhérentes au système d'exploitation.

La valeur d'initialisation d'un binaire est une suite d'octets vide, soit ".

Ce type de données est particulièrement utile pour manipuler des informations relatives aux images, sons et vidéos.

Type Caractere

Le type Caractere permet de définir des chaînes de caractères. Un caractère est codé sur 8 bits. Son code varie de 0 à 255 et sa valeur dépend de la page de code utilisée. La page de code est Unicode.

La taille des chaînes de caractères est calculée automatiquement et dynamiquement. La limite de la taille de la chaîne est alors imposée par la mémoire disponible, voire par des contraintes inhérentes au système d'exploitation.

La valeur d'initialisation d'une chaîne de caractères est la chaîne vide, soit ".

Vous pouvez réaliser différentes opérations sur le type Caractere comme demander sa longueur, concaténer deux chaînes, etc.

Type Date

Le type Date permet de définir des dates (jour, mois, année, heure, minute, seconde et milième) variant de 9.000.000 BC à 9.000.000 AD.

La valeur d'initialisation d'un entier est le 1er Janvier 0 à 0 heure, 0 minute, 0 seconde et 0 millième.

Type Entier

Le type Entier permet de définir des nombres entiers variant de -2147483647 à 2147483648.

La valeur d'initialisation d'un entier est 0.

Type Exception

Le type Exception permet de standardiser la détection d'une erreur. Lorsqu'une erreur est détectée dans le programme, une exception adéquate est envoyée.

Une exception est caractérisée par un message d'erreur formaté, un code d'erreur et un contexte : le module, l'appel, le numéro de la ligne et le numéro de la colonne du fichier source ayant provoqué l'exception.

Type Fichier

Le type Fichier permet de définir des fichiers identifiés par un chemin d'accès, un nom de fichier et éventuellement une extension.

La valeur d'initialisation d'un entier est le fichier fermé.

Type Module

Le type Module permet d'identifier tous les modules entrant dans la composition du programme.

La valeur d'initialisation d'un objet représentant un module est Nul.

Type Objet

Le type Objet permet d'identifier tous les objets utilisés par le programme, hormis un scalaire stricto sensu (énuméré, entier et réel).

La valeur d'initialisation d'un objet est Nul.

Type Reel

Le type Reel permet de définir des nombres réels variant de -1.7E-308, 1.7E+308 avec 15 chiffres significatifs.

La valeur d'initialisation d'un réel est 0.0.

Type Type

Le type Type permet d'identifier tous les types utilisés par le programme, même les types spéciaux tels ArbreBinaire, Enumere, Liste, Reference et Tableau.

La valeur d'initialisation d'un objet représentant un type est Nul.

Variables

Variable Clavier

La variable Clavier de type Fichier identifie le périphérique d'entrée standard qui est généralement la saisie au clavier. Elle correspond à un fichier ouvert en lecture en mode texte.

Cette variable peut-être uniquement consultée. Si le programme fonctionne sur une station de travail à fenêtre, l'action sur cette variable est d'ouvrir une boîte de dialogue de saisie.

Variable Ecran

La variable Ecran de type Fichier identifie le périphérique de sortie standard qui est soit la console, soit la fenêtre de sortie standard. Elle correspond à un fichier ouvert en écriture en mode texte.

Cette variable peut-être uniquement consultée. Si le programme fonctionne en mode batch (paramètre batch à la valeur O), l'action sur cette variable est d'écrire dans le fichier journal.

Variable Imprimante

La variable Imprimante de type Fichier identifie le périphérique d'impression standard en mode caractère. Elle correspond à un fichier ouvert en écriture en mode texte.

Cette variable peut-être uniquement consultée.

Variable Journal

La variable Journal de type Fichier identifie le fichier journal standard qui est par défaut ${UPS_HOME}/log/ups.log en fonctionnement mono-poste ou ${UPS_HOME}/log/${UPS_USER}/ups.log en fonctionnement multi-utilisateurs.

Cette variable peut-être uniquement consultée.

Variable Pays

La variable Pays de type PaysSupportes permet de connaître quelle est la zone géographique de configuration du logiciel. Ce paramètre influence la langue servant pour dialoguer avec l'utilisateur, le choix du formatage des dates, du symbole monétaire, etc.

Cette variable peut-être uniquement consultée.

Variable MiseAuPoint

La variable MiseAuPoint de type Fichier identifie le fichier de la trace d'exécution.

Cette variable peut-être uniquement consultée.

Variable RepertoireTmp

La variable RepertoireTmp de type Caractere identifie le répertoire dans lequel doivent être créé les fichiers temporaires.

Cette variable peut-être uniquement consultée.

Variable UpsHome

La variable UpsHome de type Caractere identifie le répertoire d'installation de Up ! Application System.

Cette variable peut-être uniquement consultée.

Exceptions

Exception AdresseInvalide

Cette exception est envoyée lorsque le programme tente d'accéder à un objet en utilisant une adresse invalide. Cette erreur grave nécessite l'appel au support technique.

Exception BufferTropGrand

Cette exception est envoyée lorsque le programme tente de créer une chaîne de caractères ou un binaire dont la taille excède la capacité de Up ! Kernel, cette dernière étant définie par la configuration du noyau d'exécution. Il peut s'agir d'une erreur de programmation.

Exception ContrainteNonNulNonRespectee

Cette exception est envoyée lorsqu'une contrainte de non nullité est violée : une variable ou une propriété d'un objet devant toujours être renseigné ne l'est plus. Cette situation provient d'une erreur de programmation. Elle est uniquement détectée si on a demandé à Up ! Compiler d'inclure le code de vérification des contraintes.

Exception ContrainteSelonRespectee

Cette exception est envoyée lorsqu'une contrainte de sélection d'un cas est violée : le programme tente de lire une propriété d'un objet polymorphique alors que la forme actuelle de cet objet ne comporte pas cette propriété. Cette situation provient d'une erreur de programmation. Elle est uniquement détectée si on a demandé à Up ! Compiler d'inclure le code de vérification des contraintes.

Exception ContrainteTypeRespectee

Cette exception est envoyée lorsqu'une contrainte sur un type cas est violée : une variable ou une propriété d'un type devant toujours respecter une condition ne la vérifie plus. Cette situation provient d'une erreur de programmation. Elle est uniquement détectée si on a demandé à Up ! Compiler d'inclure le code de vérification des contraintes.

Exception ConvertirImpossible

Cette exception est envoyée lorsque le programme tente de convertir un objet en un autre objet. Les conversions sont uniquement possible lorsqu'il y a héritage de type : il est possible de convertir un objet dans le type hérité par son type natif. L'orientation des conversions est d'aller de la spécificité vers la généricité. Cette situation provient d'une erreur de programmation.

Exception DateInvalide

Cette exception est envoyée lorsque le programme utilise une date qui n'est pas valide. Par exemple, le numéro du jour dans le mois est 34. Cette situation provient d'une erreur de programmation.

Exception DivisionParZero

Cette exception est envoyée lorsque le programme tente d'effectuer une division par zéro.

Exception FluxNonOuvert

Cette exception est envoyée lorsque le programme essaye d'effectuer un traitement sur un flux qui aurait du être ouvert, ce qui n'est pas le cas. Cette situation provient d'une erreur de programmation.

Exception FluxNonOuvertEnEcriture

Cette exception est envoyée lorsque le programme essaye d'effectuer un traitement sur un flux qui aurait du être ouvert en écriture, ce qui n'est pas le cas. Cette situation provient d'une erreur de programmation.

Exception FluxNonOuvertEnLecture

Cette exception est envoyée lorsque le programme essaye d'effectuer un traitement sur un flux qui aurait du être ouvert en lecture, ce qui n'est pas le cas. Cette situation provient d'une erreur de programmation.

Exception InterfaceNonImplementee

Cette exception est envoyée lorsque le programme fait rechercher à Up ! Kernel un type de données implémentant une certaine interface. Malheureusement, aucun type n'est trouvée. Il peut s'agir d'une erreur de programmation.

Exception OuvertureFluxEcriture

Cette exception est envoyée lorsque le programme essaye d'ouvrir un flux en écriture et que cette tentative échoue. Pour un fichier, son nom est peut-être incorrect ou les droits d'accès vous en interdisent l'accès.

Exception OuvertureFluxLecture

Cette exception est envoyée lorsque le programme essaye d'ouvrir un flux en lecture et que cette tentative échoue. Pour un fichier, son nom est peut-être incorrect ou les droits d'accès vous en interdisent l'accès.

Exception ListeIterateurInvalide

Cette exception est envoyée lorsque le programme tente d'utiliser un itérateur de liste qui est invalide. Chaque liste comporte quatre itérateurs indépendants permettant de les parcourir. Cette situation provient d'une erreur de programmation.

Exception ListePrecedentImpossible

Cette exception est envoyée lorsque le programme tente d'accéder à l'élément précédent d'une liste alors que l'itérateur est positionné sur le premier élément de la liste. Cette situation provient d'une erreur de programmation.

Exception ListeSuivantImpossible

Cette exception est envoyée lorsque le programme tente d'accéder à l'élément suivant d'une liste alors que l'itérateur est positionné sur le dernier élément de la liste. Cette situation provient d'une erreur de programmation.

Exception ModuleInconnu

Cette exception est envoyée lorsque le programme tente de charger dynamiquement un module et que celui-ci n'est pas accessible depuis UPS_PATH. Cette situation provient d'une erreur d'installation ou de déploiement.

Exception PasDOperateurImplicite

Cette exception est envoyée lorsque Up ! Kernel tente d'appliquer un opérateur implicite à un objet alors que son type n'en possède pas. Cette situation provient d'une erreur de programmation.

Exception PlusDeMemoire

Cette exception est envoyée lorsque le programme nécessite d'une zone mémoire dont la taille excède la taille maximale disponible.

Exception TableauIndexImpossible

Cette exception est envoyée lorsque le programme tente d'accéder à un élément d'un tableau avec un index en dehors de la plage de définition du tableau. Cette situation provient d'une erreur de programmation.

Exception TableauTropGrand

Cette exception est envoyée lorsque le programme nécessite un tableau dont la taille excède la capacité de Up ! Kernel, cette dernière étant définie par la configuration du noyau d'exécution. Il peut s'agir d'une erreur de programmation.

Expressions

Opérateurs arithmétiques

Le tableau suivant présente les opérateurs arithmétiques reconnus par Up ! Application System. Chaque type de donnée peut avoir ses propres définitions pour ces opérateurs.

La colonne de gauche présente le symbole de l'opérateur, la première colonne du centre sa signification, la suivante son usage : préfixé (l'opérateur se situe avant son paramètre), postfixé (l'opérateur se situe après son paramètre), infixé (l'opérateur se situe entre ses deux paramètres), indexation (l'opérateur entoure son second paramètre), appel (l'opérateur entoure ses n-1 derniers paramètres. L'avant-dernière colonne donne le niveau de priorité de l'opérateur : plus la valeur est grande, plus il est prioritaire. Si le paramètre renvoie un résultat, cela est précisé dans la dernière colonne.

SymboleSignificationUsagePrioritéRésultat
+AdditionInfixé8Oui
-SoustractionInfixé ou préfixééInfixé : 14
Préfixé : 8
Oui
*MultiplicationInfixé10Oui
/Division réelleInfixé10Oui
\Division entièreInfixé10Oui
%CongruenceInfixé10Oui
^PuissanceInfixé12Oui
&l;<Décalage à gaucheInfixé8Oui
>>Décalage à droiteInfixé8Oui
.SélectionInfixé18Oui
&Et logiqueInfixé8Oui
|Ou logiqueInfixé8Oui
!Non logiqueInfixé14Oui
++IncrémentationPréfixé ou postfixé14Oui
--IncrémentationPréfixé ou postfixé14Oui
=Affectation Infixé1Non
+=Addition puis affectationInfixé1Non
-=Soustraction puis affectationInfixé1Non
*=Multiplication puis affectationInfixé1Non
/=Division réelle puis affectationInfixé1Non
\=Division entière puis affectationInfixé1Non
%=Congruence puis affectationInfixé1Non
^=Puissance puis affectationInfixé1Non
<<=Décalage à gauche puis affectationInfixé1Non
>>=Décalage à droite puis affectationInfixé1Non
.=Sélection puis affectationInfixé1Non
&=Et logique puis affectationInfixé1Non
|=Ou logique puis affectationInfixé1Non
==EgalitéInfixé6Oui
!=DifférenceInfixé6Oui
<<Inférieur stricteInfixé6Oui
>Supérieur stricteInfixé6Oui
<=Inférieur ou égalInfixé6Oui
>=Supérieur ou égalInfixé6Oui
[]IndexationInfixé16Oui
()EvaluationInfixé16Indéterminé

Opérateurs arithmétiques d'affectation

Les opérateurs arithmétiques d'affectation ne peuvent s'appliquer qu'aux variables, aux propriétés et aux éléments d'un tableau. Voici un exemple :

Type T Defaut
/***********/

Fin Type

Variable
Fonction F() Retourner Caractere
/******************************/
Debut
Retourner "coucou";
Fin Fonction

Principal
/*******/
Debut
/* Exemples d'affectations licites. */
B="coucou";
C[0]="hello";
D.A="guten tag";
/* Exemples d'affectations illicites. */
B+"!"="erreur";
F()="erreur";
Fin Principal

Opérateurs arithmétiques pour le type Caractere

Le tableau suivant présente les opérateurs arithmétiques pour le type Caractere. L'identificateur C représente une variable de type Caractere.

SymboleCommentaireExempleRésultat
+Concaténation de deux chaînes de caractères.aa" + bb"aabb"
-Inversion de la chaîne de caractères.- abcde"edcba"
=Affectation d'une chaînes de caractères.C = abc"C a pour valeur abc"
+=Concaténation de deux chaînes de caractères puis affectation.C += abc"C est prolongée de abc"
==Egalité entre deux chaînes de caractères.abc" == abc"Vrai
!=Différence entre deux chaînes de caractères.abc" != abc"Faux
<Inférieur stricte entre deux chaînes de caractères.abc" < def"Vrai
>Supérieur stricte entre deux chaînes de caractères.abc" > def"Faux
<=Inférieur large entre deux chaînes de caractères.abc" <= def"Vrai
>=Supérieur large entre deux chaînes de caractères.abc" >= def"Faux

Opérateurs arithmétiques pour le type Date

Le tableau suivant présente les opérateurs arithmétiques pour le type Date. L'identificateur D représente une variable de type Date.

SymboleCommentaireExempleRésultat
+Ajout d'un nombre de secondes.DateSysteme() + 3600Date dans une heure.
-Soustraction d'un nombre de secondes.DateSysteme() - 3600Date d'il y a une heure.
-Soustraction de deux dates.DateSysteme() - DNombre de secondes écoulées depuis D.
=Affectation d'une date.D = DateSysteme()D a pour valeur la date courante.
+=Ajout d'un nombre de secondes et affectation.D += 3600D est décalée d'une heure en plus.
-=Retrait d'un nombre de secondes et affectation.D -= 3600D est décalée d'une heure en moins.
=Egalité entre deux dates.D == DateSysteme()D contient la date du jour.
<Inférieur strict entre deux dates.D < DateSysteme()Indéterminé
>Supérieur strict entre deux dates.D > DateSysteme()Indéterminé
<=Inférieur large entre deux dates.D <= DateSysteme()Indéterminé
>:=Supérieur large entre deux dates.D >= DateSysteme()Indéterminé

Opérateurs arithmétiques pour le type Entier

Le tableau suivant présente les opérateurs arithmétiques pour le type Entier. L'identificateur E représente une variable de type Entier.

SymboleCommentaireExempleRésultat
+Addition deux entiers ou d'un entier et d'un réel. Le résultat est respectivement entier ou réel.10 + 2030.
-Soustraction deux entiers ou d'un entier et d'un réel. Le résultat est respectivement entier ou réel.10 - 20-30.
- EInversion de signe.- E-E.
*Soustraction deux entiers ou d'un entier et d'un réel. Le résultat est respectivement entier ou réel.10 * 20200.
/Division réelle de deux entiers ou d'un entier et d'un réel. Le résultat est réel.10 / 200,5.
\Division entière de deux entiers.10 \ 200
%Reste de la division d'un entier par un autre entier.12 % 75
^Puissance de deux entiers ou d'un entier et d'un réel. Le résultat est respectivement entier ou réel.10 ^ 2100
&Et logique bit à bit.0x3 & 0x60x2.
|Ou logique bit à bit.0x3 | 0x60x7.
<<Décalage vers la gauche i.e multiplication logique par 2 puissance n.2 << 316.
>>Décalage vers la droite i.e division logique par 2 puissance n.16 >> 32.
++Incrémentation d'une valeur. Si l'opérateur est préfixé, l'incrémentation a lieu avant l'évaluation du résultat. Si l'opérateur est postfixé, l'incrémentation a lieu après l'évaluation du résultat.E++
++E
Indéterminé.
--Décrémentation d'une valeur. Si l'opérateur est préfixé, la décrémentation a lieu avant l'évaluation du résultat. Si l'opérateur est postfixé, la décrémentation a lieu après l'évaluation du résultat.E--
--E
Indéterminé.
==Egalité entre deux entiers ou entre un entier et un réel.10 == 10Vrai.
!=Différence entre deux entiers ou entre un entier et un réel.10 != 10Faux.
<Inférieur strict entre deux entiers ou entre un entier et un réel.10 < 10Vrai.
>Supérieur strict entre deux entiers ou entre un entier et un réel.10 > 10Faux.
<=Inférieur large entre deux entiers ou entre un entier et un réel.10 <= 10Vrai.
>=Supérieur large entre deux entiers ou entre un entier et un réel.10 >= 10Faux.
+=Addition de deux entiers puis affectation.E += 10Ajout de 10 à E.
-=Soustraction de deux entiers puis affectation.E -= 10Retrait de 10 à E.
*=Multiplication de deux entiers puis affectation. E *= 10Multiplication de E par 10.
/=Division de deux entiers puis affectation.E /= 10Division de E par 10.
%=Reste de la division réelle de deux entiers puis affectation.E %= 10Reste de la division entière de E par 10.
^=Puissance de deux entiers puis affectation.E ^= 2Mise au carré de E.
&=Et logique bit à bit puis affectation.E &= 0xFModification des bits de E.
|=Ou logique bit à bit puis affectation.E |= 0xFModification des bits de E.
<<=Décalage vers la gauche i.e multiplication logique par 2 puissance n, puis affectation.E << =3Modification des bits de E.
>>=Décalage vers la droite i.e division logique par 2 puissance n, puis affectation.E >> =3Modification des bits de E.

Opérateurs arithmétiques pour le type Fichier

Le tableau suivant présente les opérateurs arithmétiques pour le type Fichier. L'identificateur F représente une variable de type Fichier.

SymboleCommentaireExempleRésultat
=Affectation d'un fichier.F1 = F2F1 prend la valeur de F2.
==Egalité entre deux fichiers.F1 == F2Indéterminé.
!=Différence entre deux fichiers.F1 != F2Indéterminé.

Opérateurs arithmétiques pour le type Reel

Le tableau suivant présente les opérateurs arithmétiques pour le type Reel. L'identificateur R représente une variable de type Reel.

SymboleCommentaireExempleRésultat
+Addition deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 + 20,030,0.
-Soustraction deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 - 20,0-10,0.
-Inversion de signe.- R- R.
*Multiplication deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 * 20,0200,0.
/Division réelle de deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 / 20,00,5.
/Division entière de deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 \ 20,00,0.
^Puissance de deux réels ou d'un réel et d'un entier. Le résultat est réel.10,0 ^ 2,0200,0.
++Incrémentation d'une valeur. Si l'opérateur est préfixé, l'incrémentation a lieu avant l'évaluation du résultat. Si l'opérateur est postfixé, l'incrémentation a lieu après l'évaluation du résultat.R++
++R
Indéterminé.
--Décrémentation d'une valeur. Si l'opérateur est préfixé, la décrémentation a lieu avant l'évaluation du résultat. Si l'opérateur est postfixé, la décrémentation a lieu après l'évaluation du résultat.R--
--R
Indéterminé.
==Egalité entre deux réels ou entre un réel et un entier.10,0 == 20,0Faux.
!=Différence entre deux réels ou entre un réel et un entier.10,0 != 20,0Vrai.
<Inférieur strict entre deux réels ou entre un réel et un entier.10,0 < 20,0Vrai.
>Supérieur strict entre deux réels ou entre un réel et un entier.10,0 > 20,0Faux.
<=Inférieur large entre deux réels ou entre un réel et un entier.10,0 <= 20,0Vrai.
>=Supérieur large entre deux réels ou entre un réel et un entier.10,0 >= 20,0Faux.
+=Addition de deux réels ou d'un réel et d'un entier, puis affectation.R += 10.0Ajout de 10,0 à R.
-=Soustraction de deux réels ou d'un réel et d'un entier, puis affectation.R -= 10,0Retrait de 10,0 à R.
*=Multiplication de deux réels ou d'un réel et d'un entier, puis affectation.R *= 10,0Multiplication de R par 10,0.
/=Division réelle de deux réels ou d'un réel et d'un entier, puis affectation.R /= 10,0Division de R par 10,0.
/=Division entière de deux réels ou d'un réel et d'un entier, puis affectation.R \= 10Division de R par 10.
^=Puissance deux réels ou d'un réel et d'un entier, puis affectation.R ^= 2,0Mise au carré de R.

Opérateurs logiques

Le tableau suivant présente les opérateurs logiques reconnus par Up ! Virtual Technical Machine. Ils sont uniquement applicables à l'énuméré Booleen.

La colonne de gauche présente le symbole de l'opérateur, la première colonne du centre sa signification, la suivante son usage : préfixé (l'opérateur se situe avant son paramètre), postfixé (l'opérateur se situe après son paramètre), infixé (l'opérateur se situe entre ses deux paramètres). Ils renvoient tous un résultat.

SymboleSignificationUsagePrioritéExemple
NonNégation logique. Le résultat est Vrai si l'opérande est Faux, sinon le résultat est Vrai.Préfixé14Non B1
EtEt logique. Le résultat est Vrai si les deux opérandes sont Vrai.Infixé4B1 Et B2
EtSiEt logique en garantissant l'ordre d'évaluation des paramètres. Le résultat est Vrai si les deux opérandes sont Vrai.Infixé4B1 EtSi B2
OuOu logique. Le résultat est Vrai si l'une ou l'autre des opérandes sont Vrai.Infixé2B1 Ou B2
OuSinonOu logique en garantissant l'ordre d'évaluation des paramètres. Le résultat est Vrai si l'une ou l'autre des opérandes sont Vrai.Infixé2B1 OuSinon B2
OuExclusifOu exclusif logique. Le résultat est Vrai si l'une des des opérandes est Vrai et si l'autre opérande est Faux.Infixé3B1 OuExclusif B2

Expressions logiques

Comme

L'instruction Comme permet de tester la correspondance d'une expression de type caractère par rapport à un modèle. Exemple :

Si C Comme "abc*" Alors ...

Pour connaître les jokers admissibles dans le modèle de l'expression, veuillez vous reporter à la fiche de cette instruction dans le Manuel de référence de Up ! 5GL.

La priorité de Comme par rapport aux opérateurs est 6.

Dans

L'instruction Dans permet de tester l'appartenance d'une valeur à une liste de valeurs. Exemple :

Si E Dans (10, 20, 30) Alors ...

Il faut toutefois que le type de l'expression possède l'opérateur ==. Cette instruction est donc applicable sur les valeurs entières, réelles, caractères et dates.

La priorité de Dans par rapport aux opérateurs est 6.

Entre

L'expression Entre permet de tester l'appartenance d'une valeur à un intervalle. Exemple :

Si E Entre 10 Et 20 Alors ...

Il faut toutefois que le type de l'expression possède les opérateurs >= et <=. Cette instruction est donc applicable sur les valeurs entières, réelles, caractères et dates.

La priorité de Entre par rapport aux opérateurs est 6.

Opérateurs de groupe

Un opérateur de groupe permet de réaliser une opération sur un ensemble de valeurs. Ils sont tous applicables aux types de données possédant certains opérateurs. Le tableau suivant présente les opérateurs de groupe. La colonne de gauche présente le symbole de l'opérateur, la colonne du centre sa signification, la dernière les opérateurs requis. Ils renvoient tous un résultat.

SymboleSignificationOpérateurs requis
EcartTypeEcart-type des valeurs passées en paramètre.+, /, ^ et =
MaxMaximum des valeurs passées en paramètre.< et =
MinMinimum des valeurs passées en paramètre.> et =
MoyenneMoyenne des valeurs passées en paramètre.+, / et =
SommeCumul des valeurs passées en paramètre.+ et =
VarianceVariance des valeurs passées en paramètre.+, /, ^ et =

Exemple :

R=EcartType(10,20,30);
R=Max(10,20,30);
R=Min(10,20,30);
R=Moyenne(10,20,30);
R=Somme(10,20,30);
R=Variance(10,20,30);

La priorité des opérateurs de groupe par rapport aux opérateurs est 20.

Sélection des propriétés ou des méthodes

Pour sélectionner une propriété, il faut employer l'opérateur infixé . en plaçant avant l'opérateur l'expression comportant la propriété à sélectionner et après l'opérateur le nom de la propriété ou de la méthode. Exemple :

Type TypA
/*******/

Fin Type

...

Variable
/******/ ...