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 de IF) — considere EVALUATE 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 ao IF mais próximo. Use END-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.