COBOL - Declaração Avaliar
Avaliar verbo é uma substituição de séries de declaração IF-ELSE. Ele pode ser usado para avaliar a condição em particular.
AVALIAR declaração em COBOL é semelhante ao processo ou declarações switch de outras línguas.
AVALIAR pode fazer múltiplos IF tarefa condições. Se qualquer AVALIAR quando as condições satisfaz, a lista de instruções será executado sob a quando e controlo irá transferências para a próxima instrução executável após o término de avaliar.
Vamos ver a sintaxe e exemplos de Avaliar demonstrativo abaixo:
EVALUATE {Expression1/Constant/Reference/TRUE/FALSE}
WHEN Cond-1
Statement block-1
WHEN Cond-2
Statement block-2
.
.
.
.
WHEN Cond-n
Statement block-n
WHEN other
Statement block- other
END-EVALUATE.
|
Exemplo 1:
O exemplo a seguir mostra um comando EVALUATE e a codificação equivalente para um comando IF:
EVALUATE menu-input
WHEN "0"
CALL init-proc
WHEN "1" THRU "9"
CALL process-proc
WHEN "R"
CALL read-parms
WHEN "X"
CALL cleanup-proc
WHEN OTHER
CALL error-proc
END-EVALUATE;
|
O comando IF equivalente:
IF (menu-input = "0") THEN
CALL init-proc
ELSE
IF (menu-input >= "1") AND (menu-input <= "9") THEN
CALL process-proc
ELSE
IF (menu-input = "R") THEN
CALL read-parms
ELSE
IF (menu-input = "X") THEN
CALL cleanup-proc
ELSE
CALL error-proc
END-IF;
END-IF;
END-IF;
END-IF;
|
Exemplo 2:
IDENTIFICATION DIVISION.
PROGRAM-ID. TSSWITCH.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-A PIC 9 VALUE 0.
PROCEDURE DIVISION.
MOVE 9 TO WS-A.
EVALUATE TRUE
WHEN WS-A > 2
DISPLAY 'WS-A GREATER THAN 2'
WHEN WS-A < 0
DISPLAY 'WS-A LESS THAN 0'
WHEN OTHER
DISPLAY 'INVALID VALUE OF WS-A'
END-EVALUATE.
STOP RUN.
|
Quando você compila e executa o programa acima, ele produz o seguinte resultado -