Conforme ensinado em - Do for para o while!:
É comum usarmos o zero para iniciar um laço de repetição. Isso nos trará vantagens quando, nas próximas atividades, formos trabalhar com Array's. Mas preste atenção, quando usamos o zero para iniciar uma repetição, precisamos substituir o sinal do limitador (espaco2), de <=
(menor igual) para apenas <
(menor), pois o zero conta como primeiro elemento dentro do laço.
A ideia é que o laço deve se repetir 10 vezes, se trocarmos o valor de i* por *zero e mantermos o <=, o laço irá se repetir 11 vezes! Dito isso, temos o seguinte código: -
for( var i = 0; i < 10; i++ ) {
alert( "O resultado é " + (2 * i) );
**Então fiz conforme solicitado:**
var i = 0;
while (i < 10) {
alert("O resultado é: " + (2 * i));
i = i + 1;
}
Porém o resultado foi até o 18 era para ir até o 20 (já que é tabuada de 2 multiplicada até o 10.
Testei algumas opções e percebi que incluindo novamente o "=" (mesmo sendo o "0" na variável) dá o resultado esperado. OU seja, ele multiplica até o 2x10=20.
<meta charset="UTF-8">
<script>
var i = 0;
while (i <= 10) {
alert("O resultado é: " + (2 * i));
i = i + 1;
}
</script>
Por que ele conta 9 vezes ao invés de 10? Já que lá no texto do professor ele diz que o laço se repetiria 10 vezes quando a variável é "0" (para início de repetição) e o sinal do limitador vem sem o sinal "="?