Основні типи і приклад циклічних алгоритмів
Стаття покликана дати базові поняття про те, що таке циклічний алгоритм, які є загальними для будь-якої мови програмування і рівня підготовки програміста.
поняття алгоритму
Алгоритмом називається послідовність дій для досягнення рішення будь-якої обчислювальної та іншої задачі за кінцеве число кроків. Дії (інструкції) щодо виконання алгоритму можуть виконуватися одна за одною (послідовно), одночасно (паралельно) або в довільному порядку, використовуючи цикли і умови переходу. Алгоритми використовуються не тільки в програмуванні, а й в інших сферах діяльності, наприклад в управлінні виробничими і бізнес-процесами.
Відео: Програмування
циклічні алгоритми
Алгоритм називається циклічним, якщо в ньому є дії або набори дій, які необхідно виконати більше одного разу. Повторювані алгоритмічні дії є тілом циклу. Додатково кожен цикл має умова, за яким виконання циклічного алгоритму закінчується.
Види циклічних алгоритмів
Кожен циклічний алгоритм має в своєму складі умова циклу, т. Е. Логічне вираз, результат перевірки якого визначає, буде виконуватися тіло циклу ще раз або цикл буде завершено. За способом обробки все циклічні алгоритми поділяються на три групи.
Цикл з передумовою
У таких циклічних алгоритмах умова продовження перевіряється до обробки тіла циклу, т. Е. Є в наявності необхідність повторення обробки циклу.
Розглянемо висновок на друк чисел від -5 до 0 як приклад циклічних алгоритмів з передумовою:
Елементи алгоритму:
- Задаємо початкове значення базової змінної j, рівне -5.
- Перевіряємо умову циклу. Умова позитивне, і тіло циклу виконується перший раз.
- Далі додаємо до змінної j одиницю, знову перевіряємо умову циклу.
- Цикл продовжує виконуватися, поки значення j менше нуля або дорівнює йому, в іншому випадку виходимо з циклу по гілці FALSE
Цикл з умовою поста
Перевірка умови виконується після першої обробки тіла циклу і контролює вихід з нього.
Розберемо розрахунок суми від 1 до числа n як приклад циклічних алгоритмів, в яких використовуються постусловіем:
- Вводимо кінцеве число розрахунку суми n і задаємо нульові початкові значення підсумкової суми sum і лічильника циклу i.
- Цикл виконується до першої перевірки умови.
- Перевіряємо умову циклу, т. Е. Значення лічильника i менше або дорівнює n.
- Якщо результат умови позитивний, виконуємо цикл ще раз, інакше закінчуємо цикл і виводимо суму на дисплей або друк.
безумовний цикл
Зазвичай використовується в алгоритмах, коли потрібну кількість виконань циклу заздалегідь відомо, і дуже часто застосовується при роботі з масивами.
Такий алгоритм містить три обов`язкові елементи:
- Стартове значення, яке називають параметром циклу, т. К. Саме ця змінна змінюється після кожного виконання циклу і визначає момент його завершення.
- Значення, при якому цикл завершується.
- Крок циклу.
На кожному кроці програма перевіряє, чи не перевершує чи стартове значення кінцеве. І якщо так, то цикл завершується. В іншому випадку до стартового значенням додаємо величину кроку і цикл повторюється. Особливо слід відзначити, що будь-який безумовний цикл можна замінити умовним з перед- або постусловіем.
При складанні циклічних алгоритмів необхідно дотримуватися двох обов`язкових умов. Перше: для закінчення циклу необхідно, щоб вміст тіла впливало на пост- чи передумова, інакше ми в підсумку можемо отримати нескінченний цикл. Але для деяких програмних завдань такі цикли застосовуються. Як приклад циклічних алгоритмів, що виконуються нескінченно, можна привести операційну систему Windows, де використовується нескінченний цикл опитування положення миші для визначення дій користувача. Друге: змінні, що передаються в цикл, повинні забезпечувати хоча б одне його виконання.
розрахунок факторіала
Для закріплення прочитаного наведемо приклад циклічних алгоритмів для розрахунку факторіала цілого числа. Наведений приклад є циклом з передумовою, але можлива реалізація будь-яким видом циклічного алгоритму.
Відео: Види алгоритмів
- Вихідні дані: data - ціле число, для якого визначається факторіал.
- Системні змінні: параметр циклу i, який приймає значення від 1 до data c кроком 1.
- Результат: змінна factorial - факторіал числа data, що є твором цілих чисел від 1 до data.
Розглянемо алгоритм по кроках:
- Алгоритм отримав число data, для якого необхідно обчислити факторіал.
- Змінної factorial, в якій буде зберігатися підсумковий результат, присвоєно значення одиниці.
- Організовуємо цикл з параметром i і стартовим значенням 1. Кінцевим значенням буде вихідне число data. Як тільки значення лічильника i буде більше, цикл завершується.
- Виконується цикл обчислення факторіала - перемножуються поточні значення factorial і лічильника i.
- До значенням лічильника додаємо одиницю, перевіряємо умова циклу і, якщо результат позитивний, завершуємо його.
- Після завершення останньої ітерації циклу значення факторіала data! залишається в factorial і виводиться на дисплей або друк.