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

Calculando IMC

Flávio, ao criar uma função ela não aceita que possamos colocar o mostra e concatenar com o calculaImc?

function calculaImc(altura,peso){
    var imc= peso/(altura*altura); 
}
var meuPeso=70;
var minhaAltura=1.70;

var pesoAmigo=80;
var alturaAmigo=1.80;
//EX:
mostra("O meu IMC é:"+calculaImc(minhaAltura,meuPeso));

mostra("O IMC do meu amigo é:"+calculaImc(alturaAmigo,pesoAmigo));

        //OU

function calculaImc(altura,peso){
    var imc= peso/(altura*altura);
    mostra("texto"+imc) 
}
var meuPeso=70;
var minhaAltura=1.70;

var pesoAmigo=80;
var alturaAmigo=1.80;
//ex:
mostra("O meu IMC é:"+calculaImc(minhaAltura,meuPeso));

mostra("O IMC do meu amigo é:"+calculaImc(alturaAmigo,pesoAmigo));

Para não termos que colocar na função o mostra já com um texto definido. Por que se quisermos colocar o texto; Meu amigo tem o IMC de:.... Ou Fulano tem o IMC de:.... Se quisermos fazer isso com uma lista de 300 pessoas, teriamos que ficar alterando a função???

1 resposta
solução!

Rita,

Faltou você retornar o valor da variável na função. Por exemplo, o código já funcionária adicionando apenas a linha na primeira função:

return imc;

Ficaria assim:

function calculaImc(altura,peso){
    var imc= peso/(altura*altura); 
    return imc;
}
var pesoAmigo=80;
var alturaAmigo=1.80;
//EX:
mostra("O meu IMC é:"+calculaImc(minhaAltura,meuPeso));

mostra("O IMC do meu amigo é:"+calculaImc(alturaAmigo,pesoAmigo));

Na segunda opção, você poderia passar o texto por parâmetro da função também:

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

A primeira opção é melhor, coloquei a segunda para te mostrar todas as possibilidades.