2
respostas

com relação ao return , gostaria de uma breve explanação com relação a função "n

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

    function pulaLinha() {

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }
    function sorteia(n){

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

    var numeroPensado = sorteia(10);

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

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } if ( chute < numeroPensado){

        mostra(" voce errou , o numero ta abaixo do valor real " + numeroPensado);
    } 
    if (chute > numeroPensado){

        mostra("voce errou o numero ta maior que o humero real " + numeroPensado);
    }

</script>
2 respostas

Oi Isnard, parece que seu tópico foi duplicado, vou deixar o link do tópico principal aqui pra gente centralizar a dúvida em um só, tá bem?

Ai quem preferir, pode acompanhar lá.

Link: https://cursos.alura.com.br/forum/topico-com-relacao-ao-return-gostaria-de-uma-breve-explanacao-com-relacao-a-funcao-n-e-sem-abusar-muito-como-deixar-o-codigo-mais-enxuto-70764

Duplicado não triplicado :)

Oi isnard santos neto a função não é n, a função é sorteia esse é o nome da função, o parâmetro que você escolheu se chama n, e poderia ser qualquer nome, esse parâmetro representa dentro do contexto da função o número máximo a ser sorteado randomicamente pela nossa função Math.random, quando você passa nessa linha:

  var numeroPensado = sorteia(10);

Você está dizendo que quer um número sorteado até 10, e é isso que a função retorna pra quem a chamar um número sorteado com a função Math.random e arredondado pelo função Math.round ou seja esse número vai vim inteiro. e a nossa variável numeroPensado é quem vai armazenar esse retorno, ou seja o resultado dessa função.

Quanto a deixar o código mais enxuto, eu vejo muitas dúvidas aqui no fórum nesse sentido de vez em quando até dou uma dicas, mas gostaria de salientar que nesse curso de lógica o refinamento não é tão importante, você precisa entender sim, como funciona uma função o return como é o processamento da função, mas refinamento vem com o tempo, com a prática, em outros cursos você vai aprender mais recursos da linguagem que vão te possibilitar dar mais refinamento ao seu código, ok, sem pressa pessoal :) Ainda tem um paradigma

codigo enxuto x código legível

Eu vou deixar uma dica mais como eu disse não se prenda muito nisso:

  if(chute == numeroPensado) 
        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    else if ( chute < numeroPensado)
        mostra(" voce errou , o numero ta abaixo do valor real " + numeroPensado);
    else 
        mostra("voce errou o numero ta maior que o humero real " + numeroPensado);

Como o if só tem uma instrução você pode omitir as chaves e como são 3 hipoteses diferentes você pode usar a combinação if, else if e else.

Espero ter ajudado e bons estudos.