значения переменных используемых в цикле, и не изменяющиеся в нем д.б. определены до входа в цикл;
вход в цикл возможен только через его начало;
выход их цикла осуществляется как в результате его естественного окончания, так и с помощью операторов перехода.
Оператор цикла применяется при выполнении расчетов или других действий, повторяющихся определенное количество раз. Оператор имеет вид:
For i := N 1 To N 2 Do "оператор";
либо
For i:= N1 DownTo N2 Do " оператор ";
Здесь i - параметр цикла (переменная порядкового типа),
N1, N2 - начальное и конечное значения параметра цикла i.
N1, N2 могут быть константами, переменными или выражениями порядкового типа.
Напомним, что "оператор"может иметь вид: Begin "операторы" end;
Итерационные циклы отличаются от циклов с параметром тем, что в них заранее неизвестно число повторений.
Пусть мы отправляемся за грибами и возвращаемся домой, когда корзина наполнится. Все грибники делятся на 2 категории:
Смотрят, есть ли место в корзине, а уже потом срывают грибы, если их можно поместить в корзину. (Правда, в жизни таких грибников встречать не приходилось)
Сначала срывают грибы, а уже потом думают, как их положить в корзину.
Отсюда получаются два варианта реализации итерационных циклов: с предусловием и с постусловием.
В цикле с предусловием сначала проверяется условие, а потом делается шаг. Грибник придет с полной или почти полной корзиной. В цикле с постусловием – сначала шаг, а потом проверка. Как всякий нормальный грибник, этот принесет полную или слегка переполненную корзину.
Какой алгоритм выбрать? Это зависит от конкретной задачи.
Если, сделав шаг без проверки, можно свалиться в яму, то лучше проверка вначале (как слепой с палочкой). Ну, а если шаг без проверки вас не пугает, то можно отложить ее до завершения шага.
Нужно также проанализировать событие, которого мы ожидаем. Если оно может случиться до первого шага, то нужен цикл с предусловием. А если событие не может случиться до первого шага, то нужен цикл с постусловием.