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 :
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).