Цикл позволяет многократно выполнить некоторую
последовательность операторов.
Всего существуют три вида циклов:
а)
цикл с предусловием (используют, когда неизвестно число повторений);
б)
цикл с послеусловием (используют, когда неизвестно число повторений);
в)
цикл с параметром (используют, когда известно число повторений).
Цикл с предусловием:
while P do <оператор S>;
1) проверяется значение условия P;
2) если значение условия P истинно (т.е. принимает значение
true), то реализуется оператор S (тело цикла), а затем снова
проверяется значение условия P;
3) тело
цикла выполняется до тех пор,
пока условие P истинно;
4) как только значение условия P станет ложным (т.е.
принимает значение false), то работа цикла заканчивается. Цикл с послеусловием: repeat
<тело цикла>
until P;
1) выполняется
тело цикла;
2) проверяется значение условия P;
3) если значение условия P ложно (т.е. принимает значение false), то снова реализуется серия команд S, составляющая тело цикла;
4) тело
цикла выполняется до тех пор,
пока условие P ложно
5) как только значение условия станет
истинным, работа цикла заканчивается.
Цикл с параметром
а) for
i:=a to b do S
i
– счётчик цикла, S – тело цикла
a – начальное значение счётчика цикла,
b – конечное значение счётчика цикла
Начальное и конечное значения счётчика цикла должны совпадать с типом
счётчика.
·
счётчику
цикла присваивается значение a;
- проверяется
условие a≤ b
- если
условие истинно, то выполняется серия команд S;
- значение
аргумента цикла увеличивается на 1;
- снова
проверяется условие a≤ b
- тело
цикла выполняется до тех пор, пока значение счётчика цикла не станет
равным b+1 (в последний раз серия
команд S выполнится для счётчика цикла, равного b).
б) for i:=a downto b do S
Ø счётчику цикла присваивается значение
a;
Ø проверяется условие a≥ b
Ø если условие истинно, то выполняется
серия команд S;
Ø значение аргумента цикла уменьшается
на 1;
Ø снова проверяется условие a≥ b
Ø тело цикла выполняется до тех пор,
пока значение счётчика цикла не станет равным b-1 (в последний раз серия команд S выполнится для счётчика цикла,
равного b). Более подробный конспект - во вложенном файле
|