Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Quantos % acertei na prova? e E o resultado é...

<meta charset="UTF-8">
<script>
    document.write("Eu acertei: " + 15/50*100 + "%" );
</script>

Fez a soma e acertei a questão. Mas não entendi porque não concatenou se tem o texto antes da numeração não viraria tudo string?

Como, por exemplo, na questão posterior que concatenou o que não estava em parenteses:

Primeiro, vamos analisar a string, fora da instrução document.write:

"A" + "B" + 20 + 10 + "C" + (5 + 10) + "D"COPIAR CÓDIGO Lembre-se que o que estiver entre parênteses será processado primeiro, sendo assim temos:

"A" + "B" + 20 + 10 + "C" + 15 + "D"COPIAR CÓDIGO Agora ocorre o processo de concatenação que vai da esquerda para a direita resultando em AB2010C15D.

Vejamos passo a passo o que acontece com as concatenações de "A" + "B" + 20 + 10 + "C" + (5 + 10) + "D":

"AB" + 20 + 10 + "C" + 15 + "D"

"AB20" + 10 + "C" + 15 + "D"

"AB2010" + "C" + 15 + "D"

"AB2010C" + 15 + "D"

"AB2010C15" + "D"

"AB2010C15D"

3 respostas
solução!

Oi, tudo bem?

O seu código document.write("Eu acertei: " + 15/50*100 + "%" ); funcionou porque, no JavaScript, e praticamente em toda linguagem de programação, os sinais de multiplicação * e divisão / têm precedência sobre os sinais de soma + e subtração -. Isso quer dizer que multiplicações e divisões têm prioridade e são realizadas primeiro em uma expressão.

Dessa forma, o JavaScript avalia a expressão "Eu acertei: " + 15/50*100 + "%" de acordo com a seguinte sequência de passos:

  • "Eu acertei: " + 15/50*100 + "%"
  • "Eu acertei: " + 30 + "%"
  • "Eu acertei: 30" + "%"
  • "Eu acertei: 30%"

E por isso funciona!

Espero ter ajudado. Abraços e bons estudos :)

Olá! Tudo certo?

O que acontece é que no segundo exemplo temos apenas operadores +, que são entendidos como operadores de concatenação. Tanto que, para conseguirmos fazer de fato uma soma, precisamos colocar o 10+5 entre parênteses. Porém, no primeiro exemplo, os operadores que temos não são +, e sim * e /. Nesse caso, os operadores têm apenas uma função, que é a de realizar operações matemáticas. Assim, a operação matemática é realizada, e depois ocorre a concatenação, como se já houvesse parênteses.

Espero ter ajudado! Qualquer dúvida, estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Entendido...grata