1
resposta

Tabuada - Pequena melhoria e dúvida em relação ao for!

Para praticar e aprender mais, decidi ajustar um pouco da tabuada. Pedi para o usuário especificar de qual número ele quer ver a tabuada, para então mostrarmos na tela o número que ele pediu. Além disso, também vamos mostrar o cálculo de cada número, e não apenas o resultado. O código funcionou! Segue o código abaixo, e depois dele a minha dúvida:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    var numero = parseInt(prompt("De qual número você quer saber a tabuada?"));
    mostra("Mostrando a tabuada de " + numero + "!");

    for(var multiplicador = 1; multiplicador <= 10; multiplicador++) {

        mostra(numero + " X " + multiplicador + " = " + (numero * multiplicador));

    }

    mostra("FIM!");

</script>

Eu gostaria de saber se há alguma forma considerada mais correta de fazer isso. É possível declarar a variável numero dentro dos parênteses do for, de alguma forma? Quando tentei inserir ela antes da variável multiplicador, dentro do for, o código deu erro.

mostra("Mostrando a tabuada de " + numero + "!");

E em relação a este mostra, também está no lugar correto, fora do for? Se eu coloco ele junto do outro mostra, ele vai repetir essa mensagem em todas as 10 vezes.

1 resposta

Não podemos declarar uma varíavel de controle dentro de uma função de repetição, por exemplo:

for(var multiplicador =1 ....) { mostra(numero...) }

ou

var multiplicador = 1 for(multiplicador <= 10) { mostra(numero + " X " + multiplicador + " = " + (numero * multiplicador)); multiplicador = multiplicador + 1 }

para que o programa rode, é necessário que a varíavel num já esteja definida para que ele possa saber o que realizar em seguida, então a sua varíavel de controle (no seu caso multiplicador) precisa ser definida antes, mas pode sofrer alterações conforme o multiplicador= ++.

E por ultimo o mostra do tabuada é questão de preferência, se quer que mostre várias vezes ou somente uma.