Der Witz ist, dass der Compiler die Zählvariable optimieren kann und aus eimen
for i := 1 to 11 do
intern schonmal zu einem
for i := 10 downto 0 do
wird.
Innerhalb der Schleife würde das beim Zugriff auf diese Variable wieder umgegreht, falls diese Variable überhaupt ausgelesen wird, aber nach der Schleife bleibt
i eventuell bei 0 oder sogar -1 stehen, was man versteht, da das INC/
DEC vor der Abbruchbedingung liegen könnte und der Vergleich mit 0
kürzeren optimaleren Prozessor-Code erzeugt.
Was zwar sein kann (ist mir zwar noch nicht unter gekommen, aber das Gerücht habe ich auch schonmal gehört), allerdings ist es für
for in
-Schleifen ja eh völlig egal, in welcher Reihfolge diese ausgeführt werden. Du kannst ja mal meinen Code durchgehen unter der Prämisse, dass eine
for in
-Schleife immer Rückwärts ausgeführt werden würde, und wirst feststellen, dass es am Ergebnis und der Funktionalität der Routine absolut gar nichts ändert.