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

Dúvida no curso Lógica de Programação

Olá, pessoal cheguei na aula 5 do curso Lógica de Progamação, entendi como funciona o While e For na parte da copa do mundo e tabuada. Mas quando chegou na parte de media_idades_familiares fiquei perdidão, o professor passa a mil nessa parte não consigo entender mesmo assistindo várias vezes, e a Explicação em texto só vai até a tabuada o código que não consigo entender como ele funciona é este:

<script>

var mostra = function(frase) {
    document.write(frase + "<br><br>");
};


var totalDeFamiliares = prompt("Quantos familiares são?");

var numero = 1;
var somaDeIdades = 0;

while(numero <= totalDeFamiliares) {
    var idadeTexto = parseInt(prompt("Qual é a idade"));
    somaDeIdades = somaDeIdades + idade;
    numero++;
}

var media = somaDeIdades / totalDeFamiliares;
mostra("A média é: " + media);
</script>
14 respostas

O quê tu não consegue entender? É o código todo ou uma parte dele?

Encontrei alguns erros no seu código, Samuel. A linha

var totalDeFamiliares = prompt("Quantos familiares são?");

Deve ser substituída por:

var totalDeFamiliares = parseInt(prompt("Quantos familiares são?"));

Você esqueceu de converter a “String” captada pelo prompt() em tipo “Int”. Por isso tive que usar o parseInt().

Há um outro erro dentro do while. É melhor ficar como:

while(numero <= totalDeFamiliares) {
    var idade = parseInt(prompt("Qual é a idade?"));
    somaDeIdades = somaDeIdades + idade;
    numero++;
}

Você confundiu os nomes das variáveis. Primeiro você passa o valor inteiro para a variável idadeTexto e depois você soma uma variável que não fora declarada: idade. É só manter o mesmo nome que o código fica correto.

corrigi os erros aqui, no meu caso não estou entendendo nada dessa parte toda, como é que ela funciona para que serve cada código desse, tipo numero++; e as variaveis, consegui entender de boa todo código da tabuada e copa do mundo tanto com while e for, entendi perfeitamente como o código todo funcionava, agora essa parte de media familiares está complicado entender como funciona cada parte do código

Não to conseguindo me expressar bem minha Dúvida. Bom deixa tentar exolicar melhor temos essa variável

var totalDeFamiliares = parseInt(prompt("Quantos familiares são?"));

blz essa ae tudo bem entendi de boa, depois vem a variável

var numero = 1;

no while está

while(numero <= totalDeFamiliares) {
    var idade = parseInt(prompt("Qual é a idade"));
    somaDeIdades = somaDeIdades + idade;
    numero++;
}

a variável numero é 1 e se eu colocar na resposta lá 5 familiares vai ser maior que 1 porque mesmo assim executa a função do while esse numero++; também não entendi como funciona

Essa linha diz que é para fdazer o loop enquanto numero for menor ou igual a totalDeFamiliares. A Variável número é inicializada com 1 para começar a contagem.

while(numero <= totalDeFamiliares)

Já, a linha

numero++;

indica que a variável numero vai ser incrementada em 1. É a mesma coisa que escrever

numero = numero + 1;

A linha numero++; é a mesma coisa que numero = numero + 1; é um atalho para escrever a mesma coisa com menos caracteres. Se você não entendeu a mecânica do código, eu recomendo que faço um teste de mesa. É assim: escreva em um papel todas as variáveis e seus respectivos valores. Vâ então acompanhando a evolução dos valores linha a linha até que o programa chegue ao fim.

ah sim to começando a entender, no caso numero++; só funciona se for + 1 se fosse por exemplo + 10 teria que fazer numero = numero + 10; tipo asim ?

Exatamente. E se quiser fazer um decremento na variável, utiliza numero--

Blz to entendo melhor, vou rever e rever novamente aqui toda aula até conseguir entender tudo e como funciona cada linha dessas :). qualquer outra dúvida posto aqui, muito Obrigado a todos que estão ajudando ;)

Pessoal demorei mais consegui entender quase todo o código só faltou entender uma variável aqui essa:

somaDeIdades = somaDeIdades + idade;

Veja que na primeira resposta do Gustavo ela já tinha apontado esse erro. Dá uma olhada no que ele escreveu lá.

Então Roberto lá em cima na primeira resposta do Gustavo vi que tinha errado o nome da variável, agora minha dúvida era para que servia a variável somaDeIdades se era só usar a variável idade assim como está no código abaixo.

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

var mostra = function(frase) {
    document.write(frase + "<br><br>");
};


var totalDeFamiliares = parseInt(prompt("Quantos familiares são?"));

var numero = 1;

while(numero <= totalDeFamiliares) {
    var idade = parseInt(prompt("Qual é a idade"));
    numero++;
}

var media = idade / totalDeFamiliares;
mostra("A média é: " + media);
</script>

Foi ae que descobri a ultilidade da variável somaDeIdades sem ela a variável media soma somente a ultima idade pelo tanto dos familiares, a utilidade da variável somaDeIdades é guardar todas as idades dos familiares, isso explica na aula mais foi falta de atenção minha sei lá demorei entender isso kkkk

solução!

Rsrsrs Blz, o uso dela é esse mesmo.

Pessoal vlw pela força ajudaram muito.