Déclaration de cas Pascal

Vous avez observé que if-then-elseles déclarations nous permettent de mettre en œuvre plusieurs décisions dans un programme. Ceci peut également être réalisé en utilisant lecase déclaration de manière plus simple.

Syntaxe

La syntaxe de l'instruction case est -

case (expression) of
   L1 : S1;
   L2: S2;
   ...
   ...
   Ln: Sn;
end;

Où, L1, L2... sont des étiquettes de cas ou des valeurs d'entrée, qui peuvent être des entiers, des caractères, des éléments de données booléens ou énumérés. S1, S2, ... sont des instructions Pascal, chacune de ces instructions peut avoir une ou plusieurs étiquettes de cas associées. L'expression s'appelle lecase selector ou la case index. L'index de cas peut prendre des valeurs qui correspondent aux étiquettes de cas.

L'énoncé de cas doit toujours avoir un end déclaration qui lui est associée.

Les règles suivantes s'appliquent à une déclaration de cas -

  • L'expression utilisée dans une instruction case doit avoir un type intégral ou énuméré ou être d'un type de classe dans lequel la classe a une seule fonction de conversion en un type intégral ou énuméré.

  • Vous pouvez avoir un nombre illimité de déclarations de cas dans un cas. Chaque cas est suivi de la valeur à comparer et d'un signe deux-points.

  • L'étiquette de cas d'un cas doit être du même type de données que l'expression dans l'instruction case et doit être une constante ou un littéral.

  • Le compilateur évaluera l'expression de cas. Si l'une des valeurs de l'étiquette de cas correspond à la valeur de l'expression, l'instruction qui suit cette étiquette est exécutée. Après cela, le programme continue après la fin finale.

  • Si aucune des étiquettes de cas ne correspond à la valeur de l'expression, la liste d'instructions après le mot-clé else ou else est exécutée. Cela peut être une liste d'instructions vide. Si aucune autre partie n'est présente et qu'aucune constante de cas ne correspond à la valeur de l'expression, le déroulement du programme continue après la fin finale.

  • Les instructions case peuvent être des instructions composées (c'est-à-dire un bloc Begin ... End).

Représentation schématique

Exemple

L'exemple suivant illustre le concept -

program checkCase;
var
   grade: char;
begin
   grade := 'A';

   case (grade) of
      'A' : writeln('Excellent!' );
      'B', 'C': writeln('Well done' );
      'D' : writeln('You passed' );
      'F' : writeln('Better try again' );
   end;     
   
   writeln('Your grade is  ', grade );
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Excellent!
Your grade is A