- Алгоритм — точный набор правил или инструкций, который описывает порядок действий исполнителя для решения задачи.
- У алгоритма шесть общепринятых свойств: дискретность, детерминированность, понятность, завершаемость, массовость и результативность.
- По структуре алгоритмы бывают линейные, ветвящиеся и циклические; рецепт и компьютерная программа тоже алгоритмы.
- Алгоритм Евклида для поиска наибольшего общего делителя легко запустить на Python и проверить по шагам.
Содержание11 разделов ▾
Алгоритм — это точный набор правил или инструкций, который описывает порядок действий исполнителя для решения задачи. Исполнителем может быть и человек, и компьютер.
Статья для школьников и новичков: вы узнаете, чем алгоритм отличается от обычной инструкции, какие у него свойства и виды, а в конце запустите на Python старейший из известных вычислительных алгоритмов. Определения и перечень свойств взяты из Википедии, понятия из школьной информатики сверены с кодификаторами ФИПИ, код проверен запуском на Python 3.13.12; данные на октябрь 2026 года. Подготовка к экзамену здесь не рассматривается. Об основе для работы с условиями вы можете прочитать в статье Логические операции.
Что такое алгоритм простыми словами
Часто в качестве исполнителя выступает компьютер, но понятие шире. По Википедии, чётко описанный рецепт приготовления блюда тоже алгоритм, а исполнителем в нём служит человек. Главное, чтобы шаги были заданы так, что исполнитель мог выполнить их без догадок.
Пример из жизни: заваривание чая. Исходные данные — вода, чай, чашка. Шаги: вскипятить воду, насыпать чай, залить водой, подождать. Результат — готовый чай.
Откуда слово «алгоритм»
Слово происходит от имени среднеазиатского учёного Аль-Хорезми. Около 825 года он написал сочинение о вычислениях, из названия которого произошло слово «алгебра». Позднее его книгу перевели на латынь под названием «Algoritmi de numero Indorum», и латинизированное имя учёного дало название всем правилам вычислений.
Свойства алгоритма
Википедия называет шесть общих требований, которые содержат разные определения алгоритма.
| Свойство | Что значит | Как его нарушить |
|---|---|---|
| Дискретность | Решение разбито на простые шаги, каждый занимает конечное время | Шаг «сделать вкусно» не простой, а расплывчатый |
| Детерминированность | Следующий шаг однозначно определён; на одних данных результат один | В рецепте «посолить по вкусу» исполнитель выбирает сам |
| Понятность | Включены только команды, доступные исполнителю | Просить робота-пылесос «приготовить обед» |
| Завершаемость | Алгоритм заканчивает работу за определённое число шагов | Инструкция «мешай, пока не надоест» не завершается |
| Массовость | Применим к разным наборам данных | Инструкция только для чая объёмом ровно 200 мл |
| Результативность | Работа завершается определённым результатом | Шаги есть, а что должно получиться, не сказано |
Википедия оговаривает: завершаемость в узком понимании алгоритма как математической функции обязательна, но во многих определениях её не требуют. Так что перечни свойств в учебниках могут отличаться: сверяйте с тем, по которому учитесь.
Способы записи
По Википедии, алгоритм записывают так: словесно, на языке программирования или псевдокоде, в машинном коде, в математической нотации или схемой, например блок-схемой. Обычно идея сначала описывается словами, а по мере приближения к реализации формулировки становятся более формальными. Блок-схема — графическая запись; в этой статье мы пользуемся словесной записью и Python.
Виды алгоритмов
Википедия даёт определения трёх основных видов. Линейный алгоритм — набор команд, выполняемых последовательно друг за другом. Разветвляющийся содержит хотя бы одно условие, по результату проверки которого выбирается одна из ветвей. Циклический предусматривает многократное повторение одних и тех же действий.
| Вид | Признак | Пример из жизни |
|---|---|---|
| Линейный | Шаги идут подряд, без выбора | Заварить чай: налить воду, положить чай |
| Ветвящийся | Есть условие и выбор | Если на улице холодно, надеть куртку |
| Циклический | Действие повторяется | Помешивать чай ложкой несколько раз |
Те же три идеи записываются в Python с помощью обычных команд и условий, как описано в разделе документации о ветвлениях и циклах. Запустим короткий пример.
# линейный: шаги один за другим
вода = 200
чай = 5
print("Налить", вода, "мл воды, положить", чай, "г чая")
# ветвящийся: выбор по условию
температура = 4
if температура < 10:
print("Надеть куртку")
else:
print("Куртка не нужна")
# циклический: повтор действия
for номер in range(1, 4):
print("Помешать ложкой, раз", номер)Вывод при запуске на Python 3.13.12:
Налить 200 мл воды, положить 5 г чая
Надеть куртку
Помешать ложкой, раз 1
Помешать ложкой, раз 2
Помешать ложкой, раз 3Числа здесь учебные: температура и количество воды придуманы для примера.
Алгоритм Евклида на Python
Вычислительные процессы алгоритмического характера, например нахождение наибольшего общего делителя двух чисел, известны человечеству с глубокой древности, отмечает Википедия. Задача: найти наибольшее число, на которое делятся без остатка и 252, и 105. Алгоритм Евклида делит большее число на меньшее и заменяет пару «большее, меньшее» парой «меньшее, остаток», пока остаток не станет нулём.
def нод(a, b):
while b != 0:
print(f"{a} = {b} * {a // b} + {a % b}")
a, b = b, a % b
return a
print("НОД =", нод(252, 105))Вывод при запуске на Python 3.13.12:
252 = 105 * 2 + 42
105 = 42 * 2 + 21
42 = 21 * 2 + 0
НОД = 21Разбор. Пока второе число не равно нулю, программа печатает деление с остатком и сдвигает пару. Когда остаток стал нулём, ответ — последнее ненулевое число: 21. Проверьте: 252 = 21 × 12, а 105 = 21 × 5.
Это циклический алгоритм: цикл while повторяет действие, пока не выполнится условие остановки. Свойства алгоритма видны на примере: шаги простые, результат один и тот же на одних данных, работа заканчивается, а числа можно взять любые.
Алгоритм, программа и «алгоритм ленты»
| Понятие | Что это |
|---|---|
| Алгоритм | Идея: правила решения задачи |
| Программа | Запись алгоритма на языке программирования |
| Формула | Запись зависимости; алгоритм указывает порядок действий |
| «Алгоритм ленты» в новостях | Разговорное название работы сервиса; к теме статьи не относится |
Как проверить алгоритм
- Запишите шаги словами и уберите расплывчатые слова вроде «немного», «по вкусу».
- Возьмите два-три набора данных, включая простой и крайний случай.
- Выполните шаги вручную и сверьте результат с ожидаемым.
- Если исполнитель — компьютер, запишите алгоритм программой и сравните вывод с ручным расчётом, как в примере выше.
- Проверьте, что работа заканчивается: нет шага, который повторяется бесконечно.
Условия и ограничения
- Версия
- Python 3.13.12, октябрь 2026 — примеры запущены на этой версии; вывод в других версиях совпадёт, потому что команды простые.
- Свойства
- Перечни различаются — в разных учебниках набор свойств алгоритма может отличаться; в статье перечень по Википедии.
- Смысл
- Слово «алгоритм» в новостях — «алгоритмы соцсетей» и поиска — другое, разговорное использование слова; статья о понятии из информатики.
- Примеры
- Бытовые примеры упрощены — заваривание чая и выбор куртки показывают идею, а не строгое определение.
- Запись
- Только словесная и на Python — блок-схемы и другие способы записи в статье только названы, но не разбираются.
Частые ошибки
- Считать алгоритмом любую инструкцию, даже расплывчатую: «сделай красиво» им не является.
- Путать алгоритм с программой: программа лишь запись алгоритма на языке программирования.
- Ожидать от алгоритма одинакового результата при разных данных без проверки.
- Забывать про условие остановки в циклическом алгоритме.
- Называть алгоритмом всё, что «решает компьютер»: слово «алгоритм ленты» в новостях к теме статьи не относится.
Короткий вывод
Алгоритм — точное описание порядка действий для решения задачи. У него есть простые шаги, однозначный результат и конец работы, а по структуре он линейный, ветвящийся или циклический. Рецепт и программа — оба алгоритмы, различается только исполнитель.




