Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Счетчик цикла и его граница

Автор: 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 раз...

Автор: Soxatyi 11.03.2006 20:15

2Ozzя, volvo: Понятно, благодарю.