Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro IMC

Caros , gostaria de saber qual o meu erro ao construir este algorítimo

insira seu código aqui
6 respostas

Boa noite, o seu código não apareceu, poderia postá-lo novamente?

<meta charset="UTF-8">

<script>

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

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

    function calculaImc(altura, peso) {
    var imc = peso / (altura * altura);
    };

    var IMCGuilherme = calculaImc(1.73,70);
    var IMCAmigo = calculaImc(1.74,77);

    mostra(IMCGuilherme);

    mostra(IMCAmigo);

</script>
<meta charset="UTF-8">

<script>

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

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

    function calculaImc(altura, peso) {
    var imc = peso / (altura * altura);
    };

    var IMCGuilherme = calculaImc(1.73,70);
    var IMCAmigo = calculaImc(1.74,77);

    mostra(IMCGuilherme);

    mostra(IMCAmigo);

</script>
solução!

Olá Guilherme,

Acredito que o problema do seu algoritmo está na função calculaImc; ela não está retornando nenhum valor.

Para seu código funcionar ela deverá ser assim:

<meta charset="UTF-8">

<script>

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

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

    function calculaImc(altura, peso) {
    var imc = peso / (altura * altura);
    return imc; /*Toda vez que você chamar a função ela retorná o valor da variável imc*/
    };

    var IMCGuilherme = calculaImc(1.73,70);
    var IMCAmigo = calculaImc(1.74,77);

    mostra(IMCGuilherme);

    mostra(IMCAmigo);

</script>

Exatamente Sebastião. Conseguiu enxergar Guilherme?

Olá Guilherme,

Encontrei três erro em seu código, que são:

1º - Falta de ; (ponto e virgula) na função pulaLinha() que esta dentro da função mostra.

Correto:

pulaLinha();

2º - ; (ponto e virgula) incorreto na função calculaImc, esta colocando um ; após a } (chave) de fechamento da função.

Correto:

function calculaImc(altura, peso) {
    var imc = peso / (altura * altura);
}

3º - Esta faltando um return na função calculaImc, não esta retornando nenhum valor.

Correto:

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

Código completo e corrigido abaixo:

<meta charset="UTF-8">

<script>

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

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

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

    var IMCGuilherme = calculaImc(1.73,70);
    var IMCAmigo = calculaImc(1.74,77);

    mostra(IMCGuilherme);
    mostra(IMCAmigo);

</script>