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

aula 4.1

Pessoal,

eu estou fazendo aqui porém quando mudo para os && o programa não ler,

minha cláusula where é

no meu console da "Uncaught SyntaxError: Unexpected identifier"

preciso de uma ajudar,

Obrigado

20 respostas

Greison, por favor ponha seu código e explique melhor qual sua duvida pois não consegui compreender bem.

Romário, quando mudo o E para o && comercial, o programa não entendi qual o comando, só entende quando coloco dois IF,

Ponha seu codigo por favor, para eu dar uma olhada

<meta charset = "UTF-8">

var pulalinha = function(){
     document.write("<br>");
};

var mostra = function(frase){
    document.write(frase);
    pulalinha();
    pulalinha();
}

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

var meuimc = calculaimc(1.72, 504);

if(meuimc < 18.5){
    mostra ("seu imc indica que voce está abaixo do peso.");
}

if(meuimc > 35) {
    mostra ("seu imc indica que voce está acima do peso.");
}

if(meuimc > 18.5){ 
     if(meuimc < 35){
        mostra ("seu imc esta entre os dois limites.");
    }  
}    



</script>

esse funciona mais quando coloco assim

var pulalinha = function(){ document.write(""); };

var mostra = function(frase){ document.write(frase); pulalinha(); pulalinha(); }

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

var meuimc = calculaimc(1.72, 504);

if(meuimc < 18.5){ mostra ("seu imc indica que voce está abaixo do peso."); }

if(meuimc > 35) { mostra ("seu imc indica que voce está acima do peso."); }

if(meuimc > 18.5 && meuimc < 35 ){ mostra ("seu imc esta entre os dois limites."); }

não funciona, de acordo com a aula deveria funcionar,

obs: meu OS é windows 7 64 bits utilizo o browser do Chrome.

Greison, a forma como você esta usando o condicional if () esta correta! O certo é dessa forma mesmo:

if(meuimc > 18.5 && meuimc < 35 ){
       ....
}

No entanto, repare os valores que nls valores que você utilizou para calcular o imc vc pos o peso 504, quando deveria ser 60.4 ou ate mesmo 60.

var meuimc = calculaimc(1.72, 504);

Você utilizando o peso 504 perceba que o resultado do calculo do imc dará aproximadamente 170.36 e por isso o seu if () não esta funcionando, pois 170 é maior que 18.5 mas não é menor que 35. Alterando o peso para 60 da seguinte forma:

var meuimc = calculaimc(1.72, 60);

Dai seu imc dará aproximadamente 20 e ele entrará na condição:

if(meuimc > 18.5 && meuimc < 35 ){
       ....
}
solução!

Obrigado Romário, corrigir o erro aqui e funcionou normalmente!

Abraço,

até a próxima

Que bom Greison! Por nada! Qualquer coisa só perguntar no fórum que iremos te ajudar. Bons Estudos!

Lembre-se apenas de fechar o topico! Bons Estudos!

Como fecho o tópico? rsrsrs

Estou praticamente com o mesmo problema... Quando eu troquei o mostra pelo return, não consigo mais identificar o imc.

var calculaIMC = function(altura,peso){ var imc = peso / (altura*altura); return imc; } var meuIMC = calculaIMC(1.73,60);

Assim eu não estou conseguindo completar meu if....

Como assim não esta conseguindo completar o if?

O seu if() ficaria mais ou menos da seguinte forma:

if( meuIMC > 18 && meuIMC < 35 ) {
    mostra ("seu imc esta entre os dois limites.");
}

If tranquilo, o problema seria no return. Ele não mostra o resultado (esta certo?) e depois quando completo os códigos do if, ele não mostra também.

Você está com dúvida na função do return é isso?

isso... o certo é o resultado não aparecer?

Veja bem, o return é utilizado para retornar/devolver resultados em uma função. Você pode se perguntar "Mas como assim devolver?".

Ele devolve o que você colocar no return para que você possa utilizar em alguma outra função, ou em alguma outra parte de seu código. Ele não imprime nada no console ele simplesmente devolve um valor e cabe a você utilizar ou não esse valor para algo que você deseja.

Repare o seu código código:

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

var meuIMC = calculaIMC(1.73, 60);

A sua função calculaIMC realiza o calculo do IMC correto? Mas perceba que você deseja utilizar esse valor para algo fora da função, como por exemplo por em uma condição no if(). Então você faz com que sua função te dê esse valor e para ela fazer isso você utiliza o return.

Para facilitar utilizar esse valor em seu código você o guardou em uma variável chamada meuIMC.

var meuIMC = calculaIMC(1.73, 60);

Então perceba o que aconteceu:

Você chamou a função calculaIMC, ela calculou o valor que você queria e você indicou com a palavra return o valor que você quer que essa função te der. Então você guardou ela na variável e se você fizer : mostra (meuIMC) você verá que aparecerá o valor no console.

ok, então se eu colocar a sequência:

var meuIMC = calculaIMC(1.73,60);

if(meuIMC < 18.5){
    mostra("Seu peso esta a BAIXO do normal!");
}

if(meuIMC > 35){
mostra("Seu peso esta a CIMA do normal!");
} 

if(meuIMC > 18.5 && meuIMC <35){
mostra("O seu peso esta entre os dois pontos!");
}

</script>

Assim era pra apresentar um resultado certo?

Sim. Irá aparecer o resultado "O seu peso esta entre os dois pontos!"

Obrigado. Refiz os código e apareceu tudo corretamente.

Por nada! Qualquer coisa só perguntar.