Instruction Case
L'instruction case permet d'exécuter l'une des nombreuses instructions en fonction de la valeur d'une expression. Contrairement à l'instruction if, elle permet un nombre quelconque d'alternatives.
L'instruction case se compose d'une expression et d'une liste d'alternatives de cas. Chaque alternative se compose d'une liste de constantes et de plages de constantes et d'une instruction. Cette alternative est exécutée dans le cas où la liste de constantes contient la valeur actuelle de l'expression. Une branche else facultative est exécutée si aucune des alternatives ne peut être exécutée.
Exemples:
case operator of Plus: w := x + y; Minus: w := x - y; Mal: w := x + y; end;
Si plusieurs instructions doivent être exécutées dans l'une des alternatives de cas, elles doivent être contenues dans une instruction de bloc (begin - end).case ch of 'A' .. 'Z' : Traiter_majuscules; 'a' .. 'z' : Traiter_minuscules; '0' .. '9' : Traiter_chiffres; '+', '-', '*', '/': Processus_operateurs; else begin Writeln('Caractère non valide: ', ch); Halt; end; end;