1
resposta

O programa segue dando a resposta errada, onde pode estar o meu erro?

<meta charset="UTF-8">

<script>

    function pulaLinha(){

        document.write("<br>");

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }    

    function sorteia(n){

        return (Math.round(Math.random) * n)
    }

    var numeroPensado = sorteia(10);
    var chute = parseInt(prompt("Qual o número pensado?"));

    if(chute == numeroPensado) {

        mostra("Você acertou!");
    }
    if(chute <= numeroPensado){

        mostra("Você errou, o número pensado é maior");

    }else {

        mostra("Você errou, o número pensado é menor");
    }

</script>

###

Após escrever o código todo e aplicar o resultado no navegador, a única resposta é que o numero é menor mesmo estando igual ao programado. Onde posso ter errado?

1 resposta

Olá, seu código está errado. Na função "sorteia" deveria ser return Math.round(Math.random() * 10); Pois estava dando erro de NaN (Not a Number) porque não tem como multiplicar um número por uma letra, segue o código corrigido:

<meta charset="UTF-8">

<script>

    function pulaLinha(){

        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }    

    function sorteia(n) {

        return  Math.round(Math.random() * 10) 

    }


    var numeroPensado = sorteia();
    var chute = parseInt(prompt("Qual o número pensado?"));


    if(chute == numeroPensado) {

        mostra("Você acertou!");

    }

    if(chute < numeroPensado){

        mostra("Você errou, o número pensado é maior");

    } if (chute > numeroPensado) {

        mostra("Você errou, o número pensado é menor")
    }

</script>