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

Fiquei curioso e olha no que deu.

Bem... na metade da video-aula eu percebi que eu poderia implementar a pergunta feita pelo prompt(); perguntado qual familiar eu queria idade, ex: Informe a idade do familiar (1,2,3,4... etc).

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

E eu de alguma forma consegui, até mesmo pra minha propria surpresa usando o for(); porém dessa forma eu não conseguir fazer que o total de idades funcionasse. Eu sei que o professor não fala pra fazer isso mas alguém pode me ajudar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

tentei usar varias linhas de códigos diferentes mas o resultado era sempre o mesmo, uma tela em branco, ou a palavra "undefined".

<meta charset="UTF-8">

<script>

        function pulalinha() {

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

        }

        function mostra(frase) {

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

        var totalF = parseInt(prompt("Quantidade de familiares?"));

        for(var unidadeF = 1; unidadeF <= totalF;unidadeF++) 

        var idade = parseInt(prompt("Informe a idade do familiar " + unidadeF));

        while(unidadeF <= totalF) {

            var totalI = totalI + idade    
        }
        var media = totalI/totalF

        mostra(" A média das idades dos familiares é " + media);


</script>

(Ignorem o browser em Japonês, estou tentando aprender essa língua, e o máximo de imersão ajuda muito!).

2 respostas
solução!

Olá, Eduardo! Tudo bom?

Desculpe demora em obter um retorno.

Parabéns pela iniciativa em conciliar seu aprendizado de japonês imersivo e programação, essas iniciativas ajudam muito para o avanço do aprendizado nas duas habilidades.

Observe que seu desejo é calcular a média, e a média é o somatório de alguma quantia de dados (nesse casos as idades, totalI, em seu código) dividido pelo número de ocorrências nesse caso (totalF, em seu código). Então para a média, teríamos:

var media = totalI / totalF

Mas note que a intenção é que a cada vez que recebermos a idade de um familiar (var idade), devemos somar esse valor encontrado à variável totalI. Então no nosso laço, além de coletarmos a idade, podemos também fazer essa soma:

var totalI = 0;
for(var unidadeF = 1; unidadeF <= totalF; unidadeF++){

            var idade = parseInt(prompt("Informe a idade do familiar " + unidadeF));
            totalI = totalI + idade;
}

Note que o for é escrito como for(condição){declarações}, pois quando há mais de uma declaração dentro do for (nesse caso são duas), é necessário a delimitação do bloco com o uso de chaves {}. E também note que a variável totalI precisa ser declarada antes, e como é para armazenar um somatório pode ter valor inicial zero.

Nesse caso, não precisamos utilizar o laço while para complementar o nosso código, pois já estamos utilizando o laço for. E a média só é calculada uma vez, após o laço de repetição depois que todas as idades foram armazenadas na variável totalI.

De forma que o código completo é:

<meta charset="UTF-8">

<script>

        function pulalinha() {

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

        }

        function mostra(frase) {

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

        var totalF = parseInt(prompt("Quantidade de familiares?"));
        var totalI = 0;

        for(var unidadeF = 1; unidadeF <= totalF; unidadeF++){ 

            var idade = parseInt(prompt("Informe a idade do familiar " + unidadeF));
            totalI = totalI + idade;
        }

        var media = totalI / totalF;

        mostra(" A média das idades dos familiares é " + media);


</script>

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigado Marcus! Tinha esquecido totalmente do {} no for. Muito obrigado mesmo, e muito obrigado pelo seu encorajamento na minha busca por aprender um nova lingua! vou fazer meu máximo. Desejo tudo de bom na sua vida!