3
respostas

Desafio: hora da prática

function calcularIMC(altura, peso) {
    let imc = peso / (altura * altura);
    return imc;
}

// Solicitando ao usuário para digitar altura e peso
let altura = parseFloat(prompt('Digite sua altura em metros:'));
let peso = parseFloat(prompt('Digite seu peso em quilogramas:'));

// Chamando a função com os valores digitados pelo usuário e exibindo o resultado com 2 digitos
let imc = calcularIMC(altura, peso);
console.log(`Seu IMC é: ${imc.tofixed(2)}`);


//2 Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.
function calcularFatorial(numero) {
    if (numero === 0 || numero === 1) {
        return 1;
    } else {
        let fatorial = 1;
        for (let i = 2; i <= numero; i++) {
            fatorial *= i;
        }
        return fatorial;
    }
}
//escolhendo um numero par calcular o fatorial
let numero = parseInt(pronpt('digite um numero maior que 1 ou 0')); 
console.log(`O fatorial de ${numero} é ${calcularFatorial(numero)}`);

//3 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$4,80
function converterDolarParaReal(valorEmDolar) {
    let cotacaoDolar = 4.80;
    let valorEmReal = valorEmDolar * cotacaoDolar;
    return valorEmReal;
}

let valorEmDolar = parseFloat(prompt('digite um valor em dolar para cotação atual 4.80 >>'));
console.log(`O valor de $${valorEmDolar} em reais é R$${converterDolarParaReal(valorEmDolar).toFixed(2)}`);

// 4 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 calcularAreaEPerimetro(largura, altura) {
    let area = largura * altura;
    let perimetro = 2 * (largura + altura);
    
    console.log(`A área da sala é: ${area} metros quadrados.`);
    console.log(`O perímetro da sala é: ${perimetro} metros.`);
}
//mostrando resultados e chamando a função
let altura = parseFloat(prompt('Digite a altura da sala em metros:'));
let largura = parseFloat(prompt('Digite a largura da sala em metros:'));

calcularAreaEPerimetro(largura, altura);

//5 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 AreaEPerimetro(raio) {
    let pi = 3.14;
    let area = pi * raio * raio;
    let perimetro = 2 * pi * raio;

    console.log(`Para um raio de ${raio}:`);
    console.log(`Área: ${area.toFixed(2)} metros quadrados`);
    console.log(`Perímetro: ${perimetro.toFixed(2)} metros`);
}
// O usuário fornece o valor do raio
const raioUsuario = parseFloat(prompt("Digite o raio da sala circular em metros:"));
if ((raioUsuario) && raioUsuario > 0) {
    AreaEPerimetro(raioUsuario);
} else {
    console.log("Por favor, insira um valor válido para o raio."

// 6 Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
function mostrarTabuada(numero) {
    console.log(`Tabuada do ${numero}:`);
    for (let i = 1; i <= 10; i++) {
        console.log(`${numero} x ${i} = ${numero * i}`);
    }
}
const numeroUsuario = parseInt(prompt("Digite um número para ver a tabuada:"));
if ((numeroUsuario)) {
    mostrarTabuada(numeroUsuario);
}


3 respostas

Oi Paulo,

Excelente trabalho ao abordar os desafios! 👍

Notei alguns pequenos detalhes que podem ser aprimorados no seu código.

No cálculo do IMC, você usou toFixed(2) com "f" minúsculo, o correto é toFixed(2) com "F" maiúsculo.

Na função do fatorial, você usou pronpt em vez de prompt. 🤔

Para o cálculo da área e perímetro do círculo, a função foi nomeada AreaEPerimetro, sugiro padronizar para calcularAreaEPerimetroCirculo para melhor clareza.

E por fim, na tabuada, você verificou se o número do usuário é válido, mas não tratou o caso de não ser um número.

Aqui está o código com as correções e sugestões:

// 1. Cálculo do IMC
function calcularIMC(altura, peso) {
    let imc = peso / (altura * altura);
    return imc;
}

let alturaIMC = parseFloat(prompt('Digite sua altura em metros:'));
let peso = parseFloat(prompt('Digite seu peso em quilogramas:'));

let imc = calcularIMC(alturaIMC, peso);
console.log(`Seu IMC é: ${imc.toFixed(2)}`);

// 2. Cálculo do Fatorial
function calcularFatorial(numero) {
    if (numero === 0 || numero === 1) {
        return 1;
    } else {
        let fatorial = 1;
        for (let i = 2; i <= numero; i++) {
            fatorial *= i;
        }
        return fatorial;
    }
}

let numeroFatorial = parseInt(prompt('Digite um número maior que 1 ou 0:'));
if (!isNaN(numeroFatorial)) {
    console.log(`O fatorial de ${numeroFatorial} é ${calcularFatorial(numeroFatorial)}`);
} else {
    console.log("Por favor, insira um número válido para o fatorial.");
}

// 3. Conversão de Dólar para Real
function converterDolarParaReal(valorEmDolar) {
    let cotacaoDolar = 4.80;
    let valorEmReal = valorEmDolar * cotacaoDolar;
    return valorEmReal;
}

let valorEmDolar = parseFloat(prompt('Digite um valor em dólar para cotação atual 4.80:'));
console.log(`O valor de $${valorEmDolar} em reais é R$${converterDolarParaReal(valorEmDolar).toFixed(2)}`);

// 4. Área e Perímetro de Sala Retangular
function calcularAreaEPerimetroRetangulo(largura, altura) {
    let area = largura * altura;
    let perimetro = 2 * (largura + altura);
    
    console.log(`A área da sala é: ${area} metros quadrados.`);
    console.log(`O perímetro da sala é: ${perimetro} metros.`);
}

let alturaRetangulo = parseFloat(prompt('Digite a altura da sala em metros:'));
let larguraRetangulo = parseFloat(prompt('Digite a largura da sala em metros:'));

calcularAreaEPerimetroRetangulo(larguraRetangulo, alturaRetangulo);

// 5. Área e Perímetro de Sala Circular
function calcularAreaEPerimetroCirculo(raio) {
    let pi = 3.14;
    let area = pi * raio * raio;
    let perimetro = 2 * pi * raio;

    console.log(`Para um raio de ${raio}:`);
    console.log(`Área: ${area.toFixed(2)} metros quadrados`);
    console.log(`Perímetro: ${perimetro.toFixed(2)} metros`);
}

const raioUsuario = parseFloat(prompt("Digite o raio da sala circular em metros:"));
if ((raioUsuario) && raioUsuario > 0) {
    calcularAreaEPerimetroCirculo(raioUsuario);
} else {
    console.log("Por favor, insira um valor válido para o raio.");
}

// 6. Tabuada
function mostrarTabuada(numero) {
    console.log(`Tabuada do ${numero}:`);
    for (let i = 1; i <= 10; i++) {
        console.log(`${numero} x ${i} = ${numero * i}`);
    }
}

const numeroUsuario = parseInt(prompt("Digite um número para ver a tabuada:"));
if (!isNaN(numeroUsuario)) {
    mostrarTabuada(numeroUsuario);
} else {
    console.log("Por favor, insira um número válido para a tabuada.");
}

🤓 Para saber mais: Documentação oficial sobre o método toFixed() em JavaScript

Continue praticando e explorando a lógica de programação! 💪

engraçado eu estou usando um site que roda JS para testar os códigos e acabei de fazer um teste usando o "toFixed" com " f " maiúsculo e minúsculo e não gerou erro no site

esse site https://www.programiz.com/javascript/online-compiler/