1
resposta

[Dúvida] Meus códigos


```Confesso que achei esses exercícios bem mais difíceis, Precisei de ajuda para resolver e não entendi algumas coisas muito bem

Esse primeiro foi tranquilo
``
    function imc(peso, altura) {
    return peso / (altura * altura);
}
console.log(imc(60, 1.56));``


Esse aqui já achei mais difícil 
``
function fatorial(numero) {
    let resultado = 1;

    while (numero > 1) {
        resultado = resultado * numero;
        numero--;
    }

    return resultado;
}
console.log(fatorial(5)); ``


Esse tive que pesquisar como colocar em valor monetário pq não sabia 
``function converter(valor) {
    let resultado = valor * 4.80;

    return resultado.toLocaleString('pt-BR', {
        style: 'currency', currency: 'BRL'
    });
}
console.log(converter(10));``


Esse foi mais tranquilo tbm
``function calculos(altura, largura) {
    let area = altura * largura;
    let perimetro = 2 * (altura + largura);

    alert(`A área da sala é ${area}m2 e o perímetro é ${perimetro} m.`);
}
calculos(5, 10);``

Esse aqui achei q tinha que colocar um retorno
``function circulo(raio) {
    let area = 3.14 * (raio * raio);
    let perimetro = 2 * 3.14 * raio;
    alert(`A área do círculo é ${area} e o perímetro é ${perimetro}`);
}
circulo(2);``

Esse aqui eu me compliquei mais tbm na questão da estrutura, onde colocar cada coisa, essa quabra de linha que não conhecia...
``function tabuada(numero) {
    let i = 1;
    let resultado = "";

    while (i <= 10) {
        resultado += (`${numero} x ${i} = ${numero * i}\n`);
        i++;
    }
    alert(resultado);
}
tabuada(5);``
1 resposta

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.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!