Разработка и реализация программ с циклической структурой, страница 2

Подчеркнём, что в отличии от цикла while, тело цикла с постусловием repeat until всегда выполняется хотя бы один раз и его выполнение заканчивается, когда выражение логического типа принимает значение True.

Следует подчеркнуть, что, в отличие от цикла while, тело цикла с постусловием repeat until всегда выполняется хотя бы один раз и его выполнение завершается, если выражение логического типа приобретет значение True.

Оператор цикла с параметром for состоит из:

-  ключевого слова for, за которым идут:

-  параметр цикла;

-  знак присваивания;

-  начальное выражение, которое обозначает начальное значение параметра цикла;

-  ключевое слово to или downto;

-  конечное выражение, которое обозначает конечное значение параметра цикла;

-  ключевое слово do и выполняемый в цикле оператор (простой или составной).

Общий вид оператора цикла for:

for параметр:=выражение1 to {downto} выражение2 do оператор,

где параметр – изменение целого, символьного, логического или перечислительного типа. Параметр цикла (параметр), начальное и конечное выражения (соответственно выражение1 и выражение2) должны быть одного типа.

При выполнении цикла параметр приобретает последовательные значения данного типа в порядке их увеличения (если есть слво to) или уменьшения (если есть слово downto). Количество выполнений тела цикла вычисляется как: выражение2 – выражение1 +1 (если есть слово to) или выражение1 – выражение2 +1 (если есть слово downto). Если в цикле со слвом to (downto) начальное выражение больше (меньше) конечного, то тело цкла не выполнится ни разу. Всередине тела цикла не следует изменять значение параметра цикла, хоть такая замена нефиксируется как ошибка и не влияет на количество выполнений тела цикла. После окончания работы оператора цикла for значение параметра цикла равняется конечному значению

Пример. После выполнения следующего фрагмента программы:

A:=True; X:=5;

for K:=1 to 3 do            {цикл закончится, как только К}

begin                       {примет значение большее 3}

A:=not A; X:=X+2

End

переменная Х примет значение 11, а переменная А – False.