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

Meu código estaria certo assim?

Meu código ficou assim, funcionou certinho. mas vi que você fez diferente e tinha um else, estaria jeito que eu fiz correto? alguma questão em relação ao meu código para eu melhorar?

<meta charset="utf-8">

<script>

    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function sorteia() {
            return Math.round(Math.random() * 10)
    }

    var numeroPensado = sorteia();

    var chute = parseInt(prompt("Digite seu chute!"));

    if(chute == numeroPensado) {
        mostra("Você acertou!");
        mostra("O Número pensado era " + numeroPensado);
    }

    if(chute > numeroPensado) {
        mostra("Você errou! Seu chute foi maior que o número pensado.");
    }

    if (chute < numeroPensado) {
        mostra("Você errou! Seu chute foi menor que o número pensado");
    }

</script>
4 respostas
solução!

Bom dia Felipe!

está correto o seu código!

no caso o uso do else diminuiria a um condicional if, mais nada impede se usar o if

Obrigado, Carlos.

Tirou minha dúvida =D

Oi Felipe, tudo bem?

O else é usado lá no curso simplesmente porque ele mostra a mensagem de erro quando o valor do chute é diferente do pensado, independente de ele ser maior ou menor, diferente do seu caso que separou entre avisar que o valor chutado é maior ou menor do que o pensado.

Uma coisa que eu iria te sugerir era mudar para ao invés de usar três ifs independentes, encadeá-los usando if e else.

Ficaria assim:

    var chute = parseInt(prompt("Digite seu chute!"));

    if (chute == numeroPensado)  {
        mostra("Você acertou!");
        mostra("O Número pensado era " + numeroPensado);
    }  else  if (chute > numeroPensado)  {
        mostra("Você errou! Seu chute foi maior que o número pensado.");
    }  else  {
        mostra("Você errou! Seu chute foi menor que o número pensado");
    }

Note que no caso de o valor ser menor não foi necessário explicitar a condição pois já havíamos encadeado os ifs então ao chegarmos no último else já sabemos que ele não é igual ao valor pensado e também não é maior que ele, portanto ele só pode ser menor. Em casos assim geralmente encadeamos os ifs para ficar mais explícito que as condições que estamos verificando estão relacionadas.

Espero ter ajudado!

Entendi Romão,

Esclareceu bastante minha mente, irei refazer o exercício para fixar ainda mais, obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software