Selon ... FinSelon
Instruction
Rôle : |
Début de boucle Selon. |
Syntaxe : |
Selon <expression> [Faire] ...Cas <expression de comparaison_1> : <séquence d'instructions_1> ... ...Cas <expression de comparaison_n> : <séquence d'instructions_n> Defaut : <séquence d'instructions> FinSelon |
Notes : |
expression : Expression de type numérique ou alphanumérique à comparer.
expression de comparaison : Expression du même type que l'expression à comparer.
Pour une expression numérique, on pourra utiliser les types de comparaison suivants:
EgalA Egal à la valeur
DifferentDe Différent de valeur
InferieurA Inférieur à valeur
SuperieurA Supérieur à valeur
JusquA Jusqu'à (Inférieur ou égal à) valeur
APartirDe A partir de (Supérieur ou égal à) valeur
Pas de type de comparaison possible pour une expression alphanumérique.
|
Expression et expression de comparaison doivent être du même type. |
Il y a comparaison de l'expression avec l' expression de comparaison_1; si le résultat de la comparaison est FAUX, il y a comparaison avec l' expression de comparaison_2,..etc.
La comparaison rend un résultat booléen.
s Si le résultat d'une comparaison est VRAI, la séquence d'instructions correspondant à l'expression de comparaison est exécutée, puis le programme se rebranche à l'instruction suivant FinSelon.
s Si le résultat de toutes les comparaisons est FAUX, la séquence d'instructions associée à Defaut est exécutée, puis le programme se rebranche à l'instruction suivant FinSelon.
Après l'exécution d'une séquence d'instructions, le programme se rebranche à l'instruction suivant FinSelon. Si l'expression vérifie plusieurs comparaisons, seule la séquence d'instructions de la première comparaison satisfaite est exécutée.
On peut utiliser l'instruction Selon dans les séquences d'instruction.
Toute variable déclarée à l'intérieur d'une séquence d'instructions sera locale à cette séquence et ne pourra pas être utilisée ailleurs.
Exemple :
Domaine : ESSAI "Instruction Selon ... FinSelon"
Objet TRAITEMENT : SELONFINSELON
Declaration
VARIABLES :
Entier i = 7
Entier j = 2
FinDeclaration
Methode JE_TESTE
Selon i Faire
Cas <5 : BoiteMessage "Séquence 1"
Cas =5+j : BoiteMessage "Séquence 2"
Cas 7 : BoiteMessage "Séquence 3"
Cas >5 : BoiteMessage "Séquence 4"
Defaut: BoiteMessage "Séquence Défaut"
FinSelon
FinMethode
FinObjet
Après l'appel à la méthode JE_TESTE :