1
resposta

Desafio Hora Prática - Explore Funções e Listas Aula 3

Nesse desafio infelizmente devido ao meu nível de programação ser muito iniciante tive de fazer algumas colinhas, as maiores foram criando funções no exercício 2 e 6 onde pra mim a dificuldade técnica foi bem alta uma vez que a complexidade do código talvez não tenha sido abordada nas aulas até agora. Quero retornar aqui daqui algumas aulas e refazer as atividades para por em prática o conhecimento adquirido e garantir o reforço da aula e espero conseguir acompanhar o conteúdo nas próximas aulas novamente.

//1
function calculoIMC(peso, altura){
    return peso / (altura * altura);
    }
    let resultado = calculoIMC(100, 1.85);
    console.log(resultado);

//2
function calculadoraFatorial(numero) {
  if (numero === 0 || numero === 1) {
    return 1;
  }

  let fatorial = 1;
  for (let multiplo = 2; multiplo <= numero; multiplo++) {
    fatorial = fatorial * multiplo;
  }

  return fatorial;
}
    let numero = 5
    let resultadoFatorial = calculadoraFatorial(numero);
    console.log(`O fatorial de ${numero} é ${resultadoFatorial}`);

//3
function calculadoraDolarReal(real, dolar){
    return real / dolar;
}
    let dolar = 4.80;
    let resultadoCambio = calculadoraDolarReal(1000, dolar);
    console.log(resultadoCambio.toFixed(2));

//4
function calculadoraArea(altura, largura){
    return altura * largura;
}
    let resultadoArea = calculadoraArea (8, 8);
    console.log(resultadoArea.toFixed(2));

function calculadoraPerimetro (altura, largura){
    return 2 * (altura + largura);
}
    let resultadoPerimetro = calculadoraPerimetro(8, 8);
    console.log(resultadoPerimetro.toFixed(2));

//5
let pi = 3.14

function calculadoraAreaRedonda(raio) {
    return pi * (raio * raio);   
}
    let resultadoAreaRedonda = calculadoraAreaRedonda(8);
    console.log(resultadoAreaRedonda.toFixed(2));

function calculadoraPerimetroRedondo(raio){
    return 2 * pi * raio;
}  
    let resultadoPerimetroRedondo = calculadoraPerimetroRedondo(8);
    console.log(resultadoPerimetroRedondo.toFixed(2));

//6
function calculadoraTabuada(numero) { 
    for (let multiplo = 1; multiplo <= 10; multiplo++){
    let resultadoTabuada = numero * multiplo;
    console.log (resultadoTabuada);
        }  
    }
    calculadoraTabuada(5);
1 resposta

Olá, Jonathan! Como vai?

Primeiramente, te parabenizo pela jornada de aprender algo novo! Durante esse processo, é comum a gente lidar com algumas dificuldades, a aprendizagem é um exercício contínuo e que cada pessoa vive de maneira diferente.

E sobre os desafios, o objetivo deles é te incentivar na aplicação dos conceitos aprendidos de maneira mais ampla. Mas tem um fator muito peculiar nisso tudo, que é te preparar para os desafios da vida real!

Na vida profissional, por vezes teremos que lidar com situações inusitadas que nos levam a pesquisar e buscar por algo novo. Toda essa experiência, que te projeta para o novo e te desafia, é muito bem-vinda e necessária para te fazer um profissional capaz e resiliente no contexto acadêmico ou corporativo.

Dicas

Uma dica crucial que posso te dar é aplicar um estudo ativo, que vai além de assistir somente. Então vá no seu ritmo pausando a aula, execute e compreenda todo o código que está sendo ensinado, também faça suas próprias anotações (explicando com as suas palavras). Esse processo é muito eficiente, não só para aprender, mas também para revisitar o material posteriormente.

"Mas, Daniel... Eu tenho facilidade em me perder durante a aula!"

Se esse é o seu caso, eu recomendo uma segunda alternativa ainda mais poderosa: Assistir toda a aula apenas prestando muita atenção no que está sendo falado. E, só depois, você assiste uma segunda vez fazendo tudo que está sendo abordado. Esse é um método de reforço! Ao ver algo pela segunda vez, você está facilitando a transição desse conhecimento da memória de curto prazo para a memória de longo prazo.

Dividir para Conquistar

E uma sugestão para a interpretação dos desafios: aplique a técnica Dividir para Conquistar. Essa técnica consiste em quebrar um problema grande em subproblemas menores, resolvê-los de forma independente e então combinar os resultados. Observe a imagem abaixo:

Fluxograma ilustrando o algoritmo de divisão e conquista: Um problema central se divide em subproblemas, resolvido e combinado para uma solução final.

A ideia é:

  1. Dividir um grande problema em n subproblemas
  2. Resolver esses subproblemas (obtendo subsoluções)
  3. Combinar essas subsoluções e obter a grande solução

Minhas considerações finais

Por fim, seja gentil consigo mesmo nesse processo! Lembre-se de que o aprendizado não é uma linha reta, tem altos e baixos. Momentos em que tudo parece travar e outros em que, de repente, as peças se encaixam. Quando sentir que algo está complicado demais, respire fundo, dê uma pausa e volte com calma depois.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado