Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по паскалю.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
582.14 Кб
Скачать

7.5. Операторы цикла

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

В языке Паскаль предусмотрено три оператора цикла: оператор цикла с параметром (со счетчиком), оператор цикла с предусловием и оператор цикла с постусловием.

7.5.1. Оператор цикла с параметром

ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ имеет два варианта.

Вариант 1: FOR i:= н_зн ТО к_зн DO оп-р;

где н_зн, к_зн – начальное и конечное значения параметра цикла i или выражения для подсчета этих значений;

оп-р – оператор, называемый в программировании телом цикла.

Первый вариант оператора цикла For выполняется по шагам следующим образом:

  • на первом шаге параметру цикла i присваивается значение н_зн и проверяется условие i<=к_зн;

  • если условие i <= к_зн принимает значение true (истина), то выполняются действия, записанные в теле цикла оп-р, иначе программа выходит за пределы цикла (программа переходит на выполнение следующего оператора, располагающегося после знака «;»);

  • после выполнения действий оп-р программа переходит к следующему шагу, на котором параметру цикла i присваивается следующее по порядку значение (если параметр i в разделе объявлений описан как целое число, то он увеличивается на 1, если параметр i – символьный, то он принимает значение следующего символа в соответствии с кодами символов от 0 до 255, а если параметр i имеет перечислимый тип, то принимает следующее значение в списке объявленных значений) и снова проверяется условие i<=к_зн (см.предыдущий пункт).

Таким образом, на каждом шаге параметр i последовательно принимает значения от н_зн до к_зн и тело цикла оп-р выполняется (к_зн - н_зн +1) раз.

Очевидно, что для корректности работы данного варианта оператора цикла с параметром должно выполняться условие н_зн < к_зн. Если же начальное и конечное значения параметра цикла вычисляются по некоторому алгоритму и окажется, что н_зн > к_зн, то оператор цикла эквивалентен пустому оператору.

Вариант 2: FOR i:= н_зн DOWNТО к_зн DO оп-р;

Во втором варианте оператора For параметру i, принимающему первоначально значение н_зн, на каждом следующем шаге присваивается предыдущее значение, определяемое порядковым типом параметра (для целого числа это значение на 1 меньше, для символьного типа это предыдущий символ по отношению к символу, выбранному на данном шаге).

Для корректности работы второго варианта оператора цикла с параметром должно выполняться условие н_зн > к_зн. Если же начальное и конечное значения параметра цикла вычисляются по некоторому алгоритму и окажется, что н_зн > к_зн, то оператор цикла эквивалентен пустому оператору.

Примечания: