(imc >= 18.5 && imc <= 35)
(18.5 <= imc <= 35)
Executando das duas formas, aparentemente funcionou igual. Posso utilizar qualquer uma das duas?
(imc >= 18.5 && imc <= 35)
(18.5 <= imc <= 35)
Executando das duas formas, aparentemente funcionou igual. Posso utilizar qualquer uma das duas?
Bom dia, Davi! Tudo bem? Acredito que não sejam semelhantes, pois testando seu código obtive os seguintes resultados:
Quando coloco um peso e uma altura que resultarão em um IMC abaixo de 18.5 ele mostra ainda assim mostra a mensagem do bloco do imc no valor recomendado. O correto seria mostrar apenas a mensagem de "Você está abaixo do recomendado".
Ex: Aqui usei a altura sendo 1.71 e o peso sendo 45.
O mesmo acontece quando coloco um peso e uma altura que resultarão em um IMC acima de 35. O correto seria mostrar apenas a mensagem de "Você está acima do recomendado".
Ex: Aqui usei a altura sendo 1.53 e o peso sendo 100.
O código que utilizei para testar os resultados foi o seguinte:
<meta charset = "UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function calculaImc(peso, altura) {
return peso / (altura * altura);
}
var nome = prompt("Informe o seu nome: ");
var alturaInformada = prompt(nome + ", informe a sua altura: ");
var pesoInformado = prompt(nome + ", informe o seu peso: ");;
var imc = calculaImc(pesoInformado, alturaInformada);
mostra(nome + ", o seu IMC calculado é: " + imc);
if(imc > 35) {
mostra("Você está acima do recomendado");
}
if(imc < 18.5) {
mostra("Você está abaixo do recomendado");
}
if(18.5 <= imc <= 35) {
mostra("Você está no recomendado");
}
</script>
Verdade, percebi o erro... Obrigado, Guilherme!
Os códigos são diferentes, principalmente pelo fato da segunda operação utilizar apenas os sinais de <=.
Códigos que você encontrar por aí normalmente irão ter esta estrutura, um variável na esquerda sendo comparada com outra variável ou um valor a direita.
(imc >= 18.5 && imc <= 35)
Obrigado Guilherme, cometi o mesmo erro com:
if(18.5 <= imc <=35) {
mostra("Você esta com IMC dentro dos padrões da OMS")
}
Até agora acreditava que eram semelhantes