Основы программирования в среде Турбо Паскаль 7.0. Величины в Турбо Паскале. Линейные вычислительные процессы, страница 10

В общем случае каждый цикл имеет следующие элементы: 1) начальные установки; 2) тело цикла; 3) операция модификации параметра – обязательный элемент тела цикла; 4) условие повторения или прекращения повторений тела цикла.

Начальные установки – это совокупность операций, подготавливающих выполнение тела цикла. Обычно в начальных установках осуществляется обнуление счётчиков и сумм, присваивается начальное значения параметру цикла.

Операция модификации параметра – это действие, изменяющее текущее значение параметра цикла. Она является частью тела цикла, и выделяется в самостоятельный элемент в силу особой важности. Без изменения параметра произойдёт зацикливание процесса, – неуправляемое («бесконечное») повторение тела цикла. Прервать такое повторение можно только вмешательством программиста, например, нажатием клавиш Ctrl+Break или Ctrl+С. При этом произойдёт искусственное прерывание процесса выполнения программы и её останов.

Условие повторения или прекращения повторений тела цикла синтаксически представляет собой выражение логического типа, содержащее параметр цикла. Очень часто это операция отношения, сравнивающая параметр цикла с некоторой величиной.

В теории алгоритмов различают три разновидности реализации циклов: 1) циклы с предусловием; 2) циклы с постусловием; 3) циклы с параметром (управляющей переменной).

В схемах алгоритмов циклы изображается либо с помощью обычного блока ветвления (блок «Решение»), либо с помощью блока, называемого в ГОСТ 19.701-90 «Граница цикла», и состоящего из двух частей, – отображающих начало и конец цикла. В учебной литературе циклы с параметром часто изображаются по устаревшему стандарту с помощью блока, называемого в ГОСТ 19.701-90 «Подготовка».

17

В программах на языке Паскаль циклы с предусловием, с постусловием и с параметром реализуются с помощью операторов while, repeat и for соответственно.

2. Оператор цикла while

Назначение: организация циклического вычислительного процесса с предусловием.

Синтаксическая форма оператора:

while e do s

где while, do – зарезервированные слова; e – выражение логического типа; s – одиночный оператор.

Изображение оператора в схеме алгоритма:

Действие оператора:

1)  вычисляется выражение e;

2)  если получено логическое значение True, то выполняется оператор s, после чего осуществляется переход на пункт 1 (к вычислению e);

3)  если получено логическое значение False, то действие оператора while заканчивается и управление передаётся оператору, следующему за оператором while.

Замечания.

a.  Выражение e в алгоритмах программ называют условием повторения цикла, а оператор s – телом цикла.

b.  Оператор while организует выполнение одного оператора заранее неизвестное количество раз.

c.  Поскольку выражение e вычисляется до выполнения оператора

s, организуемый цикл называется циклом с предусловием. Он отличается тем, что оператор тела цикла s может не выполниться ни разу.

d.  Если в теле цикла необходимо разместить не один, а несколько операторов, то необходимо использовать составной оператор.

e.  Безусловное использование составного оператора в теле цикла является стилистической нормой.

f.  Для избежания зацикливания (цикл бесконечно повторяется) те-

18

ло цикла обязательно должно содержать оператор, изменяющий значение хотя бы одной переменной, входящей в условие повторения цикла.

3. Оператор цикла repeat

Назначение: организация циклического вычислительного процесса с постусловием.

Синтаксическая форма оператора:

repeat s1; s2;

L sk;

until e

где repeat, until – зарезервированные слова; e – выражение логического типа; s1, s2, , sk – одиночные операторы.

Изображение оператора в схеме алгоритма:

Действие оператора:

1)  последовательно выполняются операторы s1, s2, , sk;

2)  вычисляется выражение e;

3)  если получено логическое значение True, то действие оператора repeat заканчивается и управление передаётся оператору, следующему за оператором repeat;

4)  если получено логическое значение False, то осуществляется переход на пункт 1 (к выполнению операторов s1, s2, , sk).