Алгоритмы решения многих задач являются циклическими, т. е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Такие повторяющиеся действия называются циклами и реализуются в программе с использованием инструкций циклов.
Циклические действия (вычисления) могут быть реализованы при помощи 3 видов циклов:
1. Цикл с параметром - инструкция for,
2. Цикл с предусловием - инструкция while,
3. Цикл с постусловием - инструкция repeat.
1. Цикл с параметром. Инструкция for используется, если некоторую последовательность действий надо выполнить несколько раз, причем число повторений заранее известно.
Существует две структуры данного оператора.
В общем виде инструкция for записывается:
1) Увеличение счетчика по возрастанию:
for счетчик: =нач.значение to кон.значение do
Begin
{ последовательность инструкций}
end;
2) Увеличение счетчика по убыванию
for счетчик: =нач.значение downto кон.значение do
Begin
{ последовательность инструкций}
|
|
end;
где счетчик — имя переменной-счетчика числа повторений инструкций цикла;
нач_значение — выражение, определяющее начальное значение переменной-счетчика циклов;
кон_значение — выражение, определяющее конечное значение переменной-счетчика циклов.
Если между begin и end находится только одна инструкция, то слова beginи end можно не писать. Блок-схема цикла с параметром For представлена на рисунке Ж.1.
Рисунок Ж.1 - Блок схема, соответствующая инструкции for
2. Цикл с предусловием. Инструкция while используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время ее работы, т. е. определяется ходом вычисления. Проверка условия осуществляется перед циклом, цикл выполняется, если условие принимает значение True (истина).
В общем виде инструкция while записывается так:
While условие do
Begin
{последовательность инструкций}
end;
где условие – выражение логического типа, определяющее условие выполнения цикла – инструкций, находящихся между Begin и end.
Блок-схема цикла представлена на рисунке Ж.2, логика алгоритма приведена на рисунке Ж.3.
Рисунок Ж.2 –Схема алгоритма, соответствующая инструкции while | Рисунок Ж.3–Логика алгоритма, соответствующая инструкции while |
Обратите внимание:
- для того чтобы инструкции цикла while были выполнены хотя бы один раз, необходимо, чтобы перед выполнением инструкции while условие выполнения цикла было истинно;
- для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.
|
|
3. Цикл с постусловием. Инструкция repeat, как и инструкция while, используется в программе, если надо провести некоторые повторяющиеся вычисления (цикл), однако число повторов во время разработки программы неизвестно и может быть определено только во время работы программы, т. е. определяется ходом вычисления. Первоначально условие принимает значение False (ложь). Цикл выполняется до тех пор, пока условие не станет True (истина).
В общем виде инструкция repeat записывается:
Repeat
{ инструкции }
until условие;
где условие — выражение логического типа, определяющее условие завершения цикла.
Обратите внимание:
- инструкции цикла, находящиеся между repeat и until, всегда будут выполнены хотя бы один раз;
- для того чтобы цикл завершился, необходимо, чтобы инструкции цикла находящиеся между repeat и until,изменяли значения переменных входящих в выражение «условие». Блок-схема – рисунок Ж.4, логика инструкция приведена на рисунке Ж.5.
Рисунок Ж.4–Схема алгоритма, соответствующая инструкции repeat | Рисунок Ж.5–Логика алгоритма, соответствующая инструкции repeat |