1
resposta

[Dúvida] Como melhorar esta programação?

Boa tarde! Tudo bem? Fiz uma programação com a intenção de ajudar o professor, fazendo uma "colinha" de notas através de tarefas realizadas; porém quando cheguei na parte de regularizar a língua portuguesa, cheguei em uma dúvida que só resolvi dessa forma.

<meta charset="UTF-8">
<h1> .................................................... Média de tarefa....................................................... </h1>

<script>

    function pularLinha() {

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

    function escrever(texto) {

        document.write("<h3>" + texto + "</h3>");

    }

    var numeroTarefas = prompt("Quantas tarefas foram realizadas durante o trimestre?")
    const nota = 10

    function listaDeNotas(tarefasFeitas) {


        var media = (nota/numeroTarefas * tarefasFeitas)
        var mediaArredondada = media.toFixed(2);

        escrever("Com " + tarefasFeitas + " Tarefas realizadas = " + mediaArredondada);
    }

    function listaDeNotas01(tarefaFeita) {

        var media = (nota/numeroTarefas * tarefaFeita)
        var mediaArredondada = media.toFixed(2);

        escrever("Com " + tarefaFeita + " Tarefa realizada = " + mediaArredondada);
    }

    for(var contagem = 0; contagem <= numeroTarefas; contagem ++) {

        if(contagem <= 1) {

            listaDeNotas01(contagem);
        }

        if(contagem > 1)  {

            listaDeNotas(contagem);
        }
    }

</script>

Alguem poderia me ajudar a melhorar esta programação, jogando o "if" dentro da função? Pois quando eu colocava ele não mudava a nomenclatura;

<meta charset="UTF-8">
<h1> .................................................... Média de tarefa....................................................... </h1>

<script>

    function pularLinha() {

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

    function escrever(texto) {

        document.write("<h3>" + texto + "</h3>");

    }

    var numeroTarefas = prompt("Quantas tarefas foram realizadas durante o trimestre?")


    function listaDeNotas(tarefasFeitas) {

        const nota = 10
        var media = (nota/numeroTarefas * tarefasFeitas)
        var mediaArredondada = media.toFixed(2);

        if(numeroTarefas < 2) {
        escrever("Com " + tarefasFeitas + " Tarefa realizada = " + mediaArredondada);
        }

        if(numeroTarefas >= 2) {
        escrever("Com " + tarefasFeitas + " Tarefas realizadas = " + mediaArredondada);
        }
    }

    for(var contagem = 0; contagem <= numeroTarefas; contagem ++) {

    listaDeNotas(contagem);

    }

Essa era minha anterior que não funcionava corretamente.

1 resposta

Olá Shaian, tudo bem sim, obrigado por perguntar!

Sobre a sua dúvida, acredito que a solução que você encontrou é bem interessante. Para jogar o "if" dentro da função, você pode fazer da seguinte forma:

function listaDeNotas(tarefasFeitas) {

    const nota = 10
    var media = (nota/numeroTarefas * tarefasFeitas)
    var mediaArredondada = media.toFixed(2);

    if(tarefasFeitas < 2) {
        escrever("Com " + tarefasFeitas + " Tarefa realizada = " + mediaArredondada);
    } else {
        escrever("Com " + tarefasFeitas + " Tarefas realizadas = " + mediaArredondada);
    }
}

Assim, você pode remover o "if" do loop e deixar a função responsável por essa verificação. Além disso, utilizei o parâmetro "tarefasFeitas" ao invés de "numeroTarefas" para realizar a comparação.

Espero ter ajudado e bons estudos!