L’instruction INSTRUCTION-A est exécutée uniquement si la condition est vraie.
IF : structure simple et imbriquée, pièges à éviter
L’instruction IF est l’une des plus utilisées en COBOL . Elle permet de tester une ou plusieurs conditions logiques, et d’exécuter certaines instructions si la condition est vraie (ou fausse, via ELSE ). Bien que sa syntaxe soit simple, elle peut provoquer des erreurs si elle est mal structurée ou mal indentée.
IF CONDITION
INSTRUCTION-A.
L’instruction INSTRUCTION-A est exécutée uniquement si la condition est vraie.
IF AGE >= 18
DISPLAY "Majeur".
Si AGE est supérieur ou égal à 18, alors le message est affiché.
ELSE
IF NOTE >= 10
DISPLAY "Admis"
ELSE
DISPLAY "Ajourné".
Vous pouvez combiner plusieurs tests avec AND ou OR :
IF STATUT = "ACTIF" AND SOLDE < 1000
DISPLAY "Client actif avec solde faible".
ELSE quand vous avez deux cas opposés IF sans indentation ni END-IF END-IF pour éviter l’ambiguïtéExemple correct avec plusieurs instructions dans chaque branche :
IF CIVILITE = "MR"
DISPLAY "Bonjour Monsieur".
ADD 1 TO NB-HOMMES
ELSE
DISPLAY "Bonjour Madame".
ADD 1 TO NB-FEMMES
END-IF.
IF NOTE >= 10
IF NOTE >= 16
DISPLAY "Très bien"
ELSE
DISPLAY "Admis"
END-IF
ELSE
DISPLAY "Ajourné"
END-IF.
Utilisez toujours END-IF pour fermer explicitement chaque bloc IF , surtout si vous avez des instructions imbriquées.
L’instruction IF en COBOL :
END-IF ) EVALUATE .