A instrução IF
no COBOL permite testar condições lógicas e executar blocos diferentes de código dependendo se o resultado é verdadeiro (TRUE
) ou falso (FALSE
). Ela pode ser combinada com ELSE
e encerrada com END-IF
para clareza e organização.
📌 Para que serve
-
Controlar o fluxo do programa com base em condições.
-
Executar instruções diferentes dependendo do valor de uma variável ou comparação.
-
Substitui o uso do antigo
GO TO
em muitas situações, promovendo programação estruturada.
🧾 Estrutura básica
IF condição
instruções
ELSE
instruções
END-IF.
-
IF: Inicia a condição.
-
ELSE: (Opcional) Executa quando a condição for falsa.
-
END-IF: Finaliza o bloco.
🔧 Operadores de comparação suportados
Operador COBOL | Significado |
---|---|
= |
Igual |
> |
Maior que |
< |
Menor que |
>= |
Maior ou igual |
<= |
Menor ou igual |
NOT = |
Diferente |
NOT > |
Não maior |
NOT < |
Não menor |
✅ Exemplo prático
IF SALARIO > 5000
DISPLAY "Salário acima da média"
ELSE
DISPLAY "Salário dentro da média"
END-IF.
🧠 Dicas e observações
-
Você pode omitir o
ELSE
se não quiser tratar o caso falso. -
Sempre utilize
END-IF
para evitar ambiguidades. -
Evite profundos encadeamentos (
IF
dentro deIF
) — considereEVALUATE
nesses casos. -
Os itens de dados comparados devem ter formatos compatíveis.
-
O comando
NEXT SENTENCE
não é suportado em muitos compiladores modernos. -
Evite comparar campos de data com formatos distintos.
⚠️ Atenção com aninhamento
IF IDADE >= 18
IF CIDADE = "SP"
DISPLAY "Maior de idade em São Paulo"
ELSE
DISPLAY "Maior de idade, mas não em SP"
END-IF
ELSE
DISPLAY "Menor de idade"
END-IF.
O
ELSE
será associado aoIF
mais próximo. UseEND-IF
corretamente para evitar erros.
✅ Conclusão
O comando IF / ELSE
é fundamental para o controle de fluxo em programas COBOL. Ele oferece uma maneira clara e estruturada de executar diferentes blocos de código com base em condições lógicas, substituindo práticas antigas como GO TO
. Utilizar corretamente o IF
torna seu programa mais legível, confiável e fácil de manter.