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

Não está clara a necessidade da função Sorteia( )

Para este código do exercício, se eu não vou pedir para o usuário digitar o n*, e já defini que a *var numeroPensado = sorteia( será 10 ). Qual a necessidade de criar a function sorteia( ) aqui? Não seria a mesma coisa que usar:

var numeroPensado = Math.round(Math.random()*10);

Praticando, fiz os dois destes abaixo, com e sem a criação da função sorteia () e funcionaram:

teste 1

<meta charset="utf-8">

<script type="text/javascript">

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

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

var n = parseInt(prompt("Informe até que número a faixa que pretente arriscar vaia. Ex. até 10, 20, 100.."))    

var numeroPensado = Math.round(Math.random()*n);
var chute = parseInt(prompt("Já pensei num número entre 0 e " + n + "! Qual você acha que é?"));

if (chute == numeroPensado) {
    mostra("Parabéns! Você acertou, o numero que havia pensado é " + numeroPensado);
}else {
    if(chute>numeroPensado) {
        mostra("Você errou! Seu chute foi maior que o número pensado que foi " + numeroPensado + ".");
    }else {
        mostra("Você errou! Seu chute foi menor que o número pensado que foi " + numeroPensado + ".");
    }
}

</script>

teste 2

<meta charset="utf-8">

<script type="text/javascript">

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

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

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

var n = parseInt(prompt("Informe até que número a faixa que pretente arriscar vaia. Ex. até 10, 20, 100.."))    

var numeroPensado = sorteia(n);
var chute = parseInt(prompt("Já pensei num número entre 0 e " + n + "! Qual você acha que é?"));

if (chute == numeroPensado) {
    mostra("Parabéns! Você acertou, o numero que havia pensado é " + numeroPensado);
}else {
    if(chute>numeroPensado) {
        mostra("Você errou! Seu chute foi maior que o número pensado que foi " + numeroPensado + ".");
    }else {
        mostra("Você errou! Seu chute foi menor que o número pensado que foi " + numeroPensado + ".");
    }
}

</script>

Minha conclusão foi de que a criação da function sorteia ( ) foi apenas para explorarmos mais o uso das funções. É isso?

Obrigado!

2 respostas

Fala Felipe! Tudo bem?

A criação de funções é melhor aplicada quando pensamos efetivamente se aquele é um processo isolado e que pode ser modularizado afim de ser aproveitado em outros momentos. O "sorteio" foi considerado um destes processos. Isso é feito pois, caso você resolva tornar este processo "isolável" mais complexo depois, só precisará alterá-lo em um ponto do código. Além disso, o código fica mais legível.

Mas você não está completamente errado quanto ao uso não óbvio de uma função apenas para nos familiarizarmos com o conceito. Neste caso realmente ficou estranho, mas num ponto mais à diante no curso talvez se explique.

Espero que tenha ajudado!

solução!

Perfeito. Muito obrigado pelo esclarecimento.

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