Nested IF:
Como outras linguagens de programação COBOL, COBOL também permite a instrução IF aninhada. Instrução IF dentro da instrução IF chamada de instrução IF aninhada. Não há limite para a profundidade das instruções IF aninhadas.
Syntax:
IF Condition-1 THEN
IF Condition-2 THEN
Statements-block-1
[ELSE
Statements-block-2
END-IF]
[ELSE
IF Condition-3 THEN
Statements-block-3
[ELSE
Statements-block-4
END-IF]
END-IF.] |
Exemplo 1:
Vamos ver um exemplo de instrução de condição IF no programa COBOL.
IDENTIFICATION DIVISION.
PROGRAM-ID. TSTHELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NUM1 PIC 9(9).
01 WS-NUM2 PIC 9(9).
01 WS-NUM3 PIC 9(5).
01 WS-NUM4 PIC 9(6).
PROCEDURE DIVISION.
A000-FIRST-PARA.
MOVE 25 TO WS-NUM1 WS-NUM3.
MOVE 15 TO WS-NUM2 WS-NUM4.
IF WS-NUM1 > WS-NUM2 THEN
DISPLAY 'IN LOOP 1 - IF BLOCK'
IF WS-NUM3 = WS-NUM4 THEN
DISPLAY 'IN LOOP 2 - IF BLOCK'
ELSE
DISPLAY 'IN LOOP 2 - ELSE BLOCK'
END-IF
ELSE
DISPLAY 'IN LOOP 1 - ELSE BLOCK'
END-IF.
STOP RUN.
|
Quando você compila e executa o programa acima, ele produz o seguinte resultado −
Output:
IN LOOP 1 - IF BLOCK
IN LOOP 2 - ELSE BLOCK |
Exemplo 2:
Vamos ver outro exemplo simples para a instrução de condição IF.
IDENTIFICATION DIVISION.
PROGRAM-ID. TSTHELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CHECK-GENDER.
05 GENDER PIC X(1).
88 MALE VALUE 'M'.
88 FEMALE VALUE 'F'.
PROCEDURE DIVISION.
0000-MAIN-PARA.
SET FEMALE TO TRUE.
IF MALE
DISPLAY "Gender: Male"
ELSE
DISPLAY "Gender: Female"
END-IF.
STOP RUN.
|
Quando você compila e executa o programa acima, ele produz o seguinte resultado −
Output: