Dichiarazione Pascal Case
L'hai osservato if-then-elsele dichiarazioni ci consentono di attuare più decisioni in un programma. Ciò può essere ottenuto anche utilizzando ilcase dichiarazione in modo più semplice.
Sintassi
La sintassi dell'istruzione case è:
case (expression) of
   L1 : S1;
   L2: S2;
   ...
   ...
   Ln: Sn;
end;Dove, L1, L2... sono etichette maiuscole o valori di input, che possono essere numeri interi, caratteri, elementi di dati booleani o enumerati. S1, S2, ... sono istruzioni Pascal, ciascuna di queste istruzioni può avere una o più etichette di case associate. L'espressione è chiamatacase selector o il case index. L'indice del caso può assumere valori che corrispondono alle etichette del caso.
L'istruzione case deve sempre avere un'estensione end dichiarazione ad esso associata.
Le seguenti regole si applicano a una dichiarazione del caso:
- L'espressione utilizzata in un'istruzione case deve avere un tipo integrale o enumerato oppure essere di un tipo di classe in cui la classe ha una singola funzione di conversione in un tipo integrale o enumerato. 
- Puoi avere un numero qualsiasi di dichiarazioni di caso all'interno di un caso. Ogni caso è seguito dal valore da confrontare e da due punti. 
- L'etichetta case per un case deve essere lo stesso tipo di dati dell'espressione nell'istruzione case e deve essere una costante o un valore letterale. 
- Il compilatore valuterà l'espressione case. Se uno dei valori dell'etichetta del caso corrisponde al valore dell'espressione, viene eseguita l'istruzione che segue questa etichetta. Dopodiché, il programma continua dopo la fine finale. 
- Se nessuna delle etichette case corrisponde al valore dell'espressione, viene eseguito l'elenco di istruzioni dopo la parola chiave else o else. Può essere un elenco di istruzioni vuoto. Se nessun'altra parte è presente e nessuna costante del caso corrisponde al valore dell'espressione, il flusso del programma continua dopo la fine finale. 
- Le istruzioni case possono essere istruzioni composte (cioè un blocco Begin ... End). 
Diagramma di flusso
 
 
    Esempio
L'esempio seguente illustra il concetto:
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.Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Excellent!
Your grade is A