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

Коротко: Точна послідовність дій, яка за скінченну кількість кроків приводить від вхідних даних до результату; основа будь-якої комп'ютерної програми.

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

Рецепт, інструкція до пральної машини, маршрут у навігаторі — усе це алгоритми в широкому сенсі. Комп'ютерна програма — алгоритм, записаний мовою програмування.

Довідкова таблиця

Вид алгоритмуЯк виконуєтьсяПриклад
Лінійнийкоманди виконуються одна за одною без умовзаварити чай: закип'ятити воду, покласти чай, залити
З розгалуженнямзалежно від умови виконується одна з гілокякщо йде дощ — взяти парасольку, інакше — не брати
Циклічнийгрупа дій повторюється задану кількість разів або доки виконується умоваприсісти 10 разів; поливати, доки земля суха
Допоміжний (підпрограма)окремий алгоритм, який викликають з основногокоманда «намалювати квадрат» у програмі малювання

Як це працює

Слово походить від імені перського математика аль-Хорезмі, який близько 825 року описав десяткову позиційну систему числення. Латинський переклад його праці мав назву «Algoritmi de numero Indorum», і з часом латинізоване ім'я автора стали сприймати як назву самого методу обчислень.

У шкільній інформатиці виділяють властивості алгоритму: скінченність (завершується за скінченну кількість кроків), дискретність (складається з окремих кроків), визначеність (кожна команда однозначна), наявність вхідних і вихідних даних, масовість (підходить для цілого класу однотипних задач).

Алгоритм можна записати словесно, псевдокодом, блок-схемою, структурограмою або програмою. З базових конструкцій — слідування, розгалуження й циклу (див. таблицю) — будують алгоритми будь-якої складності.

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

Коли говорять «алгоритм соцмережі» чи «алгоритм гри», мають на увазі правила, за якими програма ухвалює рішення: що показати користувачеві, як поводиться комп'ютерний суперник, як нараховуються бали. У початковій школі алгоритми вивчають саме через ігри: дитина складає послідовність команд для персонажа, щоб той дійшов до мети.

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

Часті питання

Алгоритм це що простими словами?
Це чітка покрокова інструкція, як отримати потрібний результат. Кожен крок має бути зрозумілим виконавцю, а сама інструкція — завершуватися.
Які є види алгоритмів?
За структурою розрізняють лінійні, з розгалуженням і циклічні алгоритми; окремо виділяють допоміжні алгоритми (підпрограми). На практиці більшість програм поєднують усі ці конструкції.
Що таке алгоритми гри?
Це правила, за якими працює гра: як рухаються персонажі, як поводиться комп'ютерний суперник, як нараховуються очки. На уроках інформатики так також називають ігрові завдання, де учні складають послідовність команд для виконавця.
Які властивості має алгоритм?
Скінченність, дискретність, визначеність (однозначність), наявність вхідних і вихідних даних та масовість — придатність для розв'язання цілого класу задач.
Чим алгоритм відрізняється від програми?
Алгоритм — це послідовність дій, яку можна записати словами чи блок-схемою. Програма — той самий алгоритм, записаний мовою програмування так, щоб його виконав комп'ютер.

Джерела: Вікіпедія — Алгоритм.

Ще з розділу «Програми і дані»