Operações Aritméticas

Continuando a série sobre ALGORITMOS, no artigo de hoje falarei sobre as operações aritméticas. Confira expressões, operações e ordem de prioridade.
PSEUDOCODIGO bubble sort switch case

Este é o quarto artigo de uma série que estou escrevendo sobre ALGORITMOS. No artigo anterior eu falei sobre variáveis e constantes, o que são, como funcionam, etc. No artigo de hoje, falarei sobre as operações aritméticas, vamos lá então?

Operações Aritméticas

Existem quatro operações aritméticas básicas, que você já conhece do seu dia a dia:

  • soma: representada pelo símbolo +, que pode ser chamado de operador soma;
  • subtração: representada pelo símbolo , também chamado de operador subtração;
  • divisão: representada pelo símbolo /, também chamado de operador divisão;
  • multiplicação: representada pelo símbolo *, também chamado de operador multiplicação.

Reforço aqui que estou falando dos nossos números reais e inteiros e não de aritmética binária, que funciona um pouco diferente ok?! Nossos microprocessadores só realizam operações matemáticas com dois operandos, exemplo:

Você até pode colocar no seu programa uma EXPRESSÃO aritmética enorme, não tem problema algum, por exemplo:

As operações serão executadas, mas o microprocessador dividirá a expressão, seguindo uma ordem de prioridade, realizando operações com cada dois operandos. Então, apenas pra lembrar o que aprendemos lá no nosso ensino fundamental, OPERANDOS são os números que serão operados, portanto, em nosso exemplo, b e c são os operandos. OPERADOR é a operação aritmética que será executada nos dois operandos, então a soma, a subtração, a multiplicação e a divisão são os OPERADORES. EXPRESSÕES são quando temos várias operações em um único cálculo. Tudo certo até aqui?

Essa ORDEM DE PRIORIDADE é importante, pois alguém precisa dizer ao microprocessador, e também ao compilador do programa, o que deve ser executado primeiro. Veja, se você fosse resolver essa expressão enorme, qual operação você faria primeiro? Será que se você fizesse a soma primeiro, o resultado final estaria correto? Portanto, é necessário seguir as “leis” da matemática e implementá-las em hardware, e também nos compiladores das linguagens, para que as expressões possam ser executadas corretamente, de forma a obter o resultado correto.

Portanto, tratando-se de operações matemáticas, a ordem de prioridade de execução das operações é a seguinte:

1.º* ou / / ou *
2.º+ ou – – ou –

Vamos analisar a expressão que coloquei como exemplo lá em cima. Devemos ler a expressão da esquerda para a direita ok, é assim que os compiladores e processadores analisam e devemos fazer da mesma forma. A primeira operação que aparece na expressão, sendo lida da ESQUERDA para a DIREITA, é a soma. Em seguida, temos uma subtração, depois uma divisão e, por último, uma multiplicação. Pergunto: Qual operação devemos executar primeiro? De acordo com nossa tabela de ordem de prioridade de execução, primeiro devemos executar a multiplicação OU a divisão e, somente depois a soma OU a subtração. Abaixo, faço uma representação de como seria a execução dessa expressão:

R1, R2, R3 e R4 são os resultados de cada operação executada ok?! Então, primeiro é executada a operação de DIVISÃO, pois ela tem prioridade em relação à soma e subtração. Mas por que a divisão e não a multiplicação? Simples, vejam a nossa tabela de prioridades, lá está escrito “* OU /”, então, não importa se a multiplicação vem antes ou depois, ou vice-versa, importa apenas se a * OU  a / vem antes da + ou da -. Depois da divisão ter sido executada, é a vez da multiplicação, no terceiro passo a soma entre b + c e no fim a subtração. Essa é a ordem correta de execução desta expressão.

Importante

Não podemos nos esquecer de alguns detalhes importantes. A ordem dos operandos nunca deve ser alterada, b + c é diferente de c + b, mesmo que isso, matematicamente não afete o resultado em nosso mundo real. A questão é que devemos deixar a expressão intacta no momento de resolvê-la, pois é exatamente assim que o microprocessador fará a execução das operações. Isso é ainda mais agravante em se tratando de divisão e subtração, pois nesses dois casos, se você alterar a ordem dos operandos, o resultado obtido estará completamente incorreto.

Se você estiver usando apenas números inteiros, pode ser que em uma divisão de números inteiros, o resultado dê um número quebrado. A maioria das linguagens ignora esse número quebrado e utiliza apenas o número inteiro resultante na operação. Exemplo:

O 0,5 será ignorado e somente o 2,0 será mostrado no resultado. Por isso, se você precisa desses números, é melhor então trabalhar com números reais e não números inteiros em suas operações matemáticas.

Conclusão

A nossa aventura pelas expressões ainda não acabou!! No próximo artigo falaremos sobre as operações relacionais e vamos aumentar um pouco a nossa lista de ordem de prioridades! Até lá!

Exercícios

Que tal vocês treinarem um pouco? Vou deixar aqui algumas expressões pra vocês resolverem. Deixem as dúvidas nos comentários ok?

Considere que as variáveis utilizadas nestes exercícios tenham os seguintes valores: A=10, B=5, C=2, D=1, E=3. Substitua esses valores nas variáveis para resolver as expressões.

Outros artigos da série

<< Variáveis e ConstantesOperações relacionais e lógicas >>

Atuo como Professora de Informática e Computação desde 2001. Desde 2009 venho atuando como Docente no Ensino Superior em diversos cursos de Graduação e Pós Graduação Lato Sensu, tanto presenciais, quanto semipresenciais e à distância. Ministrei várias disciplinas onde ensino os estudantes a desenvolverem plataformas e sistemas computacionais. Orientei vários trabalhos acadêmicos, desenvolvi inúmeros materiais didáticos, trabalhei com pesquisa, ensino, extensão e inovação. Também ministrei palestras em vários eventos. Comecei meu Doutorado na área de Machine Learning - mais especificamente na area de Multi-label Classification - na UFSCar em 02/2019 e devo terminar em 01/2023. Também estudo canto, jogo vôlei, sou geek, nerd, otaku e gamer (twitch.tv/cissagatto)

Notificações
Notificar
guest
6 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
ANTONIO PEREIRA
ANTONIO PEREIRA
28/09/2017 01:37

Professora esta coreta as respostas.

1.a) X = A + B – C / D * E;
x=10+5-2/1*3
x=10+5-3
x=12

2.b) Y = A * B / C + D – E;
y=10*5/2+1-3
y=50/2+1-3
y=26-3
y=23

3.c) Z = A – B * C + D / E;
Z=10-5*2+1/3
Z=10-10+0,333

Z=0,333

Souza
Souza
22/10/2016 16:40

Respostas:
a) 9
b) 23
c) 1/3 – decidi deixar assim mesmo.

Elaine Cecília Gatto
Elaine Cecília Gatto
Reply to  Souza
24/10/2016 13:50

AE!!!!!!!! Legal que está acompanhando =)

Souza
Souza
Reply to  Elaine Cecília Gatto
24/10/2016 15:20

Prometo ser um aluno aplicado.

Elaine Cecília Gatto
Elaine Cecília Gatto
Reply to  Souza
25/10/2016 13:26

aheoiuhauhaeeahaeuhaeu
Bacana!

WEBINAR

Imagens de Ultrassom: Princípios e Aplicações

DATA: 26/10 ÀS 19:30 H