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

[Bug] meu codigo de caucular o IMC nao funciona

<meta charset="UTF=8">

<script>

function pulalinha() {
    document.write("<br>")
    }
function mostra(frase){
    document.write(frase)
    }
function cauculaimc( x, y){
var imc = peso / (altura * altura)
mostra("o imc cauculado é" + imc)
}


cauculaimc(73, 1.78)

</script>
1 resposta
solução!

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!