Цех Программиста: Команды
Твоя работа — не успевать руками. Твоя работа — написать так, чтобы успевала машина, и чтобы в программе не было лишнего.
Как устроен цех
1. Лента подаёт заготовки слева направо: цвет, форма, иногда пустое место. Манипулятор стоит над тремя позициями и берёт ровно то, что под ним.
2. Команды: взять, положить, сдвинуть ленту, вернуть деталь, повторять (пока не пусто), если (цвет или позиция). Вложенность повтора и условия — до двух, иначе программа перестаёт быть программой.
3. Сверху — заказ: порядок деталей в приёмнике. Порядок проверяется по факту, а не по твоим намерениям: перепутал — цикл сорван.
4. Две метрики: длина программы (число блоков) и такт цикла (сколько шагов делает манипулятор). Заказ принимают, только если обе в бюджете цеха.
5. Одна и та же программа на другой подаче может встать: в свободном режиме проверка идёт на трёх лентах сразу.
Советы
- Сначала прогони заказ руками на бумаге и посчитай такты: программа без счёта тактов — это тридцать блоков вместо двенадцати.
- Условие вместо ветки: «повторять, пока не пусто» обычно короче, чем четыре одинаковых шага.
- Держи в голове последний блок: если он не возвращает манипулятор в исходную точку, цикл замкнётся неверно.