Rômulo, é exatamente a persistência que vai sempre te levar ao completo entendimento. Tem que perguntar tudo mesmo.
Vamos lá...
No primeiro loop, a variável serieFibonacci
(que, neste momento, é uma string vazia) receberá o valor dela mesma + o valor da variável atual
+ espaço em branco.
Depois, a variável inteira proximo
receberá o valor da variável anterior
que é 0, mais o valor de atual
que é 1. Ou seja, proximo
agora vale 1.
Por fim, anterior
recebe o valor de atual
que ainda é 1 (anterior
valia 0 e agora vale 1) e atual
recebe o valor de proximo
(atual
valia 1 e permanece como 1).
Até agora, temos o seguinte:
serieFibonacci => "1 "
anterior => 1
atual => 1
proximo => 1
No segundo loop, vamos ver o que ocorre:
A variável serieFibonacci
recebe o valor dela mesmo + o valor de atual que é 1.
proximo
recebe o valor de anterior
(1) + valor de atual
(1), ficando com valor 2.
anterior
(que tem valor 1) recebe o valor de atual (que vale 1), permanecendo como 1.
atual
recebe o valor de próximo, alterando seu valor de 1 para 2.
Neste momento, temos:
serieFibonacci => "1 1 "
anterior => 1
atual => 2
proximo => 2
Nos próximos três loops, ficaria assim:
Loop #3
serieFibonacci => "1 1 2 "
anterior => 2
atual => 3
proximo => 3
Loop #4
serieFibonacci => "1 1 2 3 "
anterior => 3
atual => 5
proximo => 5
Loop #5
serieFibonacci => "1 1 2 3 5 "
anterior => 5
atual => 8
proximo => 8
Consegue enxergar os valores dos próximos loops?