Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O código está correto assim também?

<meta charset = "UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");

    }

    function mostra(frase) {

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

    for (var linha = 1; linha <= 3; linha++) {

        for (var coluna = 0; coluna = 9; coluna++) {
            document.write("*");
        }
        pulaLinha();
    }


</script>

Vejam que meu segundo FOR a variável coluna começa do 0 e vai até 9. O professor resolveu a questão fazendo o FOR coluna recebendo 1 e a coluna sendo <= 10. Ambos deram o mesmo resultado (que foi a impressão de 10 caracteres asteriscos). Ambas as soluções estão corretas?

1 resposta
solução!

Olá Carlos, tudo bem?

Esse código que você postou possui um erro no for da coluna: Perceba que está faltando um < ali.

for (var coluna = 0; coluna = 9; coluna++) {
            document.write("*");
        }

O correto seria:

for (var coluna = 0; coluna <= 9; coluna++) {
            document.write("*");
        }

Percebo que sua lógica está certa, foi mais um pequeno erro de atenção.

Quanto a sua pergunta, sim, ambas estão corretas. Tanto de 0 a 9, quanto de 1 a 10, a quantidade de repetições do for será a mesma: 10 vezes.

Atente-se aos sinais onde:

for (var coluna = 0; coluna <= 9; coluna++) {
            document.write("*");
        }

é diferente de:

for (var coluna = 0; coluna < 9; coluna++) {
            document.write("*");
        }

Na primeira opção será repetido dez vezes o laço for, enquanto na segunda opção será repetido apenas 9.

Espero ter tirado sua dúvida, Abraços, Marcus.