2
respostas

Código com erro

Não consigo identificar qual o erro no código para que ele apresente o resultado esperado. Ao invés de somar os valores e depois dividir, ele junta os valores recebidos e divide o resultado. Como corrigir?

<meta charset="UTF-8">

<h1> Escola High School </h1>

<script>
    function pulaLinha() {
        document.write("<br>");

    }

    function mostra(texto){
        document.write(texto);
    }

    function media(nota , nota){
        return (nota + nota) / 2;
    }

var nomeAluno = prompt("Digite o nome do aluno: ")
var prova1 = prompt("Digite a nota da primeira prova de " + nomeAluno);
var prova2 = prompt("Digite a nota da segunda prova de " + nomeAluno);

var mediaAluno = media (prova1, prova2);

mostra("A média do aluno " + nomeAluno + " é " + mediaAluno);

</script>
2 respostas

O código corrigido ficou assim e funcionou.

<meta charset="UTF-8">

<h1> Escola High School </h1>

<script>
    function pulaLinha() {
        document.write("<br>");

    }

    function mostra(texto){
        document.write(texto);
    }

    function media(nota , nota){
        return (nota + nota) / 2;
    }

var nomeAluno = prompt("Digite o nome do aluno: ")
var prova1 = Number(prompt("Digite a nota da primeira prova de " + nomeAluno));
var prova2 = Number(prompt("Digite a nota da segunda prova de " + nomeAluno));

var mediaAluno = media (prova1, prova2);

mostra("A média do aluno " + nomeAluno + " é " + mediaAluno);

</script>

Opa, Denis! Boa tarde! que bom que conseguiu consertar seu código. O erro estava ocorrendo justamente por estar usando as notas como string. Vale lembrar que além do Number tambem funciona usar a função parseFloat() para converter as notas para um float.

Abraços e bons estudos