3
respostas

Eu queria usar o for

Eu queria usar o for ao inves do while, podem me ajudar???

<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 totalGastoComEventos = 0;

   for(contador = 1;contador <= totalDeEventos;contador++){

    var media = totalGastoComEventos / totalDeEventos;
    mostra("A média de gastos é " + media);
    }





</script>
3 respostas

Olá Mariana, tudo bem?

Podemos fazer isso da seguinte forma.

  • PASSO 1

Primeiramente, tanto se fizermos com while quanto com for, temos que retirar a declaração da variável media e a chamada da função mostra de dentro do laço, pois não é o que nós queremos que faça parte da repetição.

  var totalGastoComEventos = 0;
  for(contador = 1;contador <= totalDeEventos;contador++) {

  }
  • PASSO 2

Em seguida, iremos adicionar o prompt no laço, que irá pedir para o usuário digitar o valor gasto em cada evento

var totalGastoComEventos = 0;
for (contador = 1; contador <= totalDeEventos; contador++) {

    var gasto = parseFloat(prompt("Informe o valor gasto no evento " + contador))
}
  • PASSO 3

Por fim, iremos somar cada valor ao valor total de gastos dos eventos:

var totalGastoComEventos = 0;
for (contador = 1; contador <= totalDeEventos; contador++) {

    var gasto = parseFloat(prompt("Informe o valor gasto no evento " + contador))
    totalGastoComEventos = totalGastoComEventos + gasto
}

OBS: eu adicionei o contador no prompt, para que a cada rodada do laço ele informe o número correto do evento que estamos pedindo o valor gasto.

Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!

Olá Beatriz, obrigada pelo retorno.

Acredito que com sua orientação eu cheguei no resultado, porém há algo errado no meu cálculo a média está resultando "0". O que estou fazendo errado??

<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 totalGastoComEventos = 0;


    /*while(contador <= totalDeEventos) {

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



    for(var contador = 1; contador <= totalDeEventos; contador++){

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

        gasto = totalGastoComEventos;
    }

    var media = (Math.round(totalGastoComEventos / totalDeEventos));
     mostra("A média de gastos é " + media);





</script>

Olá Marina, tudo bem?

Neste caso ficou faltando realizar esse passo que expliquei anteriormente.

Substitua:

gasto = totalGastoComEventos;

Por:

totalGastoComEventos = totalGastoComEventos + gasto;

Se tiver mais algumas dúvida, fique a vontade para perguntar. Abraços!