1
resposta

Outra alternativa - Melhorando programa de IMC

Olá, pessoal! Gostaria de compartilhar com vocês uma uma outra alternativa de escrever o código, mas com a mesma função da aula passada e, de quebra, gostaria de tirar uma dúvida com vocês!

Código;

function pulaLinha() {
    document.write ("<br><br>");
}

function mostrar(frase) {
    document.write(frase);
    pulaLinha();
}

 function calcularImc(peso, altura) {

    let imc = peso / (altura * altura);
     return imc.toFixed(2);
 }

//Aqui é o x da questão, eu estava utilizando o "parseInt", porém o resultado estava sendo impresso incorreto,
//e mesmo que eu não utilizasse nenhum deles, o resultado seria impresso corretamente. Mas por quê?

 let nome = prompt("Qual é o seu nome?");
 let pesoInformado = parseFloat(prompt("Qual é o seu peso?"));
 let alturaInformada = parseFloat(prompt("Qual é a sua altura?"));

 let imc = calcularImc(pesoInformado, alturaInformada);
 mostrar(nome + ", o seu IMC é: " + imc);

 if (imc < 18.5) {
    mostrar(nome + ", você tá só pele e osso!");
 }
 else if (imc >= 18.5 && imc < 35) {
    mostrar(nome + ", você tá bem na fita!");
 }
 else {
    mostrar(nome + ", bora fazer um regime?");
 }

Valeu, team! =)

1 resposta

Olá Thalys, tudo bem?

Parabéns pelo desenvolvimento do exercício!! Obrigado por compartilhar conosco sua alternativa de código para calcular o IMC. É sempre bom ver diferentes formas de resolver um mesmo problema.

Sobre sua dúvida:

Aqui é o x da questão, eu estava utilizando o "parseInt", porém o resultado estava sendo impresso incorreto

O parseInt é utilizado para converter uma string em um número inteiro. Já o parseFloat é utilizado para converter uma string em um número decimal. No seu caso, como o peso e a altura podem ser números decimais, o correto é utilizar o parseFloat.

Quanto à sua observação:

"Mesmo que eu não utilizasse nenhum deles, o resultado seria impresso corretamente. Mas por quê?"

Isso ocorre porque o JavaScript é uma linguagem dinâmica, ou seja, ela consegue identificar o tipo de dado automaticamente. No entanto, é sempre recomendado utilizar a conversão de tipos de dados para evitar possíveis erros. (Assim como você fez utilizando parseFloat)

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓