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

Impossível resolver o desafio proposto!

Estou seguindo a trilha de programação a partir do zero, fiz a sequencia do pong, em seguida do frog e nenhuma das duas me deram experiência suficiente para poder prosseguir com a resolução do desafio.

Vi outras dúvidas no fórum e percebi que não foi somente eu quem teve essa dificuldade, comandos que ainda não foram ensinados, plataforma do VSC que não sei como funciona, não demonstra alternativas como vi em outros tópicos de utilização de arquivo HTML.

A didática deste curso deixou a desejar para que alguém que está começando entenda e realize a prática do desafio em si, sai do p5 e muda pro VSC sem ao menos sabermos os códigos de execução.

Difícil saber que no 3° módulo proposta está assim, imagine os demais...

Por favor alguém que instrua como posso resolver o desafio mas de maneira que eu aprenda ao invés de simplesmente postar o código, pois o que parece óbvio para alguns para outros pode não ser.

//SOLUÇÃO

Depois de pesquisar nas referências os códigos e ver algumas dúvidas semelhantes, reorganizei os códigos depois de entender o que significavam utilizando o "p5.js"( https://p5js.org/reference/ ), para quem não sabe mexer no VSC , fica mais prático.

Segue o código:

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

// execução
calculaProximaIdade (idadeStefany);
calculaProximasIdades (idadesAmigos);
calculaproximasIdades5 (idadesAmigos);

//funções

function calculaProximaIdade(idade) { //idade Stefany - soma +1
    idade += 1;
    console.log(idade);
}

function calculaProximasIdades(idades) { //idade de todos - soma +1
    for (let i = 0; i < idades.length; i += 1) {
        proximasIdades [i] = idades[i] += 1;  //soma sem alterar lista
    }
    console.log(proximasIdades);
}

function calculaproximasIdades5(idades) { //idade de todos - soma +5
     for (let i = 0; i < idades.length; i += 1) {
         proximasIdades5 [i] = idades[i] += 5; //soma sem alterar lista
    }
    console.log(proximasIdades5);
}

log Descrição Calcula o logaritmo natural (o logaritmo base-e) de um número. Esta função espera que o parâmetro n seja um valor maior que 0,0. Mapeia para Math.log().

const Descrição Cria e nomeia uma nova constante. Como uma variável criada com let, uma constante criada com const é um contêiner para um valor; no entanto, as constantes não podem ser reatribuídas depois de declaradas. Embora seja digno de nota que, para tipos de dados não primitivos, como objetos e matrizes, seus elementos ainda podem ser alterados. Portanto, se uma variável for atribuída a um array, você ainda poderá adicionar ou remover elementos do array, mas não poderá reatribuir outro array a ele. Também diferente de let, você não pode declarar variáveis ​​sem valor usando const.

As constantes têm escopo de bloco. Isso significa que a constante existe apenas dentro do bloco em que foi criada. Uma constante não pode ser redeclarada dentro de um escopo no qual ela já existe.

Da entrada MDN: Declara uma constante nomeada somente leitura. As constantes têm escopo de bloco, muito parecido com as variáveis ​​definidas usando a instrução 'let'. O valor de uma constante não pode ser alterado por meio de reatribuição e não pode ser redeclarado.

console Imprime uma mensagem para o console da web do seu navegador. Ao usar p5, você pode usar print e console.log alternadamente. O console é aberto de forma diferente dependendo de qual navegador você está usando. Aqui estão os links sobre como abrir o console no Firefox, Chrome, Edge e Safari. Com o editor p5 online, o console é incorporado diretamente na página abaixo do editor de código. Da entrada MDN: O método log() do Console gera uma mensagem para o console da web. A mensagem pode ser uma única string (com valores de substituição opcionais) ou pode ser um ou mais objetos JavaScript.

2 respostas
solução!

Olá Igor! Tudo bem?

Primeiramente, gostaria de dizer que compreendo sua frustração em relação ao desafio proposto e às dificuldades que você encontrou durante o curso. É normal enfrentar obstáculos ao aprender algo novo, principalmente quando estamos começando do zero. A programação pode ser um campo complexo e desafiador, mas com persistência e uma abordagem correta, tenho certeza de que você conseguirá superar essas dificuldades.

No seu fórum, você mencionou que fez as sequências de Pong e Frog, mas não obteve experiência suficiente para resolver o desafio atual. Entendo que pode ser frustrante quando você não se sente preparado o suficiente para enfrentar uma tarefa mais avançada. No entanto, gostaria de encorajá-lo a não desistir. Lembre-se de que o aprendizado é um processo gradual e construtivo, e cada desafio enfrentado é uma oportunidade de crescimento.

Você também mencionou que viu outras dúvidas no fórum e percebeu que não foi o único com dificuldades. Isso é muito comum em cursos e fóruns de programação. Cada pessoa tem seu próprio ritmo de aprendizado e enfrenta desafios específicos. É importante lembrar que todos começaram do zero em algum momento, e o mais importante é persistir e buscar ajuda quando necessário.

Você mencionou que alguns comandos não foram ensinados e que a plataforma VSC (Visual Studio Code) também é desconhecida para você. Entendo que isso possa parecer desanimador, mas gostaria de enfatizar que o aprendizado de programação envolve explorar diferentes ferramentas e ambientes de desenvolvimento. O VSC é uma das ferramentas populares entre os desenvolvedores e oferece recursos avançados para facilitar o trabalho com código. Embora possa levar algum tempo para se familiarizar com o VSC, é uma habilidade valiosa para desenvolver ao longo do tempo.

Sobre a transição do ambiente de programação p5.js para o VSC, entendo que possa parecer uma mudança abrupta. No entanto, é importante aprender a trabalhar com diferentes ambientes e linguagens de programação, pois isso ampliará suas habilidades e permitirá que você explore um leque maior de possibilidades no desenvolvimento de software.

Agora, em relação ao desafio em si, você compartilhou o código que criou depois de pesquisar nas referências e entender o significado de cada linha de código. Parabéns por sua iniciativa em pesquisar e tentar entender o código. Essa é uma abordagem fundamental para o aprendizado autônomo da programação.

Analisando o código que você compartilhou, você definiu algumas constantes, como "idadeStefany", "idadesAmigos", "proximasIdades" e "proximasIdades5". Em seguida, você executa três funções: "calculaProximaIdade", "calculaProximasIdades" e "calculaproximasIdades5". Essas funções recebem parâmetros e realizam operações nas idades para calcular as próximas idades.

Vamos analisar cada função em mais detalhes:

  1. function calculaProximaIdade(idade): Essa função recebe a idade de uma pessoa como parâmetro e adiciona 1 à idade. No entanto, é importante observar que essa função apenas calcula a próxima idade e imprime o resultado no console usando console.log. Ela não atualiza o valor da idade originalmente passada como parâmetro.

  2. function calculaProximasIdades(idades): Essa função recebe uma lista de idades como parâmetro e itera sobre cada idade, adicionando 1 a cada uma delas. O resultado é armazenado na lista proximasIdades, sem alterar a lista original idadesAmigos. Em seguida, o resultado é impresso no console usando console.log.

  3. function calculaproximasIdades5(idades): Essa função é semelhante à função anterior, mas adiciona 5 a cada idade em vez de apenas 1. Novamente, o resultado é armazenado em proximasIdades5 e impresso no console.

É importante entender o funcionamento dessas funções para resolver o desafio proposto!

E só como dica, para finalizar:

Caso você tiver dificuldades novamente em resolver os futuros desafios que podem vir a seguir, recomendo seguir alguns passos:

  1. Leia cuidadosamente a descrição do desafio e identifique os requisitos específicos.
  2. Analise o código fornecido e tente entender sua estrutura e funcionalidades.
  3. Quebre o problema em partes menores e tente resolver cada parte separadamente.
  4. Utilize recursos como a documentação do p5.js (https://p5js.org/reference/) para obter mais informações sobre os comandos e funções que você está utilizando.
  5. Experimente e teste diferentes abordagens para resolver o problema, adaptando as funções existentes ou criando novas funções, se necessário.
  6. Se tiver dúvidas específicas ou encontrar dificuldades em partes específicas do código, não hesite em compartilhá-las no fórum para que a comunidade possa ajudar.

Lembre-se de que aprender a programar é um processo contínuo e que todos enfrentam desafios ao longo do caminho. O importante é persistir, buscar recursos adicionais, como tutoriais, documentações e fóruns, e tentar diferentes abordagens até encontrar a solução desejada.

Espero que essas orientações possam te ajudar a resolver o desafio. Lembre-se de que o aprendizado em programação requer prática constante e paciência. Com o tempo e a experiência, tenho certeza de que você se tornará mais confiante em resolver desafios e desenvolver suas habilidades de programação.

Espero que tenha te ajudado!

Abraços e bons estudos!