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

[Dúvida] Os cálculos não saem corretamente (e outros erros)

1 - 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.

Os cálculos dessa etapa não estão saindo corretos

function calcularImc(pesoKg, alturaM) {
    calculo = pesoKg / alturaM^2
    resultado = calculo
    console.log(resultado)
    return resultado
}

calcularImc(87, 1,85)

2 - Crie uma função que calcule o valor do fatorial de um número passado como parâmetro.

*Travei na hora de fazer essa parte e eu não entendi a explicação disponibilizada no GitHub. Se alguém puder me explicar, ficarei muito grato

Obs: explique como você explicaria para uma criança de 5 anos haha**.

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.

Os resultados não estão aparecendo no console, então não consegui verificar se os cálculos estavam corretos.

function coversorDolarParaReal(valorEmDolar) {
    let cotaçaoDolar = 4.80
    let conversaoParaReal = cotaçaoDolar * valorEmDolar
    return conversaoParaReal
}

conversaoParaReal(20)

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.

Os resultados não estão aparecendo no console, então não consegui verificar se os cálculos estavam corretos.

function perimetroAreaDaSalaRetangular(base, lado) { 
    let calculoPerimetro = (base + lado) * 2
    let resultadoPerimetro = calculoPerimetro;
    
    let calculoArea = base * lado;
    let = resultadoArea;
    console.log(`O perimetro da sala é ${resultadoPerimetro}m.`);
    console.log(`A área da sala é ${resultadoArea}m²`);
}

perimetroAreaDaSalaRetangular(20, 15);

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 perimetroAreaDoCirculo(π, r) { 
    let calculoPerimetro = 2 * π * r
    let resultadoPerimetro = calculoPerimetro;
    
    let calculoArea = π * r^2;
    let = resultadoArea;
    console.log(`O perimetro do círculo é ${resultadoPerimetro}m.`);
    console.log(`A área do círculo é ${resultadoArea}m²`);
}

perimetroAreaDoCirculo(20, 15);

6 - Crie uma função que mostre na tela a tabuada de um número dado como parâmetro.

let numero2 = 1

function gerarTabuada(numeroParametro) {
    let tabuada = numeroParametro * numero2
    while (numero2 <= 10) {
        tabuada = numeroParametro * numero2
        numero2++
        console.log(tabuada)
    }
}

gerarTabuada(2)
2 respostas
solução!

Vamos corrigir e melhorar cada uma das suas funções conforme solicitado:

1. Função para calcular o Índice de Massa Corporal (IMC)

Você cometeu um pequeno erro ao usar o operador de exponenciação. Em JavaScript, você deve usar ** em vez de ^. Além disso, vamos adicionar uma variável let para declarar a variável calculo.

function calcularImc(pesoKg, alturaM) {
    let calculo = pesoKg / (alturaM ** 2);
    console.log(calculo);
    return calculo;
}

calcularImc(87, 1.85);

2. Função para calcular o fatorial de um número

Para explicar o cálculo do fatorial de forma simples: o fatorial de um número é o produto de todos os números inteiros positivos menores ou iguais a esse número. Por exemplo, o fatorial de 5 (5!) é 5 * 4 * 3 * 2 * 1.

function calcularFatorial(numero) {
    if (numero === 0 || numero === 1) {
        return 1;
    }
    let resultado = 1;
    for (let i = 2; i <= numero; i++) {
        resultado *= i;
    }
    return resultado;
}

console.log(calcularFatorial(5)); // 120

3. Função para converter dólar para real

A função estava quase correta, mas o nome da função de conversão não estava sendo chamado corretamente.

function conversorDolarParaReal(valorEmDolar) {
    let cotacaoDolar = 4.80;
    let conversaoParaReal = cotacaoDolar * valorEmDolar;
    console.log(conversaoParaReal);
    return conversaoParaReal;
}

conversorDolarParaReal(20); // 96

4. Função para calcular área e perímetro de uma sala retangular

Havia um erro ao tentar declarar a variável resultadoArea sem atribuir valor.

function perimetroAreaDaSalaRetangular(base, altura) { 
    let calculoPerimetro = (base + altura) * 2;
    let resultadoPerimetro = calculoPerimetro;
    
    let calculoArea = base * altura;
    let resultadoArea = calculoArea;
    
    console.log(`O perímetro da sala é ${resultadoPerimetro}m.`);
    console.log(`A área da sala é ${resultadoArea}m²`);
}

perimetroAreaDaSalaRetangular(20, 15); // Perímetro: 70m, Área: 300m²

5. Função para calcular área e perímetro de um círculo

Para a área, o operador de exponenciação deve ser **, não ^.

function perimetroAreaDoCirculo(raio) { 
    const pi = 3.14;
    let calculoPerimetro = 2 * pi * raio;
    let resultadoPerimetro = calculoPerimetro;
    
    let calculoArea = pi * (raio ** 2);
    let resultadoArea = calculoArea;
    
    console.log(`O perímetro do círculo é ${resultadoPerimetro}m.`);
    console.log(`A área do círculo é ${resultadoArea}m²`);
}

perimetroAreaDoCirculo(15); // Perímetro: 94.2m, Área: 706.5m²

6. Função para gerar a tabuada de um número

Aqui, precisamos declarar numero2 dentro da função para que ela seja reiniciada a cada chamada da função.

function gerarTabuada(numeroParametro) {
    for (let numero2 = 1; numero2 <= 10; numero2++) {
        let tabuada = numeroParametro * numero2;
        console.log(`${numeroParametro} x ${numero2} = ${tabuada}`);
    }
}

gerarTabuada(2); // Exibe a tabuada do 2

Com estas correções, todas as suas funções devem funcionar corretamente e exibir os resultados esperados no console.

Muito obrigado pela ajuda, Carlos!

Ainda sobre a etapa 2 do desafio, eu entendo o que é a fatoração, mas não entendi a lógica por trás dessa sequência de códigos.