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

Avaliação de Código.

Olá! :))

Fiz um código um pouco diferente pra essa aula, tem algo que poderia ser melhorado? Em questão de legibilidade e funcionalidade?

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(texto1) {
        document.write(texto1);
        pulaLinha();
    }
    function pedeImc() {
        var peso = parseInt(prompt("Digite o seu peso: "));
        var altura = parseFloat(prompt("Digite sua altura em cemtimetros: "));
        var imc = peso / (altura * altura);
        return imc
    }

    var nome = prompt("Digite seu nome: ")
    var imc = pedeImc();
    mostra(nome + ". O seu IMC é de " + Math.round(imc) + ".");

    if (imc < 18.5) {
        mostra("E ele está abaixo do recomendado.");
    }
    if (imc > 35) {
        mostra("E ele está acima do recomendado.");
    }
    if (imc >= 18.5 && imc <= 35){
            mostra("E ele está excelente!");
    }

</script>
4 respostas

Oi Kaio, tranquilo?

Seu código está certinho. Bem legível também, aliás :)

Oi Kaio quando você informa que a altura deve ser informada em centímetros, eu como usuário entendi que seria 174 (ignorando os pontos) e meu imc deu 0, ou seja se você quer uma entrada do tipo 1.74(deveria informar informe sua altura Ex: 1.62 ou algo semelhante) mas pra frente em outros cursos vemos outras formas de captar essas entradas com expressões regulares.

Além disso daria pra dar uma otimizada aqui:

    if (imc > 35) {
        mostra("E ele está acima do recomendado.");
     } else if (imc >= 18.5 && imc <= 35){
        mostra("E ele está excelente!");
     } else {
        mostra("E ele está abaixo do recomendado.");
     }

Espero ter ajudado e bons estudos.

Oi Maison, obrigado pelas explicações!

Só uma dúvida, qual a diferença do "else if" pro "else"?

solução!

Oi Kaio, com else if (Senão se) ele só vai checar a condição se a condição acima (do if )for falsa caso ele já tenha caído no primeiro if ele vai pular o else if.

No caso do IMC Temos um intervalo de valores onde só podemos assumir um tipo de intervalo, então se ele não está no primeiro intervalo, está no segundo ou terceiro, se não está no segundo então está no terceiro. Não precisamos checar cada intervalo no primeiro que ele atender ele encerra.

Espero ter ajudado e bons estudos.