3
respostas

Consolidando conhecimento - Aula 5

<script type="text/javascript">
    
        function mostra(mensagem) {

        document.write(mensagem);
        pulaLinha();

    }

    function pulaLinha(argument) {

        document.write("<br>");
        document.write("<br>");

    }

    function calculaImc(altura, peso){

        return peso / (altura * altura);

    }

    mostra("<h2> Calcule seu IMC<h2>");

    var nome = prompt("Informe o seu nome:");
    var pesoInformado = prompt(nome + ", informe sua altura: ");
    var alturaInformada = prompt(nome + ", informe a sua altura: ");

    var anoAtual = 2023;
    
    var imc = calculaImc(pesoInformado, alturaInformada);

    mostra(nome + ",o seu IMC é " + Math.round(imc));

</script>
3 respostas

Oi, Talita, tudo bem?

Muito obrigado por compartilhar seu código. Contudo, tenho algumas sugestões para aperfeiçoar ainda mais seu código.

A primeira é com relação à variável pesoInformado que você escreveu com a mensagem nome + "informe sua altura: ". Seria interessante alterar a palavra altura pela palavra peso, pois caso contrário a pessoa irá adicionar o valor da altura na variável que guarda o valor do peso. Ficaria assim a correção:

var pesoInformado = prompt(nome + ", informe o seu peso: ");

A segunda sugestão se trata da ordem dos parâmetros adicionados na função calculaImc() cujo valor é guardado na variável imc. Os parâmetros estão invertidos com relação à primeira vez que a função foi definida:

function calculaImc(altura, peso){
  return peso / (altura * altura);
}

var imc = calculaImc(pesoInformado,alturaInformada);

Como mostrei acima, ao definir a função os parâmetros são respectivamente altura e peso, mas ao utilizá-la na variável imc eles são invertidos e o cálculo vai utilizar o valor do peso como altura e o valor da altura como peso na realização do cálculo. Para corrigir isso, é necessário escrever os parâmetros da função na ordem em que eles foram definidos, de modo que fique assim:

function calculaImc(altura, peso){
  return peso / (altura * altura);
}

var imc = calculaImc(alturaInformada, pesoInformado);

Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
Realizei a alteração conforme orientado:


<script type="text/javascript">
    
    function mostra(mensagem) {

    document.write(mensagem);
    pulaLinha();

}

function pulaLinha(argument) {

    document.write("<br>");
    document.write("<br>");

}

function calculaImc(altura, peso){

    return peso / (altura * altura);

}

mostra("<h2> Calcule seu IMC<h2>");

var nome = prompt("Informe o seu nome:");
var pesoInformado = prompt(nome + ", informe sua peso: ");
var alturaInformada = prompt(nome + ", informe a sua altura: ");

var imc = calculaImc(alturaInformada, pesoInformado);

mostra(nome + ",o seu IMC é " + Math.round(imc));

</script>

Oi, Talita,

Desculpe a demora em te responder!

Parabéns pelo resultado , ficou excelente!

Continue mergulhando em seus estudos e se tiver dúvidas, conte com o fórum.

Abraços!