po 1 pętli a=1 b=3 po 2 pętli a=2 b=6 ?? gdzie jest błąd?
Selenar
Najpierw po założeniu pętli zmienne mają wartość: a=1 b=2
Sprawdzenia warunku pętli 2<=6 (true)
(Iteracja nr 1)
b zwiększa sie o 1: b=3
ale jej wcześniejsza jej wartość zostaje porównania z 2 2>2 (false) drugi warunek koniunkcji jest ignorowany (gdyż i tak będzie false): a zostaje zwiększona o false (o 0) czyli jej wartość nie ulega zmianie, a=1 (koniec iteracji nr 1)
modyfikacja zmiennej z pętli (b+=2) b=5
Sprawdzenie warunku: 5 <= 6 (true)
(Iteracja nr 2)
b zwiększa sie o 1: b=6
ale jej wcześniejsza jej wartość (5) zostaje porównania z 2 5>2 (true)
a zwiększa sie o 1: a=2 teraźniejsza jej wartość (2) zostaje porównana z 1
2>1 (true)
true && true daje true a zwiększa się o 1 (true) a=3 (koniec iteracji nr 2)
modyfikacja zmiennej warunku pętli b=8
sprawdzenie warunku pętli 8<=6 (false) koniec pętli
ostatecznie po zakończeniu pętli zmienne a i b mają wartość: a=3 b=8
a=1
b=2
Sprawdzenia warunku pętli
2<=6 (true)
(Iteracja nr 1)
b zwiększa sie o 1:
b=3
ale jej wcześniejsza jej wartość zostaje porównania z 2
2>2 (false)
drugi warunek koniunkcji jest ignorowany (gdyż i tak będzie false):
a zostaje zwiększona o false (o 0) czyli jej wartość nie ulega zmianie,
a=1
(koniec iteracji nr 1)
modyfikacja zmiennej z pętli (b+=2)
b=5
Sprawdzenie warunku:
5 <= 6 (true)
(Iteracja nr 2)
b zwiększa sie o 1:
b=6
ale jej wcześniejsza jej wartość (5) zostaje porównania z 2
5>2 (true)
a zwiększa sie o 1:
a=2
teraźniejsza jej wartość (2) zostaje porównana z 1
2>1 (true)
true && true daje true
a zwiększa się o 1 (true)
a=3
(koniec iteracji nr 2)
modyfikacja zmiennej warunku pętli
b=8
sprawdzenie warunku pętli
8<=6 (false) koniec pętli
ostatecznie po zakończeniu pętli zmienne a i b mają wartość:
a=3
b=8