Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

[Projeto] Olá Estou tendo um problema com o meu código de calculo de IMC . Alquem poderia me ajudar

// Primeiro desafio cria um indice de massa corporal (IMC) e classifica o resultado
// perguntar o peso e a altura do usuario
let peso = parseInt(prompt('qual e seu peso?'));
let altura = parseFloat(prompt('qual e sua altura?'));

// calculo de imc
function CalculoIMC(altura, peso) {
    return peso / (altura * altura);
}
let IMC = CalculoIMC(altura, peso);
console.log(IMC)
//resultado

if(IMC <= 18){
    alert(`seu peso e abaixo do normal`) ;
} else if ( IMC = 22 ) {
    alert(`seu peso esta normal `);
} else if (IMC =25 ){
    alert(` voce estar com sobrepeso`);
}else if (IMC = 30 ){
    alert(`voce tem Obsedade`);
}else if(IMC >= 40) {
    alert(`voce tem peso mortal`);
};

2 respostas

Olá, João. Tudo bem com você?

Seu código apresenta uma boa estrutura inicial para a captura de dados e a criação da função que realiza o cálculo matemático solicitado pelo exercício. Entretanto, existem algumas inconsistências lógicas nas estruturas condicionais que impedem o programa de funcionar como esperado. Nas validações usando else if, você utilizou o operador de atribuição de um único sinal de igual ( = ), o que faz com que o valor do IMC seja modificado em vez de comparado. Para realizar comparações de igualdade em JavaScript, o ideal é utilizar três sinais de igual ( === ), além de ajustar os intervalos numéricos para cobrir todos os valores possíveis entre as faixas de peso.

Como exemplo, para verificar se o IMC está dentro da faixa considerada normal, a instrução correta deve testar um intervalo maior usando operadores lógicos, escrevendo a validação como IMC >= 18.5 && IMC <= 24.9.

Como você poderia reescrever esses blocos condicionais utilizando os operadores lógicos de intervalo para tornar a classificação do IMC mais precisa?

Parabéns pela dedicação ao desenvolver o projeto e por compartilhar sua dúvida, o fórum está sempre à disposição.

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

muito obrigado pela análise técnica Mike de Sousa.