Lógica de Programação - Operadores Aritméticos

No artigo anterior em declaração de variáveis, aprendemos o básico sobre declaração, inicialização e manipulação de variáveis em pseudocódigo. Neste artigo aprenderemos sobre os operadores aritméticos que podemos utilizar na programação, bem como as regras para o seu uso. Utilizaremos representações em pseudocódigo.

Operadores Aritméticos
(Foto: Deans_Icons / Pixabay)


Operadores Aritméticos

Chamamos de operadores aritméticos o conjunto de símbolos que representa as operações básicas da matemática (Forbellone e Eberspächer, 2005).

Operadores Binários


OperadorFunçãoExemplos
+adição1 + 2, x + y
-subtração12 - 6, m - n
*multiplicação3 * 4, t * z
/divisão35 / 5, a / b

Existe também um operador especial utilizado na programação, chamado mod que retorna o resto da divisão de dois números, representado em algumas linguagens de programação geralmente pelo símbolo de porcentagem %. Exemplo: 52 mod 6 = 4, porque 52 dividido por 6 é igual a 8 inteiros e resta 4.

Observação: esse operador % ou mod só pode ser usado com inteiros.

Estes operadores aritméticos são operadores binários. Ou seja, é preciso necessariamente dois operandos para se trabalhar com eles e se ao menos um operando for real, o resultado é real. Então fique atento a estes casos abaixo:
algoritmo "Exemplo1"
var
  a, b, c: inteiro
  x, y, z: real
inicio
  //Atribuições
  a := 35
  b := 5
  x := 0.5
  y := 5.0

  c := a + b //(35 + 5) Operação válida, uma variável inteira recebe uma operação entre dois inteiros
  z := x * c //(0.5 * 40) Operação válida, uma variável real pode receber a operação entre um real e um inteiro. O resultado é real
  c := c / 3 //(40 / 3) Operação válida, porém divisão de dois inteiros resulta em um inteiro (13)
  a := a / y //(35 / 5.0) ERRO, uma variável inteira não pode receber uma operação que envolva reais
fimalgoritmo

Note que não há operadores para potenciação e radiciação. Por isso representamos em pseudocódigo essas operações através de funções como exp(base, expoente) e raizQ(valor).
  • exp(3, 2) = 9
  • raizQ(25) = 5

Ambas retornam um valor real. Outras funções matemáticas, aprenderemos com a própria linguagem de programação.

Operadores Unários

São operadores unários aqueles que precisam necessariamente de um único operando. São eles:

OperadorFunçãoExemplos
+Manutenção de Sinal+7, +a
-Inversão de Sinal-5, -b

Operadores aritméticos unários têm prioridade mais alta que operadores aritméticos binários. Veremos agora a ordem de precedência em operações aritméticas a seguir.

Ordem de Precedência

  1. Parênteses: ( )
  2. Funções, ex.: exp(), raizQ()
  3. Operadores Aritméticos Unários: +, -
  4. Multiplicação, Divisão e Mod: *, /, mod
  5. Adição e Subtração: +, -

Em caso de empate, é resolvida a operação da esquerda para a direita.

Exemplo:
Seja a = 3 e b = 15, e a expressão: c := raizQ(36) + 6 * a mod b / (5 + -(2))

Ela será resolvida da seguinte forma:
  c := raizQ(36) + 6 * a mod b / (5 + -(2))  //1º Parênteses. Dentro do Parênteses, 1º operadores unários e depois binários
  c := raizQ(36) + 6 * a mod b / 3 //2º Funções
  c := 6.0 + 6 * a mod b / 3  //3º Multiplicação, divisão e resto da divisão são de mesma prioridade. Então resolvemos da esquerda para a direita
  c := 6.0 + 18 mod b / 3 //3º Agora a operação mod
  c := 6.0 + 3 / 3 //4º Divisão
  c := 6.0 + 1 //5º Por último a operação de adição
  c := 7.0

Perceba duas coisas. A primeira é que o resultado de uma radiciação é um resultado real, por isso a variável C deve ser uma variável do tipo real também e que por mais que ela tenha recebido valores inteiros, por possuir um único operando real na conta, o resultado é real também.

Segundo, perceba que a operação de atribuição é a última a ser realizada. Exemplo:

algoritmo "Exemplo2"
var
 a: inteiro
inicio
 a := 5
 a := 2 + a

 escreva("A = ", a)
fimalgoritmo

Qual será o resultado? A recebe 2 e depois soma com a (2), resultando em 4 ou A recebe 2 + a (5), resultando em 7? Se você pensou no segundo caso, acertou. A saída será:
A = 7

Neste artigo você conheceu os operadores aritméticos unários e binários utilizados em pseudocódigo para representar operações aritméticas. Também viu a ordem de precedência e duas funções utilizadas para potenciação e radiciação. No próximo artigo aprendemos sobre os operadores relacionais.

Continuação: Lógica de Programação - Operadores Relacionais.

Referência Bibliográfica
MANZANO, J. A. N. G.; OLIVEIRA, J. F. Algoritmos: lógica para Desenvolvimento de Programação de Computadores. 17. ed. São Paulo: Érica, 2005. 219 p.

FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. 3. ed. São Paulo: Prentice Hall, 2005. 208 p.

Para citar esse artigo:

Comentários