Menu principal
[Fechar]
Introdução
Divisões
Identification Division
Environment Division
Data Division
Procedure Division
Comandos CICS
VSAM - File Status
Quadros importantes
SQL - Structured Query Language
Outros programas
Rotinas prontas
Palavras reservadas
Introdução ao Oracle
Sites de busca
Sites interessantes
Meu e-mail
Linguagem de programação COBOL - IF
Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.
IF
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 é:
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.
Primeiro exemplo: Este mesmo comando tambem poderia ser codificado da seguinte maneira:
IF PESO-BRUTO LESS THAN 70 OR PESO-BRUTO EQUAL 70
PERFORM 900-PESO-ABAIXO THRU 900-FIM
END-IF.
IF PESO-BRUTO < 70 OR PESO-BRUTO = 70
PERFORM 900-PESO-ABAIXO THRU 900-FIM
END-IF.
Segundo exemplo: Um comando IF também pode comparar um campo com uma expressão aritmética:
IF PESO-BRUTO = PESO-INFORMADO - 5
PERFORM 900-PESO-ABAIXO THRU 900-FIM
END-IF.
Terceiro exemplo: Cláusula NEXT SENTENCE COBOL 74:
IF PESO-BRUTO = PESO-INFORMADO
NEXT SENTENCE
ELSE
ADD 5 TO PESO-INFORMADO.
Terceiro exemplo: Cláusula CONTINUE 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: COBOL 74
Instrução condicional aninhada:
Uma intrução condicional aninhada é um comando IF que contém outros comando IF de nível hierárquico inferior.
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.
Quarto exemplo: COBOL 85/COBOL II
Instrução condicional aninhada:
Uma intrução condicional aninhada é um comando IF que contém outros comando IF de nível hierárquico inferior.
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.