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

Posição dos elementos dentro da fórmula

Praticando um pouco sobre as estruturas do JavaScript, percebi algo que me deixou um tanto quanto curioso.

let par = 0;
while (par <= 12) {
  console.log(par);
  par = par + 2;
} 

esse meu código produz o resultado: 0 2 4 6 8 10 12

O mesmo código se eu mudar a posição do console.log com a equação par = par + 2, me apresenta um resultado diferente, sendo ele:

let par = 0;
while (par <= 12) {
  par = par + 2;
  console.log(par);
}   

O resultado: 2 4 6 8 10 12 14 Gostaria de entender o porquê desse comportamento, uma vez que eu acreditava que o resultado seria alterado somente e eu alterasse a condição dentro da função While.

1 resposta
solução!

Oii Daniel, tudo bem?

O que está acontecendo nos seus exemplos é uma questão de ordem de execução dos comandos dentro do bloco de código do loop 'while'.

No primeiro código:

let par = 0;
while (par <= 12) {
  console.log(par);
  par = par + 2;
} 

O que acontece é que, a cada iteração do loop, primeiro é impresso o valor da variável 'par' e depois esse valor é incrementado em 2. Portanto, na primeira iteração, 'par' é 0, então 0 é impresso e, em seguida, 'par' é incrementado para 2. Isso continua até que 'par' seja 12, que é impresso e depois incrementado para 14. No entanto, 14 não satisfaz a condição 'par <= 12', então o loop termina.

No segundo código:

let par = 0;
while (par <= 12) {
  par = par + 2;
  console.log(par);
}   

A ordem dos comandos é invertida. Primeiro, 'par' é incrementado em 2 e, em seguida, o valor é impresso. Isso significa que, na primeira iteração, 'par' é incrementado de 0 para 2 antes de ser impresso. Isso continua até que 'par' seja 12, que é incrementado para 14 e depois impresso. Na próxima iteração, 'par' seria incrementado para 16, mas isso não satisfaz a condição 'par <= 12', então o loop termina.

Então, a ordem dos comandos dentro de um loop (ou qualquer bloco de código) é muito importante e pode alterar o resultado do seu programa.

Espero ter te ajudado.

Um abraço e bons estudos.