Цикл с параметром (for) (PascalABC.NET)
Другое название цикла – цикл со счетчиком. Он также организует повторение цикла фиксированное количество раз, но при этом автоматически увеличивает (или уменьшает) на единицу значение параметра цикла – некоторой переменной, указанной в заголовке цикла. Пределы изменения параметра цикла задаются значениями Выражение1 и Выражение2. Цикл for применяется, если в теле цикла используется значение параметра цикла.
for var ИмяПараметра := Выражение1 to Выражение2 do ТелоЦикла; for var ИмяПараметра := Выражение1 downto Выражение2 do ТелоЦикла;
Выражение1 и Выражение2 должны быть одного порядкового типа, совпадающего с типом параметра цикла или автоматически приводиться к нему. В противном случае компилятор зафиксирует ошибку. Пока примем, что тип всегда будет integer.
Рассмотрим работу оператора цикла с to. Перед первым выполнением тела цикла, параметр цикла получает значение Выражения1. Вычисляется значение Выражения2. Если оно не меньше значения Выражения1, выполняется тело цикла. Затем параметр цикла увеличивается на единицу (делается так называемый шаг). Полученное значение параметра цикла вновь сравнивается со значением Выражения2. Как только значение параметра цикла станет больше значения Выражения2, цикл завершит свое выполнение.
Выражения, определяющие начальное и конечное значение параметра цикла, вычисляются один раз - перед первым входом в цикл. Значение параметра цикла в теле цикла программисту менять запрещено – это ошибка, фиксируемая компилятором.
Цикл с downto отличается тем, что параметр цикла не увеличивается, а уменьшается на единицу. Поэтому тело цикла выполняется лишь пока значение параметра цикла больше или равно значению Выражения2.
Количество выполнений тела цикла k можно получить по несложной формуле: k = |Выражение2 – Выражение1| + 1