2
respostas

Consolidando meu conhecimento - Dúvida

Olá!

Vou colocar meu código aqui, mas rachei a cabeça pra tentar colocar como o proposto ( var numeroPensado = sorteia(n)) e não consegui achar um meio de deixar a função sorteia DEPENDENDO de "n". Se alguém puder me ajudar, agradeço muito!

<meta charset="UTF-8">
<script>

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

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

var n = parseInt (prompt ("Eu vou pensar em um número inteiro maior que 0 e você deve tentar adivinhar. Digite abaixo o maior número que devo pensar."));

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

var numeroPensado = sorteia()
console.log(numeroPensado)

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

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

} else {
    mostra("Você errou, o número pensado foi " + numeroPensado);
}


</script>
2 respostas

Na verdade, inicialmente consegui fazer o que era proposto sem criar a função SORTEIA. Achei mais complicado criando a função, então devo estar fazendo algo errado que poderia me facilitar a vida rsrs

<meta charset="UTF-8">
<script>

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

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


var n = parseInt (prompt ("Eu vou pensar em um número inteiro maior que 0 e você deve adivinhar. Digite abaixo o maior número que devo pensar."));


var numeroPensado = Math.round(Math.random() * n);
console.log(numeroPensado);


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

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

} else {
    mostra("Você errou, o número pensado foi " + numeroPensado);
}


</script>

Olá Irae, tudo bem contigo?

Peço desculpas pela demora em responder!

Sobre o seu primeiro post:

Para tornar a função sorteia() dependente do valor de n, você pode passar n como um parâmetro para a função. Desta forma, a função pode usar o valor de n que foi passado como argumento em vez de depender da variável global n. Aqui está uma versão modificada do seu código com essa mudança:

<meta charset="UTF-8">
<script>

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

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

var n = parseInt (prompt ("Eu vou pensar em um número inteiro maior que 0 e você deve tentar adivinhar. Digite abaixo o maior número que devo pensar."));

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

var numeroPensado = sorteia(n)
console.log(numeroPensado)

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

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

} else {
    mostra("Você errou, o número pensado foi " + numeroPensado);
}

</script>

Observe que a função sorteia() agora tem um parâmetro max, que é usado em vez da variável global n. Ao chamar a função sorteia(n), o valor de n é passado como o argumento max, o que significa que a função agora usa o valor de n para gerar um número aleatório.

Era isso para a primeira parte. Agora sobre seu segundo post:

Se você conseguiu resolver o problema sem usar a função sorteia(), não há necessidade de criar a função. Criar funções pode ser útil em muitos casos, mas se não é necessário, pode tornar o código mais complicado.

O código que você postou parece estar funcionando corretamente. Ele usa a função Math.random() para gerar um número aleatório entre 0 e 1, que é então multiplicado por n e arredondado para baixo usando Math.round(). O número resultante é armazenado em numeroPensado, e o usuário é solicitado a fazer um chute. Se o chute do usuário corresponder a numeroPensado, uma mensagem de "Você acertou!" é exibida. Caso contrário, uma mensagem de "Você errou, o número pensado foi X" é exibida, onde X é o valor de numeroPensado.

Se você ainda tem alguma dúvida ou se quiser que eu explique algo com mais detalhes, é só perguntar!

Um abraço e bons estudos

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓.