Oii, Gabriella! Tudo bem?
Agradeço por compartilhar seu código com a comunidade Alura.
Fica tranquila, viu? É super normal sentir que o nível subiu um pouco nesses desafios. Lidar com fórmulas matemáticas e estruturas de repetição (como o while) exige um raciocínio mais detalhado mesmo. O importante é que você buscou entender e conseguiu aplicar conceitos bem avançados, como a formatação de moeda e a quebra de linha.
Vou te ajudar a entender melhor os pontos que você achou mais puxados:
1. O Fatorial e o while
O fatorial parece confuso porque ele "anda para trás", né? No seu código, você usou o numero--, que subtrai 1 a cada volta.
// Se numero for 5:
// 1a volta: resultado (1) * 5 = 5. numero vira 4
// 2a volta: resultado (5) * 4 = 20. numero vira 3
// E assim por diante ate chegar no 1.
2. Retorno em funções
Sobre o exercício do círculo, você comentou que achou que precisava de um return. A regra é simples: se você só quer exibir uma mensagem (com alert ou console.log), não precisa de retorno. Usamos o return quando queremos que o valor calculado seja guardado em uma variável pra ser usado depois em outra parte do programa.
3. A tabuada e o \n
O \n que você usou é um caractere especial de "escape". Ele serve pra dizer ao navegador: "Ei, pula pra linha de baixo!". Sem ele, o alert mostraria todos os números grudados um no outro.
Pra evitar confusões na estrutura da tabuada no futuro, você pode tentar usar o for, que deixa o controle do contador (i) mais visível logo no começo:
function tabuada(numero) {
let resultado = "";
for (let i = 1; i <= 10; i++) {
resultado += numero + " x " + i + " = " + (numero * i) + "\n";
}
alert(resultado);
}
Uma dica legal pra quando bater a dúvida sobre onde colocar cada coisa é desenhar o passo a passo no papel antes de escrever o código. Isso ajuda a visualizar o que o computador precisa fazer primeiro.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!