Boa noite, Renato! Como vai?
Uma observação não-técnica e sim simplesmente sobre o problema que vc está resolvendo com seu código é que ao utilizar o Math.round()
pra arredondar o resultado, embora tenha sido uma ideia legal, faz com que o resultado final do IMC possa acabar sendo algo incorreto! Veja só, se o valor do IMC for 24,5
, com o arredondamento esse valor passará a ser 25
. Mas, de acordo com a tabela do IMC (que pode ser vista a seguir), a pessoa estaria "acima do peso" quando na realidade, o resultado correto deveria indicar "peso normal". E esse problema acontece justamente por causa do arredondamento.
Resultado Situação
Entre 18,5 e 24,99 Peso normal
Entre 25 e 29,99 Acima do peso
Entre 30 e 34,99 Obesidade I
Entre 35 e 39,99 Obesidade II (severa)
Outra observação, agora técnica, é que ao fazer isso:
var totalImc = calculaImc(prompt("Qual o altura?"),
prompt("Qual o peso?"))
+ calculaImc(prompt("Qual a altura2?"), prompt("Qual o peso2"));
Vc acaba por perder legibilidade e semântica no seu código. Quem bate o olho nessa linha tem que parar uns instantes pra analisar e entender o que está sendo feito. Agora, veja só o mesmo código escrito dessa outra forma:
var altura1 = prompt("Qual o altura?");
var peso1 = prompt("Qual o peso?");
var imc1 = calculaImc(altura1, peso1);
var altura2 = prompt("Qual o altura?");
var peso2 = prompt("Qual o peso?");
var imc2 = calculaImc(altura2, peso2);
var totalImc = imc1 + imc2;
Bem mais legível e semântico! Dessa forma, vc ou outra pessoa qualquer bate o olho no código e entende o que cada coisa significa! E isso traz um outro ganho: manutenibilidade, que é uma importante característica inerente a um projeto de sistema ou produto, e se refere à facilidade, precisão, segurança e economia na execução de ações de manutenção nesse sistema ou produto. Dessa forma, fica aqui um...
Aprendizado para a vida: Nem sempre escrever um código com menos linhas é o melhor! A gente precisa saber dosar isso com a qualidade do código escrito! E quando digo qualidade, me refiro a legibilidade, semântica, manutenibilidade e diversos outros pontos. Afinal de contas, precisamos ter em mente que hj aquele código está sendo escrito por nós, mas dali algum tempo, outra pessoa (ou nós mesmos) teremos que mexer nele e essa tarefa tem que ser facilitada o máximo possível!
Grande abraço e bons estudos!