2
respostas

Existe uma forma mais enxuta de escrever essa mesma resolução?

<script>
    function mostra (frase) {
        document.write (frase);
        document.write ("<br>");
    }

    var totalFamiliares = parseInt(prompt("Quantidade de familiares: "));
    var somaIdade = 0;

    // a var que receberá a soma das idades deve ser setada em 0 fora da estrutura de repetição, caso contrário o algorítimo entrará em looping

    for (var contador = 1; contador <= totalFamiliares; contador = contador + 1) {
        var idade = parseInt(prompt("Informe a idade do familiar " + contador + ": "));
        somaIdade = somaIdade + idade;
    }

    var mediaFamiliares = (somaIdade / totalFamiliares);
    mostra ("A média dos " + totalFamiliares + " familiares é: " + mediaFamiliares);
</script>
2 respostas

Olá João,

Usando ES6 você você conseguiria uma implementação assim:

<script>
    function mostra(frase) {
        document.write(frase);
        document.write("<br>");
    }

    var totalFamiliares = parseInt(prompt("Quantidade de familiares: "));
    let idades = [];

    // a var que receberá a soma das idades deve ser setada em 0 fora da estrutura de repetição, caso contrário o algorítimo entrará em looping

    for (var contador = 1; contador <= totalFamiliares; contador = contador + 1)
        idades.push(parseInt(prompt(`Informe a idade do familiar:  ${contador}`)));

    mostra(`A média dos ${totalFamiliares} familiares é: ${idades.reduce((anterior, proximo) => anterior + proximo, 0)/idades.length}`);
</script>

Certo Já se torna avançado para min, quando chegar lá eu irei retornar aqui e revisar essa aplicação.

Muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software