Циклічні алгоритми
Приклади а) поки не закінчився семестр, то готуйся до лабораторних робіт та лекцій; відвідуй пари. б) поки є бажання, можливість, час і здоров’я, то відвідуй тренажерний зал.
Для реалізації дій, що повторюються, існують спеціальні алгоритмічні структури, які отримали назву – цикли обо команди повторення.
Види циклічних алгоритмів Цикл з передумовою <Умова> ні так <Серія команд> Цикл з постумовою Цикл з параметром <Серія команд> i : = a, b, h <Умова> так <Серія команд> ні Цикл «поки» Цикл «до» Цикл «для»
Цикл з передумовою «поки» Приклад: Дано ціле число N (> 0). Використовуючи операцію ділення націло, знайти кількість його цифр. k: =0; <Умова> ні ні N>0 так <Серія команд> так N: = N div 10; k: =k+1;
Зверніть увагу!!! 1. Цикл закінчується, коли умова стає невірною (хибною). 2. Якщо умова на самому початку хибна, то серія команд не виконується жодного разу.
Цикл з постумовою «до» Приклад: Дано ціле число N (> 1). Визначити найменше із цілих чисел K, для яких сума S= 1 + 2 + … + K буде більше N. S : = 0; k : = 0; <Серія команд> <Умова> k : = k + 1; так S : = S + k; ні S>N ні так
Зверніть увагу!!! 1. Цикл закінчується, коли умова стає вірною (істинною). 2. Серія команд виконується хоча б один раз.
Цикли типу «поки» та «до» використовуються в програмах, коли необхідно провести деякі повторювані дії (цикл), але число повторів попередньо невідомо і визначається самим ходом алгоритму.
Цикл з параметром «для» Приклад. Дано два цілих числа A в B (A < B). Знайти суму S всіх цілих чисел від A до B включно. i: = а, b, h S : = 0; <Серия команд> I : = а, b S : = S + I;
«поки» Крок Початок 1 2 3 P: =1; i: =1; ні i<=5 так P : = P*i; 4 5 6 i : = i+1; 7 Вивести Р Кінець 8 Операція P: =1 i: =1; i<=5 P: =P*I i: =i+1 i<=5 P: =P*I i: =i+1 Р 1 1 1 2 6 24 120 i Перевірка умови 1 1<=5, так (істинна) 1 2<=5, так (істинна) 2 3<=5, так (істинна) 3 4<=5, так (істинна) 4 5<=5, так (істинна) 5 6<=5, ні (хибна)
«до» Крок Операція Р i Перевірка умови Початок 1 2 3 P: =1; P: =1 i: =1; i: =1 P: =P*I; P: =P*i 4 i: =i+1; i: =i+1 ні так 5 i>5 6 Вивести Р P Кінець 7 P: =1; i: =1; P: =P*i; i: =i+1; i>5 P: =P*i i: =i+1 i>5 1 1 2 2>5, ні (хибна) 2 6 24 120 3 4 5 6 3>5, ні (хибна) 4>5, ні (хибна) 5>5, ні (хибна) 6<=5, так (істинна)
«для» Початок P: =1; i: = 1, 5 P : = P*i; Крок 1 P: =1 2 i: =1 P: =P*i 3 4 5 Вивести P Кінець Операція 6 i: =2 P: =P*i i: =3 P: =P*i i: =4 P: =P*i i: =5 P: =P*i Р i 1 1 1 2 2 3 6 4 24 5 120 Перевірка умови
«поки» «до» Початок «для» Початок P : = 1; P: =1; P: =1 i : = 1; i: =1; i: =1 P : = 1; P: =P*I; P: =P*i i: = 1, 5 ні i <= 5 i i: =i+1 : = i+1; так P : = P*I; ні P : = P*i; так i>5 i : = i+1; Вивести Р Кінець Вивести Р P Кінець Вивести P Кінець
Таким чином ми розглянули наступні питання: 1. Алгоритмічну структуру цикл; 2. Види алгоритмічної структури: • цикл з передумовою; • цикл з постумовою; • цикл з параметром; 3. Подання цих видів у схематичному вигляді; 4. Подання алгоритмів розв’язку задач за допомогою цих видів алгоритмічних структур.