Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A oganizadora de eventos e seu irmão prodígio (Solução + Duvida)

Primeiro, a solução:

<meta charset="UTF-8">
<script>

    function pulaLinha() {

        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    var totalDeEventos = parseInt(prompt("Informe o total de eventos"));

    var contador = 1;

    var totalGastoComEventos = 0;


    while(contador <= totalDeEventos) {

        var gasto = parseFloat(prompt("Informe total gasto com evento"));
        totalGastoComEventos = totalGastoComEventos + gasto;
        contador++;
    }

    var media = totalGastoComEventos / totalDeEventos;

    mostra("A média de gastos é " + media);
</script>

Como dito na aula anterior ao exercício, a variável totalGastoComEventos precisa manter-se FORA de while, pois essa função faz a repetição e joga fora todo o resultado da variável (suponho que seja isso).

*Duvida: *

Talvez isso tenha sido falado em alguma aula, mas deve ter me escapado. Por que a variável contador deve se iniciar em 1?

1 resposta
solução!

Realmente se deixar o valor inicial dentro do ciclo, ele acaba sempre retornando a este mesmo valor inicial em vez de se acumular.

Quanto a sua dúvida creio (Não é de certeza), que um dos problemas que o 0 será contando também, fazendo que o ciclo em vez de ser contado um numero "x" de vezes, será contado "x+1" vezes. Por exemplo se vc quer que o ciclo tenha 10 repetições será: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.

Caso coloque o 0 seria: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.

Você pode notar que com o zero o ciclo fez 11 repetições em vez de 10.

Imagino que esse seja um dos motivos (mas talvez não todos).