Sim, é engraçado, parece uma pegadinha. Tenho uma outra pergunta agora. Na mesma página desse livro tem o seguinte exercício.
DICA DO LIVRO: O segredo é pensar assim: na primeira linha queremos apenas uma coluna; na segunda linha queremos duas colunas etc... até a décima linha, que possuirá dez colunas.
Você também precisará de dois loops aninhados. Há duas formas de fazer: uma usando o break para parar de imprimir os asteriscos em cada linha em uma determinada condição, ou colocando essa condição direto dentro
do for.
*
**
***
****
*****
******
*******
********
*********
**********
Consegui imprimir os asteriscos na ordem pedida, porém fiz repetindo o código:
<meta charset="UTF-8">
<script>
function pulaLinha(){
document.write("<br>");
}
function mostra(frase){
document.write(frase);
pulaLinha();
}
for(var linha=1; linha <= 10; linha++){
for(var coluna=1; coluna <= 1; coluna++){
document.write("*");
}
pulaLinha();
for(var coluna=1; coluna <= 2; coluna++){
document.write("*");
}
pulaLinha();
for(var coluna=1; coluna <= 3; coluna++){
document.write("*");
}
pulaLinha();
//ETC...
break;
}
</script>
Acho que deve haver um jeito mais elegante e fácil de fazer isso, colocando alguma condição dentro do for, mas não sei qual. Alguém faz alguma ideia da solução??