кумир вспомогательный алгоритм — как не копировать одни и те же команды робота
У меня Робот должен нарисовать квадрат 2х2 в трёх разных местах поля. Я три раза копирую один и тот же кусок с закрашиванием, программа огромная и в ней легко запутаться. Учитель сказал «сделай вспомогательный алгоритм». А как его вообще создать в КуМире и потом вызвать?
2 ответа
Вспомогательный алгоритм — это твоя собственная команда. Описываешь один раз, вызываешь сколько хочешь. Пишется ПОСЛЕ основного кон, отдельным блоком алг имя / нач / кон.
использовать Робот
алг
нач
квадрат
вправо
вправо
вправо
квадрат
кон
алг квадрат
нач
закрасить
вправо
закрасить
вниз
закрасить
влево
закрасить
вверх
кон
Как это читать: квадрат в основном алгоритме — это вызов. Когда Робот до него доходит, он выполняет все команды из блока алг квадрат, а потом возвращается и идёт дальше.
Плюсы: написал логику закраски один раз, поправил в одном месте — поменялось везде. И программу читать в сто раз легче.
Имя можно любое осмысленное: алг закрасить_столбик, алг шаг_вправо и т.п. Главное чтобы вызов совпадал с именем по буквам.
Маленькое дополнение: следи чтобы после вспомогательного алгоритма Робот оставался там, где удобно для следующего вызова.
У меня в примере квадрат заканчивается в той же клетке, откуда начал (вернулся вверх), поэтому его легко вызывать подряд. Если алгоритм «уезжает» — продумай возврат.