Olá novamente, então, acho que achei o erro!
Compare:
var i = 0;
while(i <= 100) {
i = i + 2;
mostra("<br>" + i);
Veja que no teu programa:
Primeiro: ele garante que a variável é <=100.
Segundo: caso seja verdade ele soma +2 a variável.
Terceiro: escreve no console o resultado.
Dessa forma, quando i=100, ele verá que é verdadeiro ( 100 <= 100), somará 2, e mostrará no console o valor 102. Neste caso, a solução que eu lhe disse funcionará !
Agora no programa do nosso colega:
var pares = 2;
var limite = 100
while( pares <= limite ) {
mostra("OS numeros pares sao " + pares);
pares = pares + 2;
}
Repare que o programa dele fará as ações em outra ordem.
Primeiro: verá se a condição é verdadeira.
Segundo: escreverá o valor da variável no console.
Terceiro: somará +2 ao valor da variável.
Dessa forma, a variável no programa dele também atinge o valor de 102, porém este valor nunca é escrito no console.
Aqui, se fizessemos a alteração que eu sugeri, substituir <= por <, o programa iria apenas escrever até o número 98, uma vez que este escreve no console ANTES de fazer a soma.
Veja também que a variável dele começa com 2, e mesmo assim aparecerá no console. Visto que ele mostrará o valor antes de soma-lo.
Caso você trocasse sua variável para 2, o primeiro valor do console é 4, uma vez que ele primeiro soma e depois escreve.
O problema está na ordem de execução das linhas.
Acho que é isso, espero que eu tenha sido claro e que esteja certo kkk.