Оператор повтора Repeat
Часто при программировании циклов заранее невозможно определить число необходимых итераций или приближений. Поэтому при решении таких задач применяется не цикл со счетчиком (или с параметром), а цикл с постусловием, называемый иначе итеративным, или итерационным. В языке Паскаль для организации цикла с постусловием имеется специальный оператор Repeat … Until, проверяющий условие окончания цикла.
Формат
Repeat
<оператор;>
<оператор;>
. . .
<оператор >
Until <условие>;
Блок-схема оператора повтора Repeatпредставлена на рис. 3. Условие – это выражение булевского типа, при котором цикл заканчивается. Операторы, заключенные между словами Repeat и Until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат выражения имеет значение FALSE, тело цикла выполняется еще раз, если результат имеет значение TRUE – происходит выход из цикла.
Вход
Выход
Рисунок 3 – Блок-схема оператора Repeat | Оператор Repeat имеет три характерные особенности: цикл выполняется по крайней мере хотя бы один раз; в теле цикла может находиться произвольное число операторов без операторных скобок begin ... end; тело цикла выполняется, пока условие ложно. По крайней мере, один из операторов, находящихся в теле цикла, должен влиять на значение условия, иначе цикл будет бесконечным. Пример: i:=4; Repeat Write(I:2); i:=i+1 Until I>7; Результат: 5, 6, 7, 8 |
Таким образом, первой особенностью такого цикла является то, что заранее неизвестно число его повторений. Второй особенностью итерационного цикла является то, что тело цикла должно располагаться до проверки условия окончания (или повторения) цикла.
Дата добавления: 2019-02-07; просмотров: 408;