4
respostas

Parenteses

As contas de adição sei que precisa estar entre parenteses para não misturar com a concatenação. Por que contas de divisão e multiplicação não precisa estar entre parenteses e adição e subtração é necessário?

4 respostas

Pois se tu retirar o parenteses da sua conta o 30 vai ser dividido por 3 antes de ser somado!! Dá uma olhada neste link pois isso acontece basicamente por ordem de procedência igual na matemática !!

http://guiatech.net/algoritmos-precedencia-de-operadores/

Olá!

Mais do que separar da concatenação, neste caso os parênteses estão sendo usados na expressão matemática, pois pela ordem algébrica, multiplicação e divisão devem ser executadas antes das somas, e o parênteses existe para garantir que as somas sejam executadas antes.

Com parênteses, temos:

document.write("A média das idades é " + (20 + 10 + 30) / 3);

cujo resultado é A média das idades é 20.

Sem os parênteses, a divisão (30/30) é feito primeiro :

document.write("A média das idades é " + 20 + 10 + 30 / 3);

cujo resultado é A média das idades é 40.

Na programação, as ordens algébricas devem ser consideradas da mesma forma como na matemática, e os parênteses devem ser usados para priorizar algumas expressões diante de outras . A ordem de prioridade é:

potenciação e radiciação > multiplicação e divisão > soma e subtração.

Faz o teste com e sem os parênteses e veja as diferenças nos resultados!

espero ter ajudado!!!

Obrigado pelas repostas desde já.

Perdoem, acho que não me expressei direito. A ordem dos cálculos entendo; na verdade minha dúvida é sobre a gramática da linguagem quando do uso de concatenações.

por exemplo, as partes em negrito não somam e nem subtraem sem parenteses quando uso concatenação: document.write("Barney nasceu em " + 2016 + 40 ); document.write("Barney nasceu em " + 2016 - 40);

mas estas partes em negrito realizam divisão e multiplicação sem parenteses: document.write("Barney nasceu em " + 2016 * 40); document.write("Barney nasceu em " + 2016 / 40)

O primeiro e o último parenteses é que fazem validar a multiplicação e a divisão? document.write("Barney nasceu em " + 2016 / 40 );

Oi rguilherme acontece o seguinte a multiplicação e divisão tem precedência(vem antes) a soma e a concatenação.

Vamos usar o seu exemplo para ser mais didático possível.

document.write("Barney nasceu em " + 2016 + 40 );

Aqui vamos ter a seguinte execução passo a passo:

document.write("Barbey nasceu em" + 2016 +40);

Perceba que no caso acima tenho um + com outro + o que vai acontecer:

  1. Vamos ter a concatenação da String com 2016 por essa ser a ordem da esquerda para direita. document.write("Barney nasceu em 2016" +40);

Logo em Seguida sobrará só o sinal de mais entre uma string e o número 40 o que resultará em:

document.write("Barney nasceu em 201640");

Ok!Até aqui?

Já no 2º caso para multiplicação e divisão:

document.write("Barney nasceu em " + 2016 * 40 ); Aqui vamos ter a seguinte execução passo a passo: document.write("Barney nasceu em" + 2016 *40); Perceba que no caso acima tenho um + com * o que vai acontecer:

  1. Vamos ter a multiplicação primeiro com 2016 vezes 40 por essa ser a ordem multiplicação antes da soma ou concatenação. document.write("Barney nasceu em" + 80640);

Logo em Seguida sobrará só o sinal de mais entre uma string e o número 80640 o que resultará em:

document.write("Barbey nasceu em 80640"); Que é o que é exibido na tela.

Espero ter ajudado e bons estudos.