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

Calculo da média retorna NaN

Prezados(as), boa noite.

Ao executar o calculo de média com o código abaixo, tenho como retorno no navegador o valor NaN. Saberiam me dizer porquê ? A console não apresenta nenhum tipo de erro.

Desde já, agradeço pela atenção.

<meta charset="utf-8">

<script>
    var ano = 2016;
    var total = idadeIgor + idadeLeticia + idadeMagali + idadeRenato;
    var media = total / 4;

    var idadeIgor = 23;
    var idadeLeticia = 18;
    var idadeMagali = 55;
    var idadeRenato = 53;

    document.write("<h1>" + "Média de idade" + "</h1>" );

    document.write("Igor tem " + (ano - 1993) + " anos!" +"<br>");
    document.write("Magali tem " + (ano - 1961) + " anos!" +"<br>");
    document.write("Renato tem " + (ano - 1963) + " anos!" +"<br>");
    document.write("Leticia tem " + (ano - 1998) + " anos!" +"<br>" +"<br>");

    document.write("A media de idade da familia Zolezi é: " + Math.round(media) + " anos.");
</script>
2 respostas
solução!

Opa, beleza? Então, eu fiz alguns ajustes no teu código. Uma das coisas que pode ter dado problema é a concatenação, o javascript é meio chato em relação a concatenar números e string. Outra coisa também é que você declarou a média e o total logo no inicio. Então eles serão nulos/vazios. Por que? Por que como você declarou em primeiro, pela lógica a idade das 4 pessoas não existem, ou seja, não tem o que somar. Entende meu raciocínio?

Aqui vai o código:

<meta charset="utf-8">

<script>
    var ano = 2016;

    var idadeIgor = 23;
    var idadeLeticia = 18;
    var idadeMagali = 55;
    var idadeRenato = 53;
    var total = idadeIgor + idadeLeticia + idadeMagali + idadeRenato;
    var media = total / 4;

    document.write("<h1>" + "Média de idade" + "</h1>" );

    document.write("Igor tem " + (ano - 1993) + " anos!" +"<br>");
    document.write("Magali tem " + (ano - 1961) + " anos!" +"<br>");
    document.write("Renato tem " + (ano - 1963) + " anos!" +"<br>");
    document.write("Leticia tem " + (ano - 1998) + " anos!" +"<br>" +"<br>");

    document.write("A media de idade da familia Zolezi é: ");
    document.write(+ Math.round(media));
    document.write(" anos.");
</script>

Entendi sim Nikolai, faz sentido. Obrigado pela explicação, abraços.