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.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
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.