Зачем в КуМире разбивать программу Робота на вспомогательные алгоритмы?
Учитель сказал использовать вспомогательные алгоритмы (процедуры) в КуМире, но я не понимаю смысла. Можно же просто написать все команды подряд. Зачем заводить отдельный алгоритм и в чём от него польза?
2 ответа
Вспомогательный алгоритм — это как кнопка «сделай вот это», которую ты один раз описал и дальше жмёшь сколько надо. Польза в трёх вещах:
- Не копировать одно и то же. Если Робот в четырёх местах поля рисует один и тот же квадрат, ты описываешь
квадратодин раз, а потом просто пишешьквадратчетыре раза. - Читаемость. Главный алгоритм становится коротким и понятным: видно логику, а не сотню мелких команд.
- Меньше ошибок. Поправил процедуру в одном месте — поправилось везде.
В КуМире это выглядит так:
алг квадрат
нач
нц 4 раз
вправо
закрасить
кц
кон
И в основном алгоритме вызываешь просто квадрат. Это тот же принцип, что функции в Python — выносим повторяющийся кусок и переиспользуем.
Ещё момент: вспомогательный алгоритм помогает решать задачу «сверху вниз». Сначала пишешь главный алгоритм крупными шагами (дойти_до_стены, закрасить_строку), как будто эти команды уже есть, а потом по очереди их расписываешь. Так огромную задачу проще разложить на куски.