Чим відрізняється алгоритм від програми

Уявлення про програми середньостатистичного користувача досить обмежені і засновані на досвіді запуску і роботи в додатках. Ми знаємо, що існують програмісти, які пишуть програми, а наша справа – скористатися результатами їхньої праці. Про алгоритми люди, закінчивши школу енну час тому, згадують в контексті теорії алгебри, смутно представляючи, що ці знання вже точно не знадобляться. А якщо доводиться зіткнутися з перетином цих понять – більшість з нас втрачається, не знаходячи зв’язків між алгоритмами і програмами, і, значить, не розуміючи поставленого завдання. Іноді ці поняття об’єднують, вважаючи, що “алгоритм” – більш професійне та точне позначення “програми”. Щоб заповнити прогалини в уявленнях, подивимося, що все ж стоїть за термінологією.

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

Програма (комп’ютерна, насамперед) – запис послідовності інструкцій, виконуваних комп’ютером.

Порівняння алгоритму та програми
У чому різниця між алгоритмом і програмою ясно вже з термінології. Здавалося б, в обох випадках ми бачимо впорядковані дії, що призводять до кінцевого результату. Як зрозуміло з визначень, програма може складатися з декількох алгоритмів, проте ієрархія “загальне – приватне” тут не простежується. Алгоритм – це взагалі будь-яка інструкція, в якій чітко зазначено дії. Наприклад, для складання шафи. Програмою вона, звичайно, бути не буде. Алгоритм може існувати в будь-якій формі: його можна запам’ятати, записати в блокнот, замалювати у вигляді схеми, продиктувати, так як в основі його – логічна складова, а не формальна. Програма ж – поняття формальне. Вона являє собою саме запис набору алгоритмів, причому запис на одній з мов програмування, зрозумілих обчислювальній машині. Це може бути не тільки наш звичний комп’ютер, але і блок управління будь-якого приладу. Таким чином, алгоритм можна визначити як метод або схему втілення ідеї, програму – як її реалізацію конкретними засобами.

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

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

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


1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 2.50 out of 5)

Чим відрізняється алгоритм від програми