Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 3/CASE/fr

English · Español · Français · Български · 中文(中国) · 日本語

Tutoriel de Pascal Objet : Structures de contrôle / Branchements conditionnels / Cas

CASE ouvre une instruction de sélection. L'instruction case compare la valeur d'une expression ordinale à chaque sélecteur, qui peuvent être une constante, une sous-plage ou une liste de celles-ci séparées par des virgules. Le champ sélecteur est séparée de l'action (instructions) par deux-points (:).

Supposez que vous voulûtes vous brancher sur une voie si b vaut 1, 7, 2037 ou 5 et sur une autre sinon. Vous pourriez faire comme cela :

pascal
if (b = 1) or (b = 7) or (b = 2037) or (b = 5) then
  Instruction1
else
  Instruction2;

Mais dans ce cas, il pourrait être plus simple de lister les nombres pour lesquels vous voulez que Instruction1 s'exécute. Vous ferez alors cela avec une instruction case :

pascal
case b of
  1,7,2037,5: Instruction1;
  otherwise   Instruction2
end;

La forme générale de l'instruction case est :

pascal
case s??lecteur of
  Liste1:   Instruction1;
  Liste2:   Instruction2;
  ...
  Listen:   Instructionn;
  otherwise Instruction
end;

La partie otherwise est facultative. Quand elle est disponible, elle diffère d'un compilateur à un autre. Dans plusieurs compilateurs, vous avez le mot else au lieu de otherwise.

Un sélecteur est une variable d'un type de donnée ordinal. Vous ne pouvez pas utiliser de réels (ni de chaînes de caractères) !

Observez que les listes consistent en valeurs littérales. À savoir, vous devez employer des constantes ou des valeurs en dur, mais pas des variables.


From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/CASE/fr", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.