Instructions conditionnelles switch
Comme une structure if
, la structure switch
est une structure conditionnelle, c'est-à-dire qu'elle comporte différents blocs d'instructions qui seront exécutés de manière conditionnelle.
Cependant, ici il n'y a pas de conditions logiques, le critère de choix est la valeur d'une expression (ou d'une variable). Cette valeur, que l'on appelle cas (case
), permet la sélection du bloc à exécuter.
Syntaxe :
La syntaxe est la suivante :
switch
expression du choix
case
expression du cas
instructions
...
case
expression du cas
instructions
...
otherwise
instructions
end
Exemple :
1 2 3 4 5 6 7 8 9 10 | heure = input ( 'Quelle heure est-il ?\n' , 's' ); switch heure case { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '10' , '11' , '12' , 'midi' } disp ( ' C' 'est le matin !' ); case { '13' , '14' , '15' , '16' , '17' , '18' , '19' , '20' , '21' , '22' , '23' , '24' , 'minuit' } disp ( ' C' 'est l' 'après-midi !' ); otherwise disp ( ' Ce n' 'est pas possible...' ); end |
Remarque :
Le choix (switch
) se fait sur la valeur d'une variable ou d'une expression.
L'expression du cas peut être une simple valeur de type numérique ou alphanumérique. Mais ce ne peut pas être une expression contenant une opération relationnelle (<
ou >
).
Ainsi, contrairement aux conditions if
, l'ensemble des cas est forcément un ensemble fini de valeurs.
Remarque :
Un switch
peut contenir de nombreux cas, mais dès lors que le choix correspond à l'une des expressions de cas, le bloc d'instructions correspondant est exécuté, et les cas suivants sont ignorés (même si un autre cas pourrait satisfaire l'expression du choix).