COBOL - Arithmetic_expressions - Arithmetic operators



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Arithmetic_expressions - Arithmetic operators
Enterprise COBOL for z/OS, V4.2, Language Reference

Cinco operadores aritméticos binários e dois operadores aritméticos unários podem ser usados em expressões aritméticas.
Esses operadores são representados por caracteres específicos que devem ser precedidos e seguidos por um espaço.

Esses operadores aritméticos binários e unários são mostrados na Tabela 1.

Tabela 1. Operadores binários e unários

Operador binário Significado Operador unário Significado
+ Adição + Multiplicação por +1
- Subtração - Multiplicação por -1
* Multiplicação    
/ Divisão    
** Exponenciação    

Limitação: os expoentes nas expressões exponenciais de ponto fixo não podem conter mais de nove dígitos.
O compilador truncará qualquer expoente com mais de nove dígitos.
No caso de truncamento, o compilador emitirá uma mensagem de diagnóstico se o expoente for literal ou constante; se o expoente for uma variável ou nome de dados, uma mensagem de diagnóstico será emitida em tempo de execução.

Parênteses podem ser usados ??em expressões aritméticas para especificar a ordem em que os elementos devem ser avaliados.

Expressões entre parênteses são avaliadas primeiro.
Quando expressões estão contidas entre parênteses aninhados, a avaliação prossegue do conjunto menos inclusivo para o mais inclusivo.

Quando parênteses não são usados ou expressões entre parênteses estão no mesmo nível de inclusão, a seguinte ordem hierárquica é implícita:

  1. Operador unário
  2. Exponenciação
  3. Multiplicação e divisão
  4. Adição e subtração

Os parênteses eliminam ambiguidades na lógica em que operações consecutivas aparecem no mesmo nível hierárquico ou modificam a sequência hierárquica normal de execução quando isso é necessário.
Quando a ordem das operações consecutivas no mesmo nível hierárquico não é completamente especificada por parênteses, a ordem é da esquerda para a direita.

Uma expressão aritmética pode começar apenas com um parêntese esquerdo, um operador unário ou um operando (ou seja, um identificador ou literal).
Ele pode terminar apenas com um parêntese direito ou um operando. Uma expressão aritmética deve conter pelo menos uma referência a um identificador ou literal.

Deve haver uma correspondência individual entre parênteses esquerdo e direito em uma expressão aritmética, com cada parêntese esquerdo colocado à esquerda do parêntese direito correspondente.

Se o primeiro operador em uma expressão aritmética for um operador unário, ele deverá ser imediatamente precedido por um parêntese esquerdo se essa expressão aritmética seguir imediatamente um identificador ou outra expressão aritmética.

A tabela a seguir mostra pares de símbolos aritméticos permitidos.
Um par de símbolos aritméticos é a combinação de dois desses símbolos em sequência.

Yes
Indica um emparelhamento permitido.

No
Indica que o emparelhamento não é permitido.

Tabela 2. Pares de símbolos aritméticos válidos

  Identifier or literal second symbol * / ** + - second symbol Unary + or unary - second symbol ( second symbol ) second symbol
Identifier or literal first symbol No Yes No No Yes

* / ** + -
first symbol

Yes No Yes Yes No
Unary + or unary - first symbol Yes No No Yes No

(
first symbol

Yes No Yes Yes No

)
first symbol

No Yes No No vYes


© Copyright IBM Corp.