3. Оператори циклу; запис циклів.

Для організації циклічних процесів призначені оператори повтору. Вони вказують на те, що певну групу операторів необхідно виконати декілька разів. Ця група операторів називається тілом циклу. Якщо кількість повторень заданої групи операторів відома заздалегідь, то в такій ситуації цілком підходить оператор циклу з параметром for. Якщо ж кількість повторів невідома, то необхідно використовувати оператори while або repeat.

Оператор циклу з параметром for призначений для програмування циклів із заздалегідь відомою кількість повторень тіла циклу.

Вид оператора:

for параметр = поч.зн to кін.зн do оператор,

де for, =, to, do - службові слова;

параметр - змінна, яка рахує кількість повторень тіла циклу;

поч.зн. та кін.зн. – початкове та кінцеве значення параметру циклу (діапазон його значень);

оператор - тіло циклу.

Параметром може бути будь-яка неіндексована змінна довільного скалярного типу (окрім типу real).

Параметр може приймати лише послідовні значення заданого діапазону за їх зростанням. Поки значення параметру входить в діапазон, тіло циклу виконується. Параметр циклу може не приймати участь в обчисленнях, які проводяться в тілі циклу. По завершенні виконання оператора циклу виконується наступний за ним оператор.

Існує ще одна форма оператора for

for параметр = поч.зн to кін.зн downto оператор

Відмінність від попереднього полягає у тому, що параметр приймає значення вказаного діапазону за їх спаданням.

Для програмування циклів із заздалегідь невідомою кількістю повторень або циклів, в яких параметр циклу приймав би значення із діапазону з певним кроком (наприклад 2, 4, 6, ...) використовуються оператор циклу з передумовою та оператор циклу з постумовою.

Оператор циклу з передумовою while має вигляд

while лог. вираз do оператор ,

де while, do -службові слова;

лог. вираз - умова (логічний вираз), яка управляє виконанням тіла циклу;

оператор - задає тіло циклу.

Поки логічний вираз приймає значення true, виконується тіло циклу. Зрозуміло, що зміну істинності умови необхідно передбачити у тілі циклу (тобто тіло циклу повинно містити оператор, який впливає на зміну істинності умови).

Оператор циклу з постумовою repeat має вигляд

repeat оператор until лог. вираз ,

де repeat ,until -службові слова;

логічний вираз - умова (логічний вираз), яка управляє виконанням тіла циклу;

оператор - задає тіло циклу.

Поки логічний вираз не прийме значення true (тобто, приймає значення false), виконується тіло циклу. Зміну істинності умови для цього оператора також необхідно передбачити у тілі циклу .

В усіх операторах циклу (окрім repeat) тіло циклу може складатись лише з одного оператора . Якщо тіло циклу містить групу операторів, їх необхідно об’єднати операторними дужками.

ПРИКЛАД :

обчислити добуток перших n натуральних чисел (тобто n!) кожним із операторів циклу

а) оператор циклу з параметром for-to:

p:=1;

for i:=1 to n do p:=p*i;

б) оператор циклу з параметром for-downto:

p:=1;

for i:=n downto 1 do p:=p*i;

в) оператор циклу з передумовою

p:=1;

i:=1;

while i<=n do

begin

p:=p*i;

i:=i+1

end;

г) оператор циклу з постумовою

p:=1;

i:=1;

repeat

p:=p*i;

i:=i+1

until i>n;

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 
75 76 77 78 79  Наверх ↑