- •Методические указания
- •Содержание
- •1. Организация работы программ на паскале
- •1.1. Организация работы программ линейной структуры
- •1.2. Организация работы программ циклической структуры
- •1.2.1. Оператор цикла с предусловием while ... Do
- •1.2.2. Оператор цикла repeat ... Until
- •1.2.3. Оператор цикла с параметром (со счетчиком) for... Do
- •1.2.4. Вложенные циклы
- •1.3. Организация итерационных циклов в программе
- •2. Задание на лабораторную работу Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •3. Контрольные вопросы к лабораторной работе
- •Библиографический список
- •Методические указания
- •394026 Воронеж, Московский просп., 14
1.2. Организация работы программ циклической структуры
На практике редко удается задать в явном виде все операции, которые должна выполнить программа. Их число или слишком велико, или определяется исходными данными и вообще заранее неизвестно. Необходимо иметь возможность многократно повторять определенные части программы. Для этого предназначен оператор цикла.
Цикл - это многократно выполняемый участок алгоритма или программы. Использование циклов приводит к уменьшению длины программы, сокращению времени на составление и отладку.
В Паскале имеем три вида оператора цикла:
1. Оператор цикла с предусловием - while.
2. Оператор цикла с постусловием - repeat.
3. Оператор цикла с параметром (со счетчиком) - for.
Чаще всего вид оператора определяется не единственным образом. Наиболее универсальным является оператор цикла с предусловием. Простой или составной оператор, содержащийся в цикле, называется телом цикла, а переменная, изменяющаяся в нем, - параметром цикла. В одном цикле может быть несколько параметров.
Условиями циклов служат логические константы, переменные или выражения с логическим результатом. Чтобы избежать бесконечного повторения ("зацикливания"), необходимо изменять в теле цикла хотя бы один параметр, входящий в логическое выражение.
В циклах часто вычисляются суммы и произведения. До сих пор во всех наших программах переменные получали свое значение в результате вычислений или при вводе с клавиатуры. Установка начальных значений переменных обязательно должна предшествовать их использованию в циклах. В противном случае при первом выполнении цикла в операции может участвовать произвольное значение переменной. Более того, эта операция требует тщательного обдумывания и подбора.
Начальному значению суммы s перед циклом обычно присваивается нуль или первое слагаемое. Накапливается сумма путем прибавления очередного слагаемого add к текущей сумме предыдущих слагаемых. Оператор присваивания имеет вид: s : = s + add. Он содержит переменную s в левой и правой частях, что обозначает изменение ее значения при каждом прохождении цикла.
Аналогично накапливается и произведение р с той лишь разницей, что оператор присваивания имеет вид: р : = р * mult, где mult - очередной множитель, а начальному значению произведения перед циклом присваивается единица или первый множитель.
Для всех операторов цикла характерны следующие особенности:
- повторяющиеся вычисления записываются всего лишь один раз;
- вход в цикл возможен только через его начало;
-переменные оператора цикла должны быть определены до входа в циклическую часть;
- нужно предусмотреть выход из цикла. Если этого не сделать, то вычисления будут длиться бесконечно. В этом случае говорят, что произошло «зацикливание». Бесконечный цикл – это циклический участок в алгоритме или программе, в котором не предусмотрены средства выхода из цикла при достижении некоторого условия и который не будет прерван средствами операционной системы;
- процедура Break прерывает выполнение цикла, а процедура Continue начинает новую итерацию цикла, даже если предыдущая не была завершена.