Відмінності між версіями «Wiki-стаття "Команди повторення (циклу)."»
Рядок 134: | Рядок 134: | ||
Вказівка повторення з параметром виконується таким чином: | Вказівка повторення з параметром виконується таким чином: | ||
− | + | '''Вказівка For — to — do.''' | |
Наприклад. | Наприклад. |
Версія за 17:34, 2 квітня 2012
Команди повторення (циклу)
Цикл – це вид управляючої структури, що дозволяє кілька разів повторити задану кількість операторів. Цикли - основний засіб у програмуванні, що дозволяє коротко записувати алгоритм, який здійснює велику кількість дій. Для реалізації циклічних алгоритмів у мові Паскаль використовуються оператори повторення (цикли):
- оператор циклу з параметром (For);
- оператор циклу з передумовою (While);
- оператор циклу з післяумовою (Repeat).
Вказівка повторення з передумовою (Цикл — while) Вказівка повторення з передумовою — whileпризначена для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки залишається істинною умова виконання циклу. Значення службового слова while— поки вказівка повторення з передумовою записується у вигляді:
while<умова>do
begin
<вказівка1>;
<вказівка2>;
<вказівкаN>
end;
Наприклад.
while I<4 do
begin
S:=S+I;
I:=I+I;
end;
Виконується ця вказівка таким чином. Обчислюється значення виразу-умови. Якщо умова істинна (приймає значення TRUE), то виконується група вказівок (тіло циклу). Виконання програми знову повертається до перевірки умови циклу. Якщо умова хибна (приймає значення FALSE), то виконується вказівка, яка знаходиться після вказівки повторення з передумовою.
Примітка.
1. Якщо умова у вказівці повторення хибна при першій же перевірці, то тло циклу не виконується жодного разу. Умова вказівки є умовою входження і цикл.
2. Умову вказівки повторення з передумовою необхідно підбирати таким чином, щоб в деякий момент вона змінила своє значення з TRUE на FALSE, інакше виникне ситуація "зациклювання" програми.
3. Програмісту необхідно самому потурбуватись про необхідність збільшення (зменшення) лічильника циклу на 1. Це можна зробити таким чином І:=І+1.
4. Входження в тіло вказівки повторення можливе тільки через заголовок цієї вказівки.
Вказівка повторення з післяумовою (Цикл-repeat-until)
Вказівка повторення з післяумовою призначена для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки умова виконання циклу не стане істинною,
repeat
<вказівка1>;
<вказівка2>;
<вказівкаN>
until<умова>;
Наприклад.
repeat
S:=S+I;
I:=I+1
untilI>=4;
Службові слова вказівки означають:
repeat— повторювати, until— поки.
Вказівка повторення з післяумовою виконується таким чином. Спочатку виконуються вказівки, які входять в тіло циклу. Потім обчислюється значення умови-виразу. Якщо умова хибна (тобто має значення FALSE), то знову виконуються вказівки тіла циклу. Якщо умова стає істинною (TRUE), то виконання циклу припиняється і виконується наступна вказівка програми.
Примітка.
1. Тіло циклу, яке складається з групи вказівок, не потрібно брати в дужки (begin — end), оскільки службові слова repeat — untilвідіграють роль дужок.
2. Тіло циклу у вказівці повторення з післяумовою виконується щонайменше один раз.
3. Умова вказівки є умовою виходу з циклу.
4. Входження в тіло вказівки повторенням можливе тільки через заголовок цієї вказівки.
Вказівка повторення з параметром (FOR— ТО — DO).
Вказівка повторення з параметром призначена для організації багатократного виконання тіла циклу для значень параметра циклу з деякої впорядкованої дискретної множини.
Вказівку повторення з параметром використовують у тих випадках, коли наперед можна визначити кількість повторень виконання вказівок циклу. Вказівка повторення з параметром записується у вигляді:
1. for<параметр:=вираз1>to<вираз2>do
begin
<вказівка1>;
<вказівка2>;
<вказівкаN>;
end;
2. for<параметр:=вираз1>downto<вираз2>do
begin
<вказівка1>;
<вказівка2>;
<вказівкаN>;
end;
Параметр вказівки(лічильник, індекс) — це змінна скалярного (цілого, символьного, логічного або перелічувального) типу, крім дійсного.
Вираз 1 (початковий параметр вказівки) — це деяка константа такого ж самого типу, що й параметр вказівки.
Вираз 2(кінцевий параметр вказівки) — це деяка константа такого ж самого типу, що й параметр вказівки.
Якщо в тілі вказівки повторення з параметром необхідно виконати тільки одну вказівку, то складеної вказівки begin... endвикористовувати не потрібно.
for<параметр:=вираз1>to<вираз2>do
<вказівка1>;
Вказівка повторення з параметром виконується таким чином:
Вказівка For — to — do.
Наприклад.
For i:=К to M do
begin
<вказівка1>;
<вказівка2>;
<вказівкаN>;
end;
Параметру циклу і присвоюється початкове значення К.
Він порівнюється з кінцевим значенням М. Якщо К<=М, то виконується тіло вказівки повторення.
Значення К автоматично збільшується на 1 (тобто стає наступним елементом) і знову порівнюється зі значенням М.
Якщо під час перевірки отримаємо, що К>М, то виконання вказівки повторення припиняється і виконується наступна після неї вказівка програми.
Якщо під час першого порівняння К і М виявиться що К>М, то тіло вказівки не виконується жодного разу.
2. Вказівка For — downto— do.
Наприклад.
for i:=K downto M do
begin
<вказівка1>;
<вказівка2>;
<вказівкаN>;
end;
Параметру циклу і присвоюється початкове значення К. Він порівнюється з кінцевим значенням М. Якщо К>=М, то виконується тіло вказівки повторення. Значення К автоматично зменшується на 1 (тобто стає попереднім елементом) і знову порівнюється зі значенням М. Якщо під час перевірки отримаємо, що К<М, то виконання вказівки повторення припиняється і виконується наступна після неї вказівка програми. Якщо під час першого порівняння К і М виявиться, що К<М, то тіло вказівки не виконується жодного разу.
Примітка.
1. Вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо можна визначити кількість повторень.
2. Параметр циклу не повинен змінювати свого значення всередині тіла вказівки повторення, хоча його можна використовувати у будь-яких виразах вказівок тіла циклу.
3. Параметр циклу повинен бути описаним у розділі змінних.
4. Значення параметра циклу після закінчення виконання вказівки повторення володіє кінцевим значенням, тому перед повторним його використанням йому необхідно знову присвоїти нове початкове значення.