L'instruction case ... of en Pascal


1. Syntaxe et sémantique du case ... of
2. L'exercice proposé

Cliquez ici pour retourner aux thèmes d'exercices : ....Hyperlien vers page de cours HTML


1. Syntaxe et sémantique du case ... of

Syntaxe simplifiée :

'expression doit obligatoirement être un type ordinal (integer, char, boolean, énuméré, intervalle)

Sémantique:

C'est une instruction structurée équivalente à une série de if...then...else imbriqués. Cette instruction lorsque cela est possible, doit être préférée à un emboîtement de if...then...else dont la lisibilité n'est en fait pas optimale.
 
if...then...else imbriqués case ... of équivalent
if x = 3 then E1 else
 if x = 4 then E2 else
   if x = 5 then E2 else
    if x = 6 then E2 else
      if x = -5 then E3 else Ef
case x of
3     : E1 ;
4..6 : E2 ;
-5   : E3 ;
 else Ef
end



2. L'exercice proposé

et exercice teste au passage, votre compréhension des compatibilités de types énumérés  et intervalles.

L'assistant vous propose la partie déclaration du programme pascal suivant :

program CaseOf ;
type
    Temperature = -20 .. 40 ;
    LettreMin = ' a ' .. ' z ' ;
    LettreMaj = ' A ' .. ' Z '
    Jour = ( lundi , mardi , mercredi , jeudi ) ;
var
     a : integer ;  b : char ;  c : real ;
     d : string ; e : boolean ;
    Temp : Temperature ; Lmin :  LettreMin ;
     LMaj :  LettreMaj ; Day : Jour ;
 

La partie instructions (corps du programme) contient 4 instructions case ... of, certaines sont exactes, d'autres sont fausses du point de vue de la sémantique du case. A vous de déterminer celles qui sont correctes :

Cochez une l'une des cases correct ou incorrect  et donnez ainsi votre avis sur sa justesse ou non (case .. of  correct ou incorrect) l'assistant vous répondra d'une manière visuelle et sonore et vous donnera l'explication.