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 TOem 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
ELSEse não quiser tratar o caso falso. -
Sempre utilize
END-IFpara evitar ambiguidades. -
Evite profundos encadeamentos (
IFdentro deIF) — considereEVALUATEnesses casos. -
Os itens de dados comparados devem ter formatos compatíveis.
-
O comando
NEXT SENTENCEnã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
ELSEserá associado aoIFmais próximo. UseEND-IFcorretamente 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.