Falta pouco!

0 dias

0 horas

0 min

0 seg

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

[Resolução] Desafio: Reiniciando o Jogo

Boa tarde!
Segue a minha resolução do desafio... Tive muita dificuldade para fazer a parte do fatorial, e tive que pesquisar para conseguir resolver... Mesmo com um pouco de dificuldade, eu consegui resolver os demais. Caso tenham alguma sugestão para me ajudar nos estudos, estou à disposição para ouvir e aprender!

// Crie uma função que calcule o índice de massa corporal (IMC) de uma pessoa, a partir de sua altura, em metros, e peso, em quilogramas, que serão recebidos como parâmetro.
function calcularIMC() {
    let peso = parseFloat(prompt("Digite o seu peso"));
    let altura = parseFloat(prompt("Digite a sua altura"));

    let imc = (peso / (altura * altura)).toFixed(2);
    alert(`Seu IMC é de: ${imc}`);
}

// Crie uma função que calcule o valor do fatorial de um número passado como parâmetro
function calcularFatorial(valor) {
    if (valor === 0 || valor === 1) {
        return 1;
    }
    let fatorial = 1;
    for (let i = 2; i <= valor; i++) {
        fatorial *= i;
    }
    return fatorial;
}

function promptFatorial() {
    let valor = parseInt(prompt("Digite o número desejado:"));
    if (isNaN(valor) || valor < 0) {
        alert("Digite um número válido e não negativo");
        return;
    }
    let resultado = calcularFatorial(valor);
    alert(`O fatorial de ${valor} é ${resultado}`);
}

// Crie uma função que converte um valor em dólar, passado como parâmetro, e retorna o valor equivalente em reais. Para isso, considere a cotação do dólar igual a R$5,44.
function dolarHoje() {
    const valorDolar = parseFloat(prompt("Digite o valor em Dolar para a conversão"));
    if (isNaN(valorDolar)){
        alert("Digite um número valido");
        return;
    }
    const cotacaoDolar = 5.44;
    const valorReal = (valorDolar * cotacaoDolar).toFixed(2);
    alert(`$${valorDolar} valem R$${valorReal}`);
}

// Crie uma função que mostre na tela a área e o perímetro de uma sala retangular, utilizando altura e largura que serão dadas como parâmetro.
function areaPerimetro() {
    let comprimento = parseFloat(prompt("Qual o comprimento da sala?"));
    let largura = parseFloat(prompt("Qual a largura da sala?"));
    let area = comprimento * largura
    let perimetro = 2 * (comprimento + largura);
    alert(`Área da sala: ${area}m²`);
    alert(`Perímetro da sala: ${perimetro}m`);
}

// Crie uma função que mostre na tela a área e o perímetro de uma sala circular, utilizando seu raio que será fornecido como parâmetro. Considere Pi = 3,14.
function salaCircular() {
    let raio = parseFloat(prompt("Qual o raio da sala?"))
    area = (Math.PI * (raio * raio)).toFixed(2);
    perimetro = (2 * Math.PI * raio).toFixed(2);
    alert(`Área da sala: ${area}m²`);
    alert(`Perímetro da sala: ${perimetro}m`);
}

// Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
function tabuada() {
    let tabuada = parseInt(prompt("Digite o número para a tabuada: "));
    for (numero = 1; numero <= 10; numero++){
        let resultado = tabuada * numero;
        console.log(`${tabuada} x ${numero} = ${resultado}`);
    }
}
2 respostas
solução!

Oi, Estudante! Como vai?

Agradeço por compartilhar seu código.

Gostei bastante da forma como você organizou suas funções, principalmente o cálculo do fatorial, que mesmo sendo desafiador você conseguiu estruturar de maneira clara e eficiente.

Uma dica interessante para o futuro é usar while quando precisar repetir algo até uma condição ser atingida. Veja este exemplo:


let contador = 1;
while (contador <= 5) {
    console.log("Numero: " + contador);
    contador++;
}

Esse código imprime os números de 1 até 5 no console.

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

Bom dia! Tudo bem?
Eu confesso que de inicio eu havia feito usando o while, mas quando eu fui olhar a resolução vi que tinham feito usando o for, e por isso tentei dessa forma... Até fiquei com uma dúvida, se eu deveria dar preferência pelo while ou pelo for, ou em quais tipos de situações eu deveria usar eles.
Agradeço pelo retorno!