Форум «Всё о Паскале» _ Теоретические вопросы _ Счетчик цикла и его граница
Автор: Soxatyi 11.03.2006 19:49
var i:integer; begin i:=10; for i:=1 to i do write(i); readln; end.
Можете объяснить, почему это работает? По логике, начальное значение i сменяется присвоением i:=1, и цикл должен прогоняться всего лишь один раз. Тем не менее, этот код работает не так и цикл проходит 10 раз. Почему?
Автор: Ozzя 11.03.2006 20:08
Цитата
начальное значение i сменяется присвоением i:=1
Нет, иначе. Повторения идут от первого значения (i:=1 ) до последнего (i=10)
Автор: volvo 11.03.2006 20:10
Цитата
По логике, начальное значение i сменяется присвоением i:=1, и цикл должен прогоняться всего лишь один раз.
Неправда... Сначала запоминаются начальное и конечное значение цикла, и только потом начинается присвоение i := 1, то есть цикл в любом случае будет прогоняться 10 раз...