Що таке алгоритм
Алгоритм — це набір інструкцій, які описують порядок дій виконавця, щоб за скінченну кількість кроків розв'язати задачу. Виконавцем може бути людина, робот, комп'ютер або персонаж навчальної гри.
Рецепт, інструкція до пральної машини, маршрут у навігаторі — усе це алгоритми в широкому сенсі. Комп'ютерна програма — алгоритм, записаний мовою програмування.
Довідкова таблиця
| Вид алгоритму | Як виконується | Приклад |
|---|---|---|
| Лінійний | команди виконуються одна за одною без умов | заварити чай: закип'ятити воду, покласти чай, залити |
| З розгалуженням | залежно від умови виконується одна з гілок | якщо йде дощ — взяти парасольку, інакше — не брати |
| Циклічний | група дій повторюється задану кількість разів або доки виконується умова | присісти 10 разів; поливати, доки земля суха |
| Допоміжний (підпрограма) | окремий алгоритм, який викликають з основного | команда «намалювати квадрат» у програмі малювання |
Як це працює
Слово походить від імені перського математика аль-Хорезмі, який близько 825 року описав десяткову позиційну систему числення. Латинський переклад його праці мав назву «Algoritmi de numero Indorum», і з часом латинізоване ім'я автора стали сприймати як назву самого методу обчислень.
У шкільній інформатиці виділяють властивості алгоритму: скінченність (завершується за скінченну кількість кроків), дискретність (складається з окремих кроків), визначеність (кожна команда однозначна), наявність вхідних і вихідних даних, масовість (підходить для цілого класу однотипних задач).
Алгоритм можна записати словесно, псевдокодом, блок-схемою, структурограмою або програмою. З базових конструкцій — слідування, розгалуження й циклу (див. таблицю) — будують алгоритми будь-якої складності.
Де трапляються алгоритми
У техніці алгоритми скрізь. Пошукова система за алгоритмами ранжування визначає, які сторінки показати першими. Стрічка соцмережі добирає дописи за алгоритмами рекомендацій. Навігатор шукає найкоротший маршрут, архіватор стискає файли, а смартфон за алгоритмами обробки зображень поєднує кілька кадрів у нічне фото.
Коли говорять «алгоритм соцмережі» чи «алгоритм гри», мають на увазі правила, за якими програма ухвалює рішення: що показати користувачеві, як поводиться комп'ютерний суперник, як нараховуються бали. У початковій школі алгоритми вивчають саме через ігри: дитина складає послідовність команд для персонажа, щоб той дійшов до мети.
Для програміста знання класичних алгоритмів сортування, пошуку й роботи з графами — база, яку перевіряють на співбесідах. Від вибору алгоритму залежить, чи працюватиме програма мить або години на тих самих даних.
Часті питання
- Алгоритм це що простими словами?
- Це чітка покрокова інструкція, як отримати потрібний результат. Кожен крок має бути зрозумілим виконавцю, а сама інструкція — завершуватися.
- Які є види алгоритмів?
- За структурою розрізняють лінійні, з розгалуженням і циклічні алгоритми; окремо виділяють допоміжні алгоритми (підпрограми). На практиці більшість програм поєднують усі ці конструкції.
- Що таке алгоритми гри?
- Це правила, за якими працює гра: як рухаються персонажі, як поводиться комп'ютерний суперник, як нараховуються очки. На уроках інформатики так також називають ігрові завдання, де учні складають послідовність команд для виконавця.
- Які властивості має алгоритм?
- Скінченність, дискретність, визначеність (однозначність), наявність вхідних і вихідних даних та масовість — придатність для розв'язання цілого класу задач.
- Чим алгоритм відрізняється від програми?
- Алгоритм — це послідовність дій, яку можна записати словами чи блок-схемою. Програма — той самий алгоритм, записаний мовою програмування так, щоб його виконав комп'ютер.
Джерела: Вікіпедія — Алгоритм.