Основні типи і приклад циклічних алгоритмів

Основні типи і приклад циклічних алгоритмів

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

Поняття алгоритму

Алгоритмом називається послідовність дій для досягнення вирішення будь-якого обчислювального та іншого завдання за кінцеве число кроків. Дії (інструкції) щодо виконання алгоритму можуть виконуватися одна за одною (послідовно), одночасно (паралельно) або в довільному порядку, використовуючи цикли та умови переходу. Алгоритми використовуються не тільки в програмуванні, а й в інших сферах діяльності, наприклад в управлінні виробничими та бізнес-процесами.


Циклічні алгоритми

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

Види циклічних алгоритмів

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

Цикл з передумовою

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

Розгляньмо виведення на друк чисел від -5 до 0 як приклад циклічних алгоритмів з передумовою:

Елементи алгоритму:

  1. Задаємо початкове значення базової змінної j, рівне -5.
  2. Перевіряємо умову циклу. Умова позитивна, і тіло циклу виконується перший раз.
  3. Далі додаємо до змінної j одиницю, знову перевіряємо умову циклу.
  4. Цикл продовжує виконуватися, поки значення j менше нуля або дорівнює йому, в іншому випадку виходимо з циклу по гілці FALSE

Цикл з постумовою

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


Розберемо розрахунок суми від 1 до числа n як приклад циклічних алгоритмів, в яких використовуються постумова:

  1. Вводимо кінцеве число розрахунку суми n і задаємо нульові початкові значення підсумкової суми sum і лічильника циклу i.
  2. Цикл виконується до першої перевірки умови.
  3. Перевіряємо умову циклу, тобто значення лічильника i менше або дорівнює n.

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

Такий алгоритм містить три обов 'язкові елементи:

  1. Стартове значення, яке називають параметром циклу, оскільки саме ця змінна змінюється після кожного виконання циклу і визначає момент його завершення.
  2. Значення, коли цикл завершується.
  3. Крок циклу.

На кожному кроці програма перевіряє, чи не перевершує стартове значення кінцеве. І якщо так, то цикл завершується. В іншому випадку до стартового значення додаємо величину кроку і цикл повторюється. Особливо слід зазначити, що будь-який безумовний цикл можна замінити умовним з перед- або постумовою.

При складанні циклічних алгоритмів необхідно дотримуватися двох обов 'язкових умов. Перше: для закінчення циклу необхідно, щоб вміст тіла впливав на пост- або передумову, інакше ми в підсумку можемо отримати нескінченний цикл. Але для деяких програмних завдань такі цикли застосовуються. Як приклад циклічних алгоритмів, що виконуються нескінченно, можна навести операційну систему Windows, де використовується нескінченний цикл опитування положення миші для визначення дій користувача. Друге: змінні, що передаються в цикл, повинні забезпечувати хоча б одне його виконання.

Розрахунок факторіалу

Для закріплення прочитаного наведемо приклад циклічних алгоритмів для розрахунку факторіалу цілого числа. Наведений приклад є циклом з передумовою, але можлива реалізація будь-яким видом циклічного алгоритму.

  • Вихідні дані: data - ціле число, для якого визначається факторіал.
  • Системні змінні: параметр циклу i, що приймає значення від 1 до data з кроком 1.
  • Результат: змінна factorial - факторіал числа data, що є виробленням цілих чисел від 1 до data.

Розглянемо алгоритм щодо кроків:


  1. Алгоритм отримав число data, для якого необхідно обчислити факторіал.
  2. Змінній factorial, в якій зберігатиметься підсумковий результат, присвоєно значення одиниці.
  3. Організовуємо цикл з параметром i і стартовим значенням 1. Кінцевим значенням буде початкове число data. Як тільки значення лічильника i буде більше, цикл завершується.
  4. Виконується цикл обчислення факторіалу - перемножуються поточні значення factorial і лічильника i.
  5. До значення лічильника додаємо одиницю, перевірок умова циклу і, якщо результат позитивний, завершуємо його.
  6. Після завершення останньої ітерації циклу значення факторіалу data! залишається в factorial і виводиться на дисплей або друк.