Головна | Про нас | Зворотній зв'язок
Цикл є однією з найважливіших алгоритмічних структур і являє собою послідовність операторів, яка виконується неодноразово. У програмах, пов'язаних з обробкою даних або обчисленнями, часто доводиться виконувати циклічно повторюються дії. Цикли дозволяють записати такі дії в компактній формі.
Цикли належать до числа керівників операторів. Уважний учень міг помітити, що до сих пір ви використовували два види операторів. Одні з них (Read, Write, оператор присвоювання) тільки виконували будь-які дії, інші ж управляли ходом виконання програми (наприклад, умовний оператор). Останні і називаються керуючими операторами.
Спосіб використання циклів в програмах на Паскалі. Розглянемо задачу на обчислення суми великого числа доданків:
Можна було б вибрати просте рішення і записати обчислення цієї суми в рядок, вживши n операцій додавання. Ну а якщо число елементів суми дорівнює 1000? Уявіть собі програму з оператором, який займає кілька сторінок і містить 999 складань! Очевидно, просте рішення тут вже не підходить. Можна помітити, що при обчисленні суми повторюються всього дві операції, причому в певному порядку:
1. Збільшити значення змінної циклу на 1
2. Додати до раніше отриманої суми.
У мові програмування Паскаль є три різновиди циклу:
- Цикл з передумовою (цикл "поки" - whi1е);
- Цикл з умовою поста (цикл "до тих пір, поки" repeat. Until);
- Цикл з параметром (з лічильником) (цикл "для" - for. To / downto ... do);
Кожна з трьох різновидів циклу має свої особливості, для кожної з них є своє коло завдань, найбільш природно розв'язуваних саме з її допомогою.
При розробці програми циклічної структури виділяють наступні поняття:
o параметр (змінна циклу) - величина, зі зміною значення якої пов'язано багаторазове виконання циклу;
o початкове і кінцеве значення параметра циклу;
o крок циклу - значення, але яке змінюється параметр циклу при кожному повторенні;
Дії, що повторюються в циклі, називаються тілом циклу.
Цикл організовують за певними правилами. Цикл складається з наступних блоків:
- підготовки циклу;
- тіла циклу;
- умови продовження циклу.
У підготовку циклу входять дії, пов'язані із завданням вихідних значень для параметра циклу.
У тіло циклу входять багаторазово повторювані дії для обчислення шуканих величин і підготовка наступного значення параметра циклу.
В умови продовження циклу визначається необхідність подальшого виконання повторюваних дій (тіла циклу). Якщо параметр циклу не задовольняє поставленому умові, то виконання циклу припиняється.
Оператор циклу з параметром застосовують тоді, коли заздалегідь відомо кількість повторень однієї і тієї ж послідовності операторів. Початкові і кінцеві значення параметра циклу можуть бути представлені константами, змінними або арифметичними виразами.
FOR i: = M1 TO M2 DO оператор1
оператори циклічної частини
оператори циклічної частини
ДЕ i - параметр циклу, М1 і М2 - початковий і кінцевий значення параметра циклу. DOWNTO змінює параметр з кроком -1.
Блок-схема циклу з параметром:
Приклад програми (цикл з параметром):
var n, s, i. integer;
write ( 'введіть число N'); readln (n);
writeln ( 'сума чисел дорівнює', s);
Алгоритм циклічної структури - це алгоритм, в якому відбувається багаторазове повторення одного і того ж ділянки програми. Такі повторювані ділянки обчислювального процесу називаються циклами. Програма циклічної структури містить один або кілька циклів. Розрізняють детерміновані цикли із заздалегідь відомим числом повторень і ітераційні цикли, в яких число повторень заздалегідь невідомо. Змінюється в циклі змінна називається параметром циклу.
Для організації циклу необхідно виконати наступні дії:
1) задати перед циклом початкове значення параметра циклу;
2) змінювати параметр перед кожним новим повторенням циклу;
3) перевіряти умова повторення циклу;
4) управляти циклом, тобто переходити до його початку, якщо він не закінчений, або виходити з нього після закінчення.
У мові Паскаль існує 3 види циклів:
1) цикл з параметром або цикл типу for,
2) цикл з передумовою або цикл типу while,
3) цикл з умовою поста або цикл типу repeat. until.
У циклі типу for число повторень відомо заздалегідь, в циклах типу while і repeat. until число повторень циклу заздалегідь невідомо, проводиться перевірка умови повторення циклу: в циклі типу while - перед циклом, в циклі типу repeat. until - після його закінчення.
У циклах типів for і while повторяющ частина (тіло циклу) складається з одного оператора, якщо потрібно виконати в циклі кілька операторів, вони полягають в операторні дужки begin. end, утворюючи складовою оператор. У циклі типу repeat. until тіло циклу поміщається між зарезервованими словами мови (лексемами) repeat і until, операторні дужки не потрібні, в назві циклу його тіло умовно позначається трьома крапками.
За допомогою циклу типу for зручно знаходити суми, твори, шукати максимальні і мінімальні значення і т.п. При знаходженні суми деякої змінної, наприклад S присвоюється значення 0, потім в циклі до цієї змінної додається відповідний член заданій послідовності. При знаходженні твори змінної присвоюється значення 1, потім в циклі ця змінна множиться на загальний член послідовності.
Приклад циклу типу for
Обчислення n чисел Фібоначчі:
F1 = 1; F2 = 1; ...; Fn = Fn-1 + Fn-2.
наприклад F3 = F2 + F1 = 1 + 1 = 2; F4 = 2 + 1 = 3 і т.д.