Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo fazer com que o imc apareça no local indicado pelo correto, ele apenas aparece quando coloco o texto inteiro dentro da função.

<meta charset="UTF-8">

<h1>Calculo IMC</h1>

<script>

function linhasP(){

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

}

function mostra(Frase){
    document.write(Frase);
    linhasP();
}

var pesoA = 95 ;
var alturaA = 1.61 ;
calculaImc(95, 1.61);
;

var pesoB = 90 ;
var alturaB = 1.61 ;
calculaImc(90, 1.61);
;

function calculaImc(peso, altura){

    var imc = peso/(altura * altura);

}

mostra("Para calcular o IMC de um ser humano adulto precisamos do seu peso e altura")

mostra("O calculo correspode em dividir o peso pela altura ao quadrado ")    

mostra("No exemplo abaixo a pessoa tem o peso " + pesoA + " quilos e sua altura " + alturaA + " centimetros")

mostra("O valor do IMC é igual á " + imc)

mostra("Caso há pessoa tem o peso " + pesoB + " quilos e sua altura " + alturaB + " centimetros")

mostra("O valor do IMC ficara igual á " +imc)


</script>
1 resposta
solução!

Olá, Carla! Tudo bem?

Uma maneira de solucionar isso é utilizando um return na função calculaIMC. Como iremos relacionar essa função a mais de uma variável essa é uma alternativa pertinente. Veja:

function calculaImc(peso, altura){

    return peso/(altura * altura);

}

Dessa forma podemos atribuir o valor do IMC para diferentes alturas e pesos. Usaremos da seguinte maneira:

var pesoA = 95 ;
var alturaA = 1.61 ;
var imcA = calculaImc(pesoA, alturaA);

var pesoB = 90 ;
var alturaB = 1.61 ;
var imcB = calculaImc(pesoB, alturaB);

Quando chamarmos a função mostra, no trecho que utilizamos os valores do IMC teremos:

mostra("O valor do IMC é igual á " + imcA)
mostra("O valor do IMC ficara igual á " + imcB)

Também posso deixar uma dica. É possível utilizar o arredondamento ou limitar o número de casas decimais do seu resultado.

  • Utilizando o arredondamento:
    mostra("O valor do IMC é igual á " + Math.round(imcA))
  • Limitando o número de casas decimais:
    mostra("O valor do IMC é igual á " + imcA.toFixed(2))
    Espero ter ajudado. Caso eu não tenha deixado claro, estou à disposição.

Continue praticando :)

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!