Operações Aritméticas

Operações relacionais e lógicas Operações Aritméticas variáveis Tipos de dados Estruturas Aninhadas algoritmos

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:

 

a = b + c;
a = b - c;
a = b / d;
a = b * d;

 

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

 

a = b + c - d / e * f;

 

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:

 

a = b + c - d / e * f;
a = b + c - R1 * f;
a = b + c - R2;
a = R3 - R2;
a = R4;

 

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:

 

5/2 = 2,5

 

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.

 

a) X = A + B - C / D * E;
b) Y = A * B / C + D - E;
c) Z = A - B * C + D / E;

Outros artigos da série

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

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Elaine Cecília Gatto
Bacharel em Engenharia de Computação. Mestre em Ciência da Computação. Doutoranda em Ciência da Computação. Co-fundarora e Líder das #GarotasCPBr. Pesquisadora Convidada no Grupo de Pesquisa: "Artes em Tecnologias Emergentes" do Programa de Pós Graduação em Design na UNESP Campus Bauru. Cantora, Docente no Magistério Superior, Geek, Nerd, Otaku e Gamer. Apaixonada por Michael Jackson, Macross, Rocky Balboa, Séries, Filmes, Cervejas e Vinhos. Mais informações sobre mim você encontra em: http://lattes.cnpq.br/8559022477811603.

6
Deixe um comentário

avatar
 
2 Comment threads
4 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
4 Comment authors
Elaine Cecília GattoANTONIO PEREIRAElaine Cecília GattoSouza Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
ANTONIO PEREIRA
Visitante
ANTONIO PEREIRA

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
Visitante
Souza

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

Elaine Cecília Gatto
Visitante
Elaine Cecília Gatto

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

Souza
Visitante
Souza

Prometo ser um aluno aplicado.

Elaine Cecília Gatto
Visitante
Elaine Cecília Gatto

aheoiuhauhaeeahaeuhaeu
Bacana!