Рішення задач програмування. Циклічний алгоритм
Унікальність можливості програмування, яку надають сучасні комп'ютерні системи, полягає в простоті і доступності вирішення цілого спектру найрізноманітніших завдань. Найскладніші питання вирішуються швидко і не вимагають додаткових витрат як часу, так і інтелектуальних зусиль програміста. Але навіть ультрасучасні утиліти-помічники працюють зі скрипом без засвоєння користувачем основ, які знайомі нам ще з курсу інформатики середньої школи.
Приступаючи до реалізації будь-якої своєї задумки в коді, програміст просто зобов'язаний здійснити схематичний опис ходу рішення. Вже давно придумані правила та порядок складання алгоритмів. У спеціальній літературі алгоритмом дано визначення як точного і зрозумілого приписи здійснити строго певну послідовність операцій. В результаті їх виконання отримуємо досягнення поставленої мети або приходимо до вирішення поставленого завдання.
Своє ім'я термін «алгоритм» отримав від імені узбецького мислителя Аль-Хорезмі. Його праця «Арифметичний трактат» став основою правил арифметичних дій над числами, а самі правила стали іменувати алгоритмами. Зі додавання, віднімання, ділення і множення починалася всесвітня історія програмування.
У різноманітному списку різних способів вирішення однотипних завдань виділяють циклічний алгоритм. Він схожий на ходіння по колу до досягнення певної мети. Програмування циклічних алгоритмів має одну складність, вона полягає в тому, що при неправильному їх складанні або допущенні помилки обчислювальна машина може «зависнути» тобто перейти до виконання однотипних операцій нескінченну кількість разів.
Згідно сучасному трактуванні, циклічний алгоритм - це порядок певних дій, які повторюються над мінливими вихідними даними. Сам по собі цей порядок реалізується без певних труднощів. Циклічний алгоритм являє собою поєднання можливостей лінійного алгоритму та алгоритму з розгалуженням.
Незважаючи на простоту реалізації та певну однотипність задач, для даного типу алгоритмів характерна наявність декількох їх видів. Циклічний алгоритм служить для реалізації на практиці трьох типів різних циклів. За їх назвами можна судити про їх характерні особливості та вигляді вирішуваних завдань.
Цикл з передумовою передбачає перевірку умови для виконання алгоритму перед списком операцій (складається у вигляді лінійного алгоритму). Цикл з постусловіем відрізняється від попереднього тим, що умова перевіряється вже після виконання лінійної складової. Для циклу з параметром характерна наявність певного показника, зростаючого або зменшується з виконанням списку операцій. Циклічний алгоритм з лічильником, так інколи називають це тип циклів.
Незважаючи на простоту реалізації цього типу алгоритму двома менш складними варіантами, кожен сучасну мову програмування має свій певний набір команд для складання циклів. При цьому можливе створення в тілі однієї програми від одного до декількох циклів, залежно від характеру розв'язуваної задачі.
Самі циклічні алгоритми отримали величезне поширення в процесі програмування. Крім конкретних програм, що виконують певні завдання, є порожні цикли. Їх завдання полягає у створенні пауз.
Сам цикл можна представити двома загальноприйнятими фразами. Приміром, уже є циклічним алгоритмом наступна інструкція:
— терти платок-
— якщо хустку брудний, то перейти в початок циклу.
Можна придумати масу подібних прикладів. Набагато більш різноманітно виявляють себе цикли при виконанні графічних завдань, навіть створення растру на екрані монітора є заслугою циклічних програм. Масиви, логічні завдання, серйозні та розважальні програми не обходяться без використання достоїнств циклічних алгоритмів.