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 :