Цикл - це багато разів повторюються фрагменти програм. Алгоритм циклічної структури - це алгоритм, що містить цикли.
ТР існує три оператори циклу:
- цикл з передумовою;
- цикл з постумовою;
- цикл з параметром.
Для всіх циклів характерні наступні особливості:
- значення змінних використовуються в циклі, і не змінюються в ньому повинні бути визначені до входу в цикл;
- вхід у цикл можливий тільки через його початок;
- вихід їх циклу здійснюється як в результаті його природного закінчення, так і за допомогою операторів переходу.
Оператор циклу з передумовою в Паскале
Оператор циклу з передумовою реалізує наступну базову конструкцію:
Формат запису:
While L do OP;
де:
While - поки не;
do - виконати;
L - вираз логічного типу;
OP - тіло циклу; оператор (простий або складеного).
Рис. 9.3. Структурна схема оператора циклу з передумовою
Робота оператора: Обчислюється значення логічного вирази, якщо обчислена значення істинно, то виконується оператор OP після чого повторюється перевірка умови і виконання операторів тіла циклу. В іншому випадку здійснюється вихід з циклу.
Обчислення значення логічного виразу передує виконання операторів тіла циклу, тому цей оператор циклу називається циклом з передумовою.
Приклад 9.3. Скласти програму обчислення функції y для заданого значення x.
де: C=2,7; n=2; a=0.5 0;<t<1; Dt=0,1.
Program Ex_2;
Uses crt;
Var
y, C, a, t :real;
n :integer;
Begin
clrscr;
Writeln("Уведіть C, a, n"); Read(C, a, n);
Writeln("Підсумок:");
Writeln("t’:5,’y’:15);
t:=0;
While t<1 do
Begin
y:=C*exp(a*t)*cos(n*t);
Writeln(t:4:1,’ ‘:5, y:10);
t:=t+0.1;
End;
End.
Оператор циклу з постумовою в мові Паскаль
Оператор циклу з постумовою реалізує наступну конструкцію:
Формат запису:
Repeat
OP
Until L;
де:
Repeat - повторювати;
Until - поки не;
L - вираз логічного типу;
OP - тіло циклу; оператор (простий або складеного).
Рис. 9.4. Структурна схема оператора циклу з постумовою
Робота оператора: Виконується оператор OP після чого обчислюється значення логічного виразу L, якщо обчислена значення False, то знову виконується оператор OP іншому випадку здійснюється вихід з циклу.
Обчислення значення логічного виразу слід після виконання операторів тіла циклу, тому цей оператор циклу називається циклом з постумовою.
На відміну від циклу з передумовою, в циклі з постумовою тіло циклу виконується про крайней мере один раз не залежно від умови.
оператора циклу з постумовою ключові слова Repeat і Until грають роль операторних дужок.
Приклад 9.4. Скласти програму обчислення функції y для заданого значення x.
де: C=2,7; n=2; a=0.5 0;<t<1; Dt=0,1.
Program Ex_2;
Uses crt;
Var
y, C, a, t :real;
n :integer;
Begin
clrscr;
Writeln("Уведіть C, a, n");
Read(C, a, n);
Writeln("Підсумок:"); Writeln("t’:5,’y’:15);
t:=0;
Repeat
y:=C exp*(a*t)*cos(n*t);
Writeln(t:4:1,’ ‘:5, y:10);
t:=t+0.1;
Untile t>=1;
End.
Оператор циклу з параметром в мові Паскаль
Оператор циклу з параметром реалізує наступну базову конструкцію:
Рис. 9.5. Структурна схема оператора циклу з параметром.
запису:
1. For P:=Pn to Pk do OP;
2. For P:=Pk downto Pn do OP;
пгде:
For - для
to - до;
downto - зменшуючи до
- виконати;
OP - тіло циклу; оператор (простий або складеного);
P - параметр циклу, мінлива порядкового типу;
Pn, Pk - початковий та кінцевий значення параметра.
Робота оператора: Обчислюється початкове значення параметра циклу Pn і присвоюється параметру . Перевіряється умова ?Pk, і якщо воно True виконуються оператори тіла циклу OP . Після чого нарощується значення на одиницю і знову перевіряється умова ?Pk . Якщо умова False здійснюється вихід з циклу.
пВ операторі з downto крок зміни параметра циклу дорівнює -1.
Приклади запису:
For i:=1 n do to 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);
Приклад 9.5. Скласти програму обчислення функції y для заданого значення n.
де: C=2,7; a=0.5; t=0,1 0;<n<10; Dn=1.
Program Ex_3;
Uses crt;
Var
y, C, a, t :real;
n :integer;
Begin
clrscr;
Writeln("Уведіть C, a, t");
Read(C, a, n);
Writeln("Підсумок:");
Writeln(‘n’:5,’y’:15);
For n:=1 to 10 do
Begin
y:=C*exp(a*t)*cos(n*t);
Writeln(n:4,’ ‘:5, y:10);
end;
End.