Циклічні програми

Циклічними програмами називають програми, в яких реалізовано команди циклу.
У Паскалі передбачено три різновиди операторів циклу: цикл із передумовою, цикл з післяумовою, цикл із лічильником (із покроковою зміною аргументу). Також реалізована робота із вкладеними циклами. Вкладені цик­ли — циклічні процеси, що допускають укладеність одних циклів в інші.
Цикл із передумовою (або цикл-«поки») — це цикл, у якому тіло циклу виконується тільки у разі виконання умови, заданої перед тілом циклу. Якщо умова стає невірною, то робота циклу припиняється і керування передається оператору, наступному за оператором циклу.
На мові Паскаль оператор циклу з перед­умовою ще називається «циклом While-Do».
WHILE <умова> DO <оператор>;
Приклад: обчислення суми перших 100 натуральних чисел методом послідовного додавання.
m:=1; S: =0;
WHILE m<=100 DO
begin
S:=S+m;
m:=m+1;
end;
Цикл із післяумовою (або цикл-«до») — це цикл, у якому тіло циклу виконується доти, поки умова, задана після тіла циклу, не стане правильною. Якщо умова стає правильною, то робота циклу припиняється й управління передається оператору, наступному за оператором циклу.
На мові Паскаль оператор циклу з після­умовою ще називається «цикл Repeat-Until».
REPEAT <оператор> UNTIL <умова>;
Приклад: обчислення суми перших 100 натуральних чисел методом послідовного додавання.
m:= 0; S: = 0;
REPEAT
m:=m +1;
S:=S+m;
UNTIL m >= 100;
Цикл із лічильником (із покроковою зміною аргумен­ту) — це цикл, у якому тіло циклу виконується заздалегідь відому кількість разів. У різних алгоритмічних мовах реалізація цього циклу може передбачати використання аргументів різних типів, зміну аргументу на різний крок, діапазон зміни аргументу і т. д.
Цикл із лічильником аргументу реалізовується таким чином:
1) аргументу надається початкове значення;
2) якщо значення входить у заданий діапазон, то виконується тіло циклу;
3) аргумент змінюється на заданий крок; виконується 2);
4) якщо значення не входить у заданий діапазон, то виконання циклу припиняється і керування передається оператору, наступному за оператором циклу.
У мові Паскаль реалізовано два оператори циклу з покроковою зміною аргументу: «цикл For-То» і «цикл For-DownТо».
FOR <лічильник циклу>:=<початкове значення> TO <кінцеве значення >DO<оператор>; (цикл з кроком 1),
FOR <лічильник циклу>:=<початкове значення>DOWNTO <кінцеве значення >DO<оператор>; (цикл з кроком –1),
де <лічильник циклу> — змінна порядкового типу,
<початкове значення> і <кінцеве значен­ня> — вирази того самого типу, що і <лічильник циклу> (діапазон зміни лічильника циклу),
<оператор> — простий або складовий оператор.
Приклади: обчислення суми перших 100 натуральних чисел методом послідовного додавання.
а) S: =0;
for m:=1 to 100 do
S:=S+m;
б) S: =0;
for m:=100 downto 1 do
S:=S+m;
Під час реалізації циклу з покроковою зміною аргументу в Паскалі необхідно заздалегідь знати про кількість повторень тіла циклу і пам’ятати про можливість зміни лічильника циклу тільки на 1 або –1.