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

A organizadora de eventos e seu irmão prodígio. Não entendi o conceito.

Compreendi como monta o programa, o que não ficou muito consolidado para mim é ter que iniciar o programa com a informação = 0. Exemplo: var totalGastoComEventos = 0; ou var totalIdades = 0; como exemplo abaixo:

Desde já agradeço :)

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

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var totalFamiliares = parseInt(prompt("Quantidade de familiares?"));
    var numero = 1;
    var totalIdades = 0;

    while(numero <= totalFamiliares){
        var idade = parseInt(prompt("Informe idade do familiar"));
        totalIdades = totalIdades + idade;
        numero++; 
    }
    var mediaDasIdades = totalIdades/totalFamiliares;
    mostra ("A media das idades é " + mediaDasIdades);
    mostra ("FIM");



</script>
2 respostas
solução!

Oi Kaliane!

Isso é uma funcionalidade do Javascript. Para modificar o valor de uma variável é necessário que ela tenha sido inicializada! Exemplo

var variavelInicializada = 0;
variavelInicializada = variavelInicializada + 1;
//ou variavelInicializada++ apenas

Escrevi por extenso a segunda linha pra lógica ficar mais clara!

Percebe que quando você acresce o valor da variável ela precisa de um valor inicial? vide nossa matemática comum:

1+1 = 2

porém

+1 faz você pensar mais um o que? quando dado solto assim.

na prática:

var varivavelNaoInicializada;
variavelNaoInicializada = variavelNaoInicializada +1;
//ou ainda
var teste = variavelNaoInicializada + 1;

Nesse exemplo a variável, que não foi inicializada, sofre a tentativa de acréscimo no valor ( o mesmo vale pra decréscimo), porém o Javascript, bem como outras linguagens não consegue entender essa sintaxe porquê:

1- O JS não fez "curso mãe diná" pra saber o tipo da sua váriavel.

2- O JS não conhece a matemática que faz NumeroDesconhecido + NumeroReal.

Vale lembrar, também, que se você atribuir um valor à variável depois de definí-la o código vai funcionar! Ex.:

var variavelTeste;
//aqui a variável variavelTeste não foi inicializada portanto essas operações não funcionam
//variavelTeste = variavelTeste + 1;
//ou variavelTeste++ apenas
variavelTeste = 0;
//aqui a variável variavelTeste recebe o valor 0, e com isso é inicializada oq possibilita:
variavelTeste++
//onde variavelTeste = 1.

No exemplo dado por você, a variável é inicializada com 0 por se tratar do número neutro que não impacta o código, não gera bugs. Assim, sempre que precisar modificar uma variável, lembre de atribuir um valor à mesma!

Abraços!

Arthur, maravilhosa a explicação, muito obrigada. Era exatamente essa peça que tava faltando. Valeu!