конкретного явища. У цьому сенсі будь-яка математична модель має властивість масовості. Якщо в рамках побудованої моделі ми вирішуємо завдання і рішення представляємо у вигляді алгоритму, то рішення буде масовим завдяки природі математичних методів, а не завдяки масовості алгоритму.
Роз'яснюючи поняття алгоритму, часто наводять приклади побутових алгоритмів: закип'ятити воду, відкрити двері ключем, перейти вулицю і т. д ..: рецепти приготування якого-небудь ліки або кулінарні рецепти є алгоритмами. Але для того, щоб приготувати ліки за рецептом, необхідно знати фармакологію, а для приготування страви за кулінарному рецептом потрібно вміти варити. Тим часом виконання алгоритму - це бездумне, автоматичне виконання приписів, яке в принципі не вимагає ніяких знань. Якби кулінарні рецепти представляли собою алгоритми, то у нас просто не було б такої спеціальності - кухар.
Правила виконання арифметичних операцій або геометричних побудов являють собою алгоритми. При цьому залишається без відповіді питання, чим же відрізняється поняття алгоритму від таких понять, як метод, спосіб, правило. Можна навіть зустріти твердження, що слова алгоритм, спосіб, правило виражають одне і те ж (тобто є синонімами), хоча таке твердження, очевидно, суперечить властивостям алгоритму.
Сам вираз властивості алгоритму некоректно. Властивостями володіють об'єктивно існуючі реальності. Можна говорити, наприклад, про властивості якої-небудь речовини. Алгоритм - штучна конструкція, яку ми споруджуємо для досягнення своїх цілей. Щоб алгоритм виконав своє призначення, його необхідно будувати за певними правилами. Тому потрібно говорити не про властивості алгоритму, а про правила побудови алгоритму, або про вимоги, що пред'являються до алгоритму.
Перше правило - при побудові алгоритму насамперед необхідно задати безліч об'єктів, з якими буде працювати алгоритм. Формалізоване (закодоване) представлення цих об'єктів носить назву даних.
Алгоритм приступає до роботи з деяким набором даних, які називаються вхідними, і в результаті своєї роботи видає дані, які називаються вихідними. Таким чином, алгоритм перетворює вхідні дані у вихідні.
Це правило дозволяє відразу відокремити алгоритми від методів і способів.
Поки ми не маємо формалізованих вхідних даних, ми не можемо побудувати алгоритм.
Друге правило - для роботи алгоритму потрібно пам'ять. У пам'яті розміщуються вхідні дані, з якими алгоритм починає працювати, проміжні дані і вихідні дані, які є результатом роботи алгоритму. Пам'ять є дискретної, тобто складається з окремих осередків.
Пойменована комірка пам'яті носить назву змінної. У теорії алгоритмів розміри пам'яті не обмежуються, т. Е. Вважається, що ми можемо надати алгоритмом будь який необхідний для роботи обсяг пам'яті.
У шкільній теорії алгоритмів ці два правила не розглядаються. У той же час практична робота з алгоритмами (програмування) починається саме з реалізації цих правил. У мовах програмування розподіл пам'яті здійснюється декларативними операторами (операторами опису змінних). У мові Бейсік не всі змінні описуються, зазвичай описуються тільки масиви. Але все одно при запуску програми транслятор мови аналізує всі ідентифікатори в тексті програми і відводить пам'ять під відповідні змінні.
Третє правило - дискретність. Алгоритм будується з окремих кроків (дій, операцій, команд). Безліч кроків, з яких складений алгоритм, звичайно.
Четверте правило - детермінованість. Після кожного кроку необхідно вказувати, який крок виконується наступним, або давати команду зупинки.
П'яте правило - збіжність (результативність). Алгоритм повинен завершувати роботу після кінцевого числа кроків. При цьому необхідно вказати, що вважати результатом роботи алгоритму.
Отже, алгоритм - невизначені поняття теорії алгоритмів. Алгоритм кожному певному набору вхідних даних ставить у відповідність деякий набір вихідних даних, т. Е. Обчислює (реалізує) функцію. При розгляді конкретних питань у теорії алгоритмів завжди мається на увазі якась конкретна модель алгоритму.
Будь-яка робота на комп'ютері - це є обробка інформації. Роботу комп'ютера можна схематично зобразити таким чином:
Інформація зліва і інформація праворуч - це різні інформації. Комп'ютер сприймає інформацію ззовні і в якості результату своєї роботи видає нову інформацію. Інформація, з якою працює комп'ютер, носить назву дані.
Комп'ютер перетворює інформацію за певними правилами. Ці правила (операції, команди) заздалегідь занесені в пам'ять комп'ютера. У сукупності ці правила перетворення інформації називаються алгоритмом....