Essa dúvida surgiu não nesse exercício, mas me lembrei de abrir esse tópico agora.
Ao executar o calculo do IMC, eu, ao invés de realizar o cálculo com altura*altura
eu fiz (altura^2)
obtendo resultados diferentes.
Não entendi bem ao certo o porque, uma vez que um numero ao quadrado é igual a multiplicação desse número por ele mesmo.
Alguém poderia me ajudar a entender o porque da diferença? pode até ser muito obvio, mas não consegui ver do que se trata.
De qualquer forma segue informações do código testado.
Os valores informados para
peso = 82 e
altura = 1.78,
os resultados obtidos foram
imc1 = 25.88057063502083 ,
imc2 =27.333333333333332.
<meta charset="utf-8">
<script>
function calculaImc1(peso, altura){
return peso / (altura*altura);
}
function calculaImc2(peso, altura){
return peso / (altura^2);
}
var nome = prompt("Digite o seu nome: ");
var peso = prompt(nome + ", digite seu peso ");
var altura = prompt(nome + ", digite sua altura ");
imc1 = calculaImc1( peso , altura );
imc2 = calculaImc2( peso , altura );
document.write(nome + ", seu IMC é " + imc1 + ".<br>");
document.write(nome + ", seu IMC é " + imc2 + ".<br>");
</script>