Цикл. Виды Циклов
Циклом называется многократное повторение последовательности действий. Телом же цикла будем называть те самые действия, которые нужно многократно повторять.
Повторять одни и те же действия можно и при помощи оператора безусловного перехода, если записать эти действия в программе одно за другим, а в конце поставить оператор перехода к началу этого блока. Однако таким образом можно получить только программу, которая работает вечно (зацикливается). Этого можно избежать, используя совместно с оператором перехода условный оператор, поставив выполнение перехода в зависимость от выполнения некого условия. Таким образом, мы получим структуру условного перехода и возможность организации конечного цикла. Вообще говоря, так мы можем решить практически любую задачу, требующую реализации циклического алгоритма. Конечно же, при помощи одного только топора можно построить дом. Но сколько времени и сил можно сэкономить, используя всевозможные специальные инструменты. Создатель языка Паскаль Н. Вирт также задался этими вопросами и решил их в пользу расширения языка тремя специальными возможностями организации циклов. Итак, существует три вида цикла, имеющих собственные операторы на языке Паскаль для их записи. Эти виды имеют собственные условные названия: «Пока», «До», «С параметром». Друг от друга они несколько отличаются и используются каждый для своего класса задач.
Цикл «ПОКА»
В группе «начальные присваивания» обязательно должно быть присвоение начального значение параметру цикла.
Группа операторов, называемая «телом цикла», судя по этой схеме, будет выполняться пока истинно условие цикла. Выход из цикла произойдет, когда условие станет ложным.
Если условие ложно изначально, то тело цикла не будет выполнено ни разу. Если условие изначально истинно и в теле цикла нет действий, влияющих на истинность этого условия, то тело цикла будет выполняться бесконечное количество раз. Такая ситуация называется «зацикливанием». Прервать зациклившуюся программу может либо пользователь (нажав Ctrl+Break), либо аварийный останов самой программы, в случае переполнения переменной, деления на ноль и т. п. Поэтому использовать структуру цикла следует с осторожностью, хорошо понимая, что многократное выполнение должно когда-нибудь заканчиваться.
На языке Pascal структура цикла «Пока» записывается следующим
образом:
While <условие> Do <оператор>;
Правда, лаконично? По-русски можно прочитать так: «Пока истинно условие, выполнять оператор». Здесь, так же, как в формате условного оператора, подразумевается выполнение только одного оператора. Если необходимо выполнить несколько действий, то может быть использован составной оператор. Тогда формат оператора принимает такой вид:
While <условие> Do Begin
<оператор 1>;
<оператор 2>;
<оператор 3>;
. . .
End;
Цикл «ДО»
Этот вид цикла отличается от предыдущего в основном тем, что проверка условия повторения тела цикла находится не перед ним, а после. Поэтому цикл «До» называют циклом «с постусловием», а «Пока» – «с предусловием».
Обратите также внимание на то, что новая итерация (повторное выполнение тела цикла) происходит не тогда, когда условие справедливо, а как раз тогда, когда оно ложно. Поэтому цикл и получил свое название (выполнять тело цикла до выполнения соответствующего условия).
В случае, когда условие цикла изначально истинно, тело цикла все равно будет выполнено хотя бы один раз. Именно это отличие «До» от «Пока» привело к тому, что в программировании они не подменяют друг друга, а используются для решения задач, к которым они более подходят.
Формат цикла на языке Pascal:
Repeat
<оператор 1>;
<оператор 2>;
<оператор 3>;
. . .
Until <условие>;
Читается так: «Выполнять оператор 1, оператор 2. и т. д. до выполнения условия».
Здесь не требуется использование составного оператора, потому что сами слова Repeat и Until являются операторными скобками.
Дата добавления: 2015-08-08; просмотров: 2662;