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

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

Що таке алгоритм і програма

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




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

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

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

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

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

TheDifference.ru визначив, що відмінність алгоритму від програми полягає в наступному:

  1. Алгоритм - інструкція, програма - запис послідовності інструкцій.
  2. Алгоритм може бути представлений у вигляді, програма - на мові програмування.
  3. Програма включає опис даних і дій, алгоритм - тільки дій.
  4. Алгоритм може бути призначений для вирішення класу задач.
  5. Алгоритм є базовим поняттям математики.
  6. Програма є об'єктом авторського права.






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