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

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

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

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

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

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

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

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

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

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

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



приклад циклічних алгоритмівЕлементи алгоритму:

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

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

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

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



алгоритм називається циклічним якщо

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

Безумовний цикл

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

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

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

що таке циклічний алгоритм

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

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

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

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

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

приклад циклічних алгоритмівРозглянемо алгоритм по кроках:

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




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