Olá Lucas, tudo bem com você?
A lógica está correta, muito bem! O único detalhe, é que dentro da função cauculaimc()
, os parâmetros são x
e y
que, pelo que entendi, se referem ao peso e altura, respectivamente, correto?
Quando passamos parâmetros para uma função, só podemos acessar os valores passados através dos nomes que demos aos parâmetros. Como nesse caso são x
e y
, o JavaScript busca essas variáveis para manipular; no entanto, dentro da função elas não são referenciadas em momento nenhum, são apenas utilizadas as variáveis peso
e altura
.
Para corrigir isso, nós podemos tanto alterar o nome dos parâmetros para se adequar às variáveis da função:
function cauculaimc( peso, altura){
var imc = peso / (altura * altura)
mostra("o imc cauculado é" + imc)
}
Agora o JavaScript vai conseguir identificar quais valores utilizar!
Como podemos alterar os nomes das variáveis para se adequar aos parâmetros da função:
function cauculaimc( x, y){
var imc = x / (y * y)
mostra("o imc cauculado é" + imc)
}
Eu particularmente prefiro a primeira opção, uma vez que é muito mais fácil saber o que cada variável faz quando damos um nome descritivo a elas, é sempre interessante colocar nomes descritivos nas variáveis e evitar variáveis mágicas como x e y. Com qualquer uma dessas mudanças o código deve passar a funcionar!
Em caso de dúvidas, estou à disposição.
Um grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!