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

O detetive Roy!

Olá Professor boa noite,

Dei uma incrementada no exercício porém não consegui entender porque o Math.round não está arrendondando o valor do código abaixo.

<meta charset="UTF-8">
<script>
var idadeLinda = 12
var idadeGuaraciara = 15
var idadePerola = 13
var totalIdades = idadeLinda + idadeGuaraciara + idadePerola
    document.write(    "A média da idade das minhas filhas é " + Math.round ( totalIdades)/3);
</script>
6 respostas

Oi Caio! Quase foi! Veja que o Math.round deve envolver o número e a divisão. Do jeito que está você arredonda apenas o número que já é inteiro e depois divide. Pegou a idéia?

Aguardo seu retorno!

document.write(    "A média da idade das minhas filhas é " + Math.round ( totalIdades/3));

Oi Flávio, entendi sua explicação, o meu receio era que acontecesse primeiro a divisão e depois a soma das idades, mas pelo que entendi quando tem uma "variable" envolvida essa regra não se aplica, tanto que substituí a variável pelos números e o resultado foi diferente.

Veja...Math.round precisa receber o número que você quer arredondar, certo?

Consegue entender por que o código abaixo está errado?

Math.round (10)/3

Ele vai arredondar 10 que já está arredondado. Daí o resultado é 10!

Daí ele faz:

10/3

Isso não será um valor arredondado.

O correto é

Math.round (10/3)

O resultado de 10/3 será passado como parâmetro para Math.round.

Se 10 estivesse em uma variável é a mesma coisa.

Mas se fosse

var resultado = 10/3; document.write (Math.round (resultado));

Daria certo. Porque resultado é o número com decimais que será arredondado por Math.round.

Tudo que Math.round() deve arredondar deve estar entre seus parênteses. Não confundir os parênteses de Math.round () com parênteses da matemática. Aqui ele serve para indicar o que Math.round recebe, ou seja, o valor que deve arredondar.

Quando você chegar nas aulas de funções ficará ainda mais claro.

solução!

Beleza Caio?

Beleza Flávio muito obrigado!