3
respostas

Dúvida - enunciado

Sobre o enunciado do desafio " 1 - Você pode criar uma função sorteia que recebe um número n e sorteia um número entre 0 a n, retornando esse valor. " fiquei com muita dúvida pois pensei que precisaria criar no código :

if (n >0 == n <=100) {mostra("Uau!Parabens, você acertou ") e quando fui ler a resposta não entendi o raciocínio totalmente. Poderiam me elucidar?

3 respostas

Olá Renata. Não sei se estou correto, mas a organização da lógica nessa condicional parece confusa. Não vi no curso, até o momento usar o "==" como comparativo entre duas condicionais lógicas (n>0 e n<=100), não me parece correta essa construção. Outro ponto, vamos ler o que está escrito. Se "n" é maior que zero e "n" é menor ou igual a 100, qualquer número digitado entre zero e cem, será verdadeiro, acionando o bloco de código do if. Bons estudos.

Você fala em relação a expressão Math.round(Math.random() * n)? A função Math.random() gera um número quase aleatório de 0 a 1 com várias casas decimais e a função Math.round() arredonda um valor para o inteiro mais próximo. Ao multiplicar o resultado de Math.random() por algum número, na prática, é como se você estivesse aumentando o intervalo da função, ao invés de ser 0 a 1, passa a ser 0 ao número que você multiplicar. Alguns exemplos de resultado da função Math.random()

0.1634572209174876

0.7259037107606607

0.5294814219247872

Alguns exemplos de Math.random() vezes 5

3.7321341604848444

2.457479134402667

1.281221581491644

Obrigada a todos! Tive dificuldade em entender que o "n" era eu quem escolhia e não era 100 como do inicio do enunciado.

Também achei que deveria criar If para sorteia de 0 a n.

Só depois com a ajuda da professora que percebi meus erros e entendi que o resultado do calculo Math.round(Math.random( ) * n é que PODERIA dar 0 e não n ser 0. Foram 2 dias pensando nesse problema pra depois descobrir que era mais fácil que imaginava. Minha solução e raciocínio ficou assim :

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

    function pulaLinha() {

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

    function mostra(frase) {

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

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


    var numeroPensado = sorteia (15);
    // n == 15
    //var numeroPensado = Math.round(Math.random ()* n)
    //var numeroPensado = Math.round(Math.random() * 100);

    var chute = parseInt(prompt("Já pensei. Qual número você acha que é?"));

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } // else {

      //  mostra("Você errou! Eu tinha pensado no " + numeroPensado);
  //  }

    if (chute > numeroPensado) {
        mostra("Você errou para mais, o número que pensei foi " + numeroPensado);
  }
  else {
        mostra("Você errou para menos. o número que pensei foi " + numeroPensado);
     }

</script>

Obrigada a todos e Professora Ellen Pimental da One, espero estar correto apesar de ver que depois poderia ter usado Else no final, mas nao altera o resultado

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