Com este primeiro desafio, fiquei um pouco intrigado e curioso com o seguinte... E se eu fosse além do desafio? Sendo assim, gastei algumas horinhas pesquisando na internet mais a fundo sobre este cálculo, afinal, como iria resolver o desafio se nem a fórmula do cálculo de IMC eu sei kkk
Segue abaixo minha resolução para este primeiro tópico. Como sempre, a opinião de quem sabe mais sempre será bem vinda. Espero tirar a dúvida de demais alunos.
Link utilizado para construção deste código
Validando o cálculo desenvolvido:
Desafios:
- 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.
Fórmula para calcular o Índice de Massa Corporal (IMC):
IMC = peso / (altura x altura). O peso deve ser em quilos (Kg) e a altura em metros (m).
Classificação do IMC
- Menor que 18,5: Magreza
- Entre 18,5 e 24,9: Normal
- Entre 25,0 e 29,9: Sobrepeso
- Entre 30,0 e 39,9: Obesidade
- Maior que 40,0: Obesidade Grave
/* Gerando valores aleatórios genéricos */
function gerarAleatorio(min, max) {
return Math.random() * (max - min) + min;
}
/* Gerando uma IDADE entre 18 e 60 aleatória. */
let idade = Math.floor(gerarAleatorio(18, 60));
console.log(`O paciente possui ${idade} anos.`);
/* Gerando um PESO entre 30 e 300 aleatório. */
let peso = Math.floor(gerarAleatorio(30, 250));
console.log(`O paciente tem ${peso} Kg.`);
/* Gerando uma altura entre 1,5m até 1,98m aleatória. */
let altura = gerarAleatorio(1.50, 1.98);
console.log(`O paciente possui ${altura.toFixed(2)}m de altura.`);
/* Calculadora de IMC */
function calculaIMC(peso, altura) {
return peso / (altura * altura);
}
let imc = calculaIMC(peso, altura);
console.log(`O IMC do paciente é de ${imc.toFixed(2)}.`);
/* Classificação do IMC */
function classificaIMC(imc) {
if (imc < 18.5) {
return 'Magreza';
} else if (imc >= 18.5 && imc <= 24.9) {
return 'Normal';
} else if (imc >= 25.0 && imc <= 29.9) {
return 'Sobrepeso';
} else if (imc >= 30.0 && imc <= 39.9) {
return 'Obesidade';
} else {
return 'Obesidade Grave';
}
}
let classificacao = classificaIMC(imc);
/* Exibindo os resultados */
console.log(`${classificacao}!\nO paciente possui ${idade} anos.\nTem ${altura.toFixed(2)}m de altura e pesa ${peso}Kg.\nSeu IMC é de ${imc.toFixed(2)}.`);