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

Para quem está com dificuldades em compreender

Fiquei com umas dúvidas quando comecei a olhar os códigos da galera aqui. Sou iniciante e não estava entendendo exatamente como as pessoas fizeram, apenas entendia que funcionava, mas não o porquê do código funcionar. Resolvi então fazer um código e explicar ele para caso alguém estiver com as mesmas dúvidas que eu.

Obs: se algo estiver errado, por favor avise!

Código:

//constantes:
const idadeStefany = 21;
const idadesAmigos = [idadeStefany, 20, 23, 18, 7];
const proximasIdades = []
const proximas5Idades = []


//funções:

//calcula a idade de Stefany daqui 1 ano
function calculaProximaIdade(idade) {
    idade += 1; //soma 1
    console.log(idade);
}

//calcula a idade de Stefany e amigos daqui 1 ano
function calculaProximasIdades(idades) {
    for (let i = 0; i < idades.length; i += 1) {
        proximasIdades[i] = idades[i] + 1;   //soma 1 a todas as idades sem somar diretamente à idadesAmigos
    }
    console.log(proximasIdades);
}


//calcula a idade de Stefany e amigos daqui 5 anos
function calcula5ProximasIdades(idades) {
    for (let i = 0; i < idades.length; i += 1) {
        proximas5Idades[i] = idades[i] + 5;   // igual a função anterior, porém soma agora soma 5 anos
    }
    console.log(proximas5Idades);
}


//executa as funções:
calculaProximaIdade(idadeStefany);
calculaProximasIdades(idadesAmigos);
calcula5ProximasIdades(idadesAmigos);

Só pra firmar o porquê do código não somar diretamente à idadesAmigos (foi aqui que eu fiquei confuso de primeira, e acredito que não fui só eu):

O código fala para o computador o seguinte:

"olha, a lista (array) proximasIdades é basicamente lista (array) idadesAmigos, MAS é diferente pois ele é 5 números a mais." Assim o computador entende e salva proximasIdades em um endereço diferente, em vez de editar diretamente idadesAmigos .

3 respostas

Muito obrigada Nicolas, estava com dificuldade nessa questão e seu código com suas informações ajudaram muito!

ajudou, obrigado!

solução!

Olá Nicolas, tudo bem? Parabéns pela iniciativa de criar um código e explicá-lo para ajudar outras pessoas que possam estar com as mesmas dúvidas que você tinha.

Sobre o seu código, ele está correto e bem explicado. É importante entender a diferença entre os arrays idadesAmigos e proximasIdades para evitar problemas de alteração de dados.

A função calculaProximaIdade está simples e objetiva, apenas somando 1 à idade de Stefany. Já as funções calculaProximasIdades e calcula5ProximasIdades utilizam um loop para percorrer o array idadesAmigos e adicionar 1 ou 5 anos, respectivamente, às idades de cada amigo. E como você explicou muito bem, essas funções não alteram diretamente o array idadesAmigos, mas sim criam um novo array proximasIdades e proximas5Idades.

Continue assim, se dedicando e buscando entender cada vez mais sobre programação. Espero ter ajudado e bons estudos!