Utilisez if .. then ou if .. then .. else pour exécuter le code correspondant quand la condition est vraie. Contrairement aux langages de type C : l’expression conditionnelle en Pascal n’a pas besoin d’être entourée de parenthèses.
var
A: Integer;
B: boolean;
begin
// Une seule instruction si la condition est valide, pas besoin de begin end
if A > 0 then
DoSomething;
// Plusieurs instructions après la condition, obligatoirement encadrées par begin end
if A > 0 then
begin
DoSomething;
AndDoSomethingMore;
end;
// Structure if-else à une seule instruction
if A > 10 then
DoSomething
else
DoSomethingElse;
// Logique identique à l’exemple précédent : stocker le résultat de comparaison dans une variable booléenne
B := A > 10;
if B then
DoSomething
else
DoSomethingElse;
end;Langage du code : JavaScript (javascript)
Règle de liaison du else
Le else se rattache au if le plus proche sans else associé. Le code ci-dessous fonctionne comme prévu :
if A <> 0 then
if B <> 0 then
AIsNonzeroAndBToo
else
AIsNonzeroButBIsZero;Langage du code : HTML, XML (xml)
Ici le else appartient au if B <> 0 interne.
Les if imbriqués sans bloc sont syntaxiquement autorisés mais peu lisibles. Il est recommandé d’encadrer la logique imbriquée avec begin … end pour délimiter clairement les blocs ; même avec une indentation désordonnée, on distingue facilement les portées et évite les bugs lors de l’ajout ou la suppression de branches.
Écriture standard optimisée :
if A <> 0 then
begin
if B <> 0 then
AIsNonzeroAndBToo
else
AIsNonzeroButBIsZero;
end;Langage du code : HTML, XML (xml)
- Pas de parenthèses autour de la condition du if (obligatoire en C/C++/Java, l’inverse en Pascal) ;
- On peut omettre
begin ends’il n’y a qu’une ligne après then ; obligatoire pour plusieurs lignes ; - Le
elsese rattache au if interne le plus proche ; utilisez systématiquement des blocs sur les structures imbriquées pour supprimer toute ambiguïté ; - Les expressions de comparaison (ex:
A>10) peuvent être directement affectées à une variable booléenne.
Voici un exemple complet exécutable : système de notation par note
Règles logiques :
- ≥90 → A
- ≥80 et <90 → B
- ≥60 et <80 → C
- <60 → D
{$ifdef FPC} {$mode objfpc} {$H+} {$endif}
{$codepage utf8}
program ScoreLevel;
var
score: Integer;
begin
Write('Entrez votre note d’examen : ');
ReadLn(score);
if score >= 90 then
Writeln('Note : A')
else if score >= 80 then
Writeln('Note : B')
else if score >= 60 then
Writeln('Note : C')
else
Writeln('Note : D');
ReadLn;
end.Langage du code : PHP (php)
Compiler et lancer le programme
Entrez votre note d’examen : 96
Note : A
Le programme vous demande de saisir une note, puis affiche la mention correspondante.
Les caractères non latins peuvent s’afficher déformés, ajoutez cette ligne : {$codepage utf8}
On peut aussi encapsuler le calcul de la mention dans une fonction.
{$ifdef FPC} {$mode objfpc} {$H+} {$endif}
{$codepage utf8}
program ScoreLevelFunc;
function GetLevel(s: Integer): string;
begin
if s >= 90 then
Result := 'A'
else if s >= 80 then
Result := 'B'
else if s >= 60 then
Result := 'C'
else
Result := 'D';
end;
var
score: Integer;
begin
Write('Votre note : ');
ReadLn(score);
Writeln('Votre mention : ', GetLevel(score));
ReadLn;
end.Langage du code : PHP (php)

Test conditionnel if