Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio e dúvida

Dúvida No desafio 2 sobre fatorial eu não entendi muito bem, eu pesquisei em python e coloquei em javascript

// // //DESAFIO 1
let altura = parseFloat(prompt('Digite a altura em metros'));
let peso = parseFloat(prompt('Digite o peso em kilogramas'));

function calculoIMC(){
    let calculo = peso / altura ** 2;
    return calculo.toFixed(2);
}

console.log(calculoIMC());

// // // //DESAFIO 2
let numero = parseInt(prompt('Digite um número para calcular o fatorial'));
let fatorial = 1;

function numeroFatorial(){
    while (numero > 1) {
        fatorial = fatorial * numero;
        numero--;
    }
    return fatorial;

}

console.log(numeroFatorial());

// // //DESAFIO 3
let real = parseFloat(prompt('Digite um valor para o real'));
let dolar = parseFloat(4.80);

function converteValor(){
    return real.toFixed(2) / dolar.toFixed(2);
}

console.log(converteValor());

// //DESAFIO 4
let alturaRetangulo = parseFloat(prompt('Digite a altura da sala'));
let largura = parseFloat(prompt('Digite a largura da sala'));

function retanguloPerimetroArea(){
    let area = largura.toFixed(2) * alturaRetangulo.toFixed(2);
    let perimetro = 2 * (largura + alturaRetangulo).toFixed(2);
    return `A área da sala é ${area} e o perímetro da sala é ${perimetro}`;
}

console.log(retanguloPerimetroArea());

// //DESAFIO 5
pi = 3.14;
raio = parseFloat(prompt('Digite o valor do raio do circulo'));

function circuloPerimetroArea(){
    let areaCirculo = pi * raio ** 2;
    let perimetroCirculo = 2 * pi * raio;
    return `A área do circulo é ${areaCirculo} e o perímetro do circulo é ${perimetroCirculo}`;
}

console.log(circuloPerimetroArea());

//DESAFIO 6
let num = parseInt(prompt('Digite um número'));

function tabuada(){
    for (let vezes = 0; vezes < 11; vezes++){
        let tabu = num * vezes;
        console.log(`${num} x ${vezes} = ${tabu}`);
    }
 
}

tabuada();
1 resposta
solução!

João beleza?

Sobre o desafio 2, não entendeu a lógica? Eu vou tentar explicar o que está acontecento com comentários no código.

// // // //DESAFIO 2
<script>
let numero = parseInt(prompt('Digite um número para calcular o fatorial'));
let fatorial = 1; 

// numero fatorial é a multiplicacao do numero por todos os seus antecessores
// Ex: se o numero for 4 então: 4 * 3 * 2 * 1 = 24
// Note que o fatorial inicia com valor 1, porque se fosse zero na primeira vez que passar no loop numero * 0 = 0
// Outro fator importante no while é o numero-- assim como também existe o numero++ e o que são esses caras?
// São uma representação abreviada de numero = numero - 1 ou numero = numero + 1 respectivamente
// Então a leitura do código é a seguinte:
// Enquanto o numero digitado for > 1, multiplique o fatorial pelo numero e decremente 1 do numero
// Se 4 
// Primeira vez fatorial = 4*1 = 4 e numero passa a ser 3
// Segunda vez fatorial = 4*3 = 12 e numero passa a ser 2
// Terceira vez fatorial = 4*2 = 24 e numero passa a ser 1
// Então aqui sai do loop pq já atende a condição do while já que numero = 1
// E é exibido no console o valor 24

function numeroFatorial(){
    while (numero > 1) {
        fatorial = fatorial * numero;
        numero--;
    }
    return fatorial;

}

console.log(numeroFatorial());
</script>