Pascal - Instructions if-then imbriquées

Il est toujours légal dans la programmation Pascal d'imbriquer if-else instructions, ce qui signifie que vous pouvez en utiliser une if ou else if déclaration dans un autre if ou else ifdéclaration (s). Pascal permet l'imbrication à n'importe quel niveau, cependant, si cela dépend de l'implémentation Pascal sur un système particulier.

Syntaxe

La syntaxe d'une instruction if imbriquée est la suivante -

if( boolean_expression 1) then
   if(boolean_expression 2)then S1

else
   S2;

Vous pouvez imbriquer else if-then-else de la même manière que vous avez imbriqué l'instruction if-then. Veuillez noter que, leif-then-elseconstructions donne lieu à une certaine ambiguïté quant aux paires d'instructions else avec lesquelles instruction if. La règle est que le mot-clé else correspond au premier mot-clé if (recherche en arrière) qui ne correspond pas déjà à un mot-clé else.

La syntaxe ci-dessus équivaut à

if( boolean_expression 1) then
begin
   if(boolean_expression 2)then
      S1
   
   else
      S2;
end;

Ce n'est pas équivalent à

if ( boolean_expression 1) then  
begin  
   if exp2 then  
      S1  
end;  
   else  
      S2;

Par conséquent, si la situation exige la construction ultérieure, vous devez mettre begin et end mots clés au bon endroit.

Exemple

program nested_ifelseChecking;
var
   { local variable definition }
   a, b : integer;

begin
   a := 100;
   b:= 200;
   
   (* check the boolean condition *)
   if (a = 100) then
      (* if condition is true then check the following *)
      if ( b = 200 ) then
         (* if nested if condition is true  then print the following *)
         writeln('Value of a is 100 and value of b is 200' );
   
   writeln('Exact value of a is: ', a );
   writeln('Exact value of b is: ', b );
end.

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

Value of a is 100 and b is 200
Exact value of a is : 100
Exact value of b is : 200