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

Одним із основних понять сучасної обчислювальної математики є поняття алгоритму. Алгоритм є тим фундаментом, на якому базується кожен із методів обчислювальної математики, які застосовуються при розв’язанні задач обробки інформації з використанням ЕОМ.

Поки не буде побудована в уяві або на папері чітка послідовність дій у процесі розв’язання будь-якої задачі, не можна правильно описати відповідний процес на мові програмування, тобто написати програму для виконання її на ЕОМ. Значення цього твердження зростає разом із підвищенням складності задач.

Спочатку визначення поняття алгоритму було проблемою математики. Формальне визначення алгоритмів було дано в 30-50-х роках XX століття А.Тюрингом, Е. Постом, А. Чорчем, А. Марковим в роботах з теорії алгоритмів – щойно виниклої на той час галузі математики. Теорія алгоритмів виникла як розділ математичної логіки. Теорія алгоритмів вивчає загальні властивості й закономірності алгоритмів і різноманітні формальні моделі їхнього подання, займається формальним доказом алгоритмічної нерозв'язності задач, асимптотичним аналізом складності алгоритмів, класифікацією алгоритмів відповідно до класів складності, розробкою критеріїв порівняльної оцінки якості алгоритмів і т.і.

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

Існує багато різноманітних означень поняття алгоритму. Так в ISO/IEC 2382-1:1993 Fundamental terms термін «01.05.05. Алгоритм» визначається як «кінцевий упорядкований набір чітко визначених правил для розв'язання проблеми». Можна навести ще декілька використовуваних на практиці визначень, але єдиного «правильного» немає.

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

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