Menu principal                 [Fechar]


Linguagem de programação COBOL - IF


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.

Esta instrução condicional permite a avaliação de itens ou condições. A ação subsequente do programa depende do resultado dessa avaliação.

Semelhante ao comando SE da lógica de programação, podemos ter comandos na procedure que só serão executados se for satisfeita ou não a condição indicada numa cláusula IF.
Esse comando avalia uma condição existente em sua sintaxe e faz com que o programa execute uma determinada ação dependendo do resultado dessa avaliação.
Em outras palavras, podemos dizer que se uma condição for verdadeira, executa uma alternativa, ou então, executa outra alternativa. END-IF, ou um ponto fecham a condição.
Podemos ter também IF aninhados, ou seja, um IF dentro de outro.
O THEN é equivalente ao simbolo ENTAO, que usamos na lógica de programação e o mesmo é facultativo.

O seu formato geral é:

Sintaxe do comandos IF


Condições relacionais simples
 IF identificador-1 EQUAL identificador-2
 IF identificador-1 LESS THAN identificador-2
 IF identificador-1 GREATER THAN identificador-2


Operadores relacionais
Símbolo Significado
<  É MENOR DO QUE (IS LESS THAN)
>  É MAIOR DO QUE (IS GREATER THAN)
=  É IGUAL A (IS EQUAL TO)
<=  É MENOR DO QUE OU IGUAL A (IS LESS THAN OR EQUAL TO)
>=  É MAIOR DO QUE OU IGUAL A (IS GREATER THAN OU EQUAL TO)




Primeiro exemplo:
 IF     PESO-BRUTO <= 70
          PERFORM 900-PESO-ABAIXO THRU 900-FIM
 END-IF.


Caso o campo PESO-BRUTO for menor ou igual a 70, o programa irá executar uma rotina chamada 900-PESO-ABAIXO.

Este mesmo comando tambem poderia ser codificado da seguinte maneira:

Primeiro exemplo:
 IF     PESO-BRUTO LESS THAN 70 OR PESO-BRUTO EQUAL 70
          PERFORM 900-PESO-ABAIXO THRU 900-FIM
 END-IF.


Primeiro exemplo:
 IF     PESO-BRUTO < 70 OR PESO-BRUTO = 70
          PERFORM 900-PESO-ABAIXO THRU 900-FIM
 END-IF.



Um comando IF também pode comparar um campo com uma expressão aritmética:

Segundo exemplo:
 IF     PESO-BRUTO = PESO-INFORMADO - 5
          PERFORM 900-PESO-ABAIXO THRU 900-FIM
 END-IF.



Terceiro exemplo:

Cláusula CONTINUE (Cobol 85) ou NEXT SENTENCE (Cobol 74):

COBOL 74:
 IF     PESO-BRUTO = PESO-INFORMADO
          NEXT SENTENCE
 ELSE
         ADD 5 TO PESO-INFORMADO.


COBOL 85 ou COBOL II:
 IF     PESO-BRUTO = PESO-INFORMADO
          CONTINUE
 ELSE
         ADD 5 TO PESO-INFORMADO
 END-IF.


Os comandos do terceiro exemplo tambem poderia ser codificado da seguinte maneira:

COBOL 74 ou COBOL 85
 IF     PESO-BRUTO NOT EQUAL PESO-INFORMADO
         ADD 5 TO PESO-INFORMADO.


No COBOL 85 a expressão NEXT SENTENCE também poderá ser utilizada desde que não se coloque o END-IF no final do comando.


Quarto exemplo:

Instrução condicional aninhada:
Uma intrução condicional aninhada é um comando IF que contém outros comando IF de nível hierárquico inferior.


COBOL 74
 IF    PESO-BRUTO = PESO-INFORMADO
          IF    PESO-BRUTO LESS THAN 70
                  PERFORM 900-PESO-ABAIXO THRU 900-FIM
         ELSE
                  PERFORM 910-PESO-NORMAL THRU 910-FIM
 ELSE
          PERFORM 920-PESO-ACIMA THRU 920-FIM.


COBOL 85/COBOL II
 IF    PESO-BRUTO = PESO-INFORMADO
          IF    PESO-BRUTO LESS THAN 70
                  PERFORM 900-PESO-ABAIXO THRU 900-FIM
         ELSE
                  PERFORM 910-PESO-NORMAL THRU 910-FIM
         END-IF
 ELSE
          PERFORM 920-PESO-ACIMA THRU 920-FIM
 END-IF.



Volta para o início da página

Volta a página anterior

Volta ao Menu Principal