1
resposta

Desafio: hora da prática (Explore funções e listas)

function calcularIMC(altura, peso) {
    if (altura <= 0 || peso <= 0) return "Altura e peso devem ser valores positivos.";
    const imc = peso / (altura ** 2);
    return `Seu IMC é: ${imc.toFixed(2)}, Classificação: ${
        imc < 18.5 ? "Abaixo do peso" :
        imc < 25 ? "Peso normal" :
        imc < 30 ? "Acima do peso" : "Obesidade"
    }`;
}

// Teste da função
const altura = 1.65, peso = 67;
console.log(calcularIMC(altura, peso));



//Exercicio 2 - Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.
function calcularFatorial(n) {
    if (n < 0) {
    return "O fatorial não é definido para números negativos.";
    }

    let fatorial = 1;
    for (let i = n; i > 1; i--) {
      fatorial *= i;
    }
    return fatorial;
}
//Teste da função
let numero = 5;
let resultado = calcularFatorial(numero);
console.log(`O fatorial de ${numero} é ${resultado}`);



//Exercicio 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$6,18.
function converterDolarParaReal(dolar){
    let cotacao = 6.18;
    return dolar * cotacao;
}
//Teste da função
let valorEmDolar = 100;
let valorEmReal = converterDolarParaReal(valorEmDolar);
console.log(`R$ ${valorEmReal.toFixed(2)}`);



//Exercicio 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); 
    return `Área: ${area}m², Perímetro: ${perimetro}m`;
}

// Teste da função
let larguraSala = 5;
let alturaSala = 3;

let resultado1 = calcularAreaEPerimetro(larguraSala, alturaSala);
console.log(resultado1);



// Exercicio 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 calcularAreaEPerimetroCirculo(raio) {
    let area = 3.14 * (raio ** 2); 
    let perimetro = 2 * 3.14 * raio; 
    return `Área: ${area.toFixed(2)}m², Perímetro: ${perimetro.toFixed(2)}m`;
}
// Teste da função
let raioSala = 4;

let resultado2 = calcularAreaEPerimetroCirculo(raioSala);
console.log(resultado2);



//Exercicio 6 - Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.
function tabuada(numero) {
    for (let i = 0; i <= 10; i++) {
        console.log(`${numero} x ${i} = ${numero * i}`);
    }
}
//Teste da função
tabuada(5);
1 resposta

Oi Fabio,

Parabéns pelo seu progresso nos desafios! 👏

Seus códigos estão bem estruturados e funcionais.

Gostei da forma como você organizou cada função e seus respectivos testes.

No cálculo do IMC, sua lógica está perfeita, incluindo a validação de entradas com valores positivos. 👍

A função de fatorial também está correta, tratando números negativos adequadamente.

As conversões de moeda e os cálculos de área e perímetro (tanto para retângulos quanto para círculos) estão impecáveis. 💪

A função de tabuada também está ótima, mostrando os resultados de forma clara.

Para saber mais: Documentação da MDN sobre funções em JavaScript

Continue praticando e explorando novas possibilidades! 💻