Цикл – это многократно повторяющиеся фрагменты программ. Алгоритм циклической структуры – это алгоритм, содержащий циклы.
В ТР существует три оператора цикла:
- цикл с предусловием;
- цикл с постусловием;
- цикл с параметром.
Для всех циклов характерны следующие особенности:
- значения переменных используемых в цикле, и не изменяющиеся в нем д.б. определены до входа в цикл;
- вход в цикл возможен только через его начало;
- выход их цикла осуществляется как в результате его естественного окончания, так и с помощью операторов перехода.
Оператор цикла с предусловием в Паскале
Оператор цикла с предусловием реализует следующую базовую конструкцию:
Формат записи:
While L do OP;
где:
While - пока не;
do – выполнить;
L – выражение логического типа;
OP – тело цикла; оператор (простой или составной).
Рис. 9.3. Структурная схема оператора цикла с предусловием
Работа оператора: Вычисляется значение логического выражения, если вычисленное значение истинно, то выполняется оператор OP после чего повторяется проверка условия и выполнение операторов тела цикла. В противном случае осуществляется выход из цикла.
Вычисление значения логического выражения предшествует выполнению операторов тела цикла, поэтому этот оператор цикла называется циклом с предусловием.
Оператор цикла с постусловием в языке Паскаль
Оператор цикла с постусловием реализует следующую конструкцию:
Формат записи:
Repeat
OP
Until L;
где:
Repeat - повторять;
Until – пока не;
L – выражение логического типа;
OP – тело цикла; оператор (простой или составной).
Рис. 9.4. Структурная схема оператора цикла с постусловием
Работа оператора: Выполняется оператор OP после чего вычисляется значение логического выражения L, если вычисленное значение False, то снова выполняется оператор OP в противном случае осуществляется выход из цикла.
Вычисление значения логического выражения следует после выполнения операторов тела цикла, поэтому этот оператор цикла называется циклом с постусловием.
В отличие от цикла с предусловием, в цикле с постусловием тело цикла выполняется о крайней мере один раз не зависимо от условия.
В операторе цикла с постусловием ключевые слова Repeat и Until играют роль операторных скобок.
Оператор цикла с параметром в языке Паскаль
Оператор цикла с параметром реализует следующую базовую конструкцию:
Рис. 9.5. Структурная схема оператора цикла с параметром.
Формат записи:
1. For P:=Pn to Pk do OP;
2. For P:=Pk downto Pn do OP;
где:
For - для;
to – до;
downto – уменьшая до
do – выполнить;
OP – тело цикла; оператор (простой или составной);
P - параметр цикла, переменная порядкового типа;
Pn, Pk – начальное и конечное значение параметра.
Работа оператора: Вычисляется начальное значение параметра цикла Pn и присваивается параметру P. Проверяется условие P?Pk, и если оно Trueвыполняются операторы тела цикла OP . После чего наращивается значение P на единицу и опять проверяется условие P?Pk . Если условие False осуществляется выход из цикла.
В операторе с downto шаг изменения параметра цикла равен –1.
Примеры записи:
For i:=1 to n do n:=sqr(i)+1;
For s:=’A’ to ‘Z’ do R:=R+ord(s)/127;
For L:=False to True do H:= (False or L) And Not (L);