Вспомогательный алгоритм
💻 Информатика · 5 класс
Вспомогательный алгоритм
Когда задача большая и сложная, её удобно разбить на части поменьше. Вспомогательный алгоритм — это отдельный алгоритм, который решает одну небольшую задачу и которым пользуются внутри основного алгоритма. Его ещё называют подпрограммой или процедурой. Основной алгоритм при этом становится короче и понятнее, словно собран из готовых деталей.
Зачем нужны вспомогательные алгоритмы
Представь, что исполнителю нужно нарисовать три одинаковых квадрата. Можно каждый раз заново писать все команды для квадрата, но это долго и легко ошибиться. Лучше один раз составить вспомогательный алгоритм «нарисовать квадрат», дать ему имя, а потом просто вызывать его по имени столько раз, сколько нужно. Это похоже на то, как мастер один раз делает шаблон, а потом обводит его много раз.
| Без вспомогательного | С вспомогательным |
|---|---|
| команды повторяются трижды | команды записаны один раз |
| запись длинная | запись короткая |
| легко ошибиться | ошибку исправляют в одном месте |
Как это работает
Сначала составляют вспомогательный алгоритм и дают ему имя. В основном алгоритме его вызывают этим именем — как будто это новая команда исполнителя. Когда исполнитель доходит до вызова, он выполняет все команды вспомогательного алгоритма, а потом возвращается и продолжает основной.
Вспомогательный: квадрат = вперёд, поворот, вперёд, поворот, вперёд, поворот, вперёд
Основной: квадрат → сдвиг → квадрат → сдвиг → квадратВ основном алгоритме слово «квадрат» заменяет сразу все команды рисования квадрата. Получается коротко и наглядно.
Разбиение задачи на части
Большую задачу можно разбить на несколько вспомогательных алгоритмов. Например, чтобы нарисовать дом, делают вспомогательные алгоритмы «стена», «крыша» и «окно». Тогда основной алгоритм состоит всего из трёх понятных вызовов, и каждый из них легко проверить отдельно.
Правило: разбивай сложную задачу на простые части. Каждую часть оформляй вспомогательным алгоритмом и вызывай по имени. Так программа становится короче и понятнее.
Главное преимущество
Если в рисунке квадрата нужно что-то изменить, исправляют только вспомогательный алгоритм — и изменение сразу применится во всех местах, где он вызывается. Не нужно искать и править каждое повторение вручную.
Чем вызов отличается от повторения
Не нужно путать вспомогательный алгоритм с обычным повторением команд. Цикл повторяет одни и те же команды подряд несколько раз. А вспомогательный алгоритм — это отдельный набор команд под своим именем, который можно вызвать в любом месте основного алгоритма, причём вызывать его можно сколько угодно раз и в разных местах. Часто эти приёмы используют вместе: внутри вспомогательного алгоритма может быть цикл, а сам алгоритм вызывается несколько раз.
Кратко о главном
- Вспомогательный алгоритм решает отдельную небольшую задачу.
- Ему дают имя и вызывают из основного алгоритма как новую команду.
- Он избавляет от повторения одинаковых команд и сокращает запись.
- Исправление в одном месте применяется ко всем вызовам.