Цех Программиста: Команды

Твоя работа — не успевать руками. Твоя работа — написать так, чтобы успевала машина, и чтобы в программе не было лишнего.

Как устроен цех

1. Лента подаёт заготовки слева направо: цвет, форма, иногда пустое место. Манипулятор стоит над тремя позициями и берёт ровно то, что под ним.

2. Команды: взять, положить, сдвинуть ленту, вернуть деталь, повторять (пока не пусто), если (цвет или позиция). Вложенность повтора и условия — до двух, иначе программа перестаёт быть программой.

3. Сверху — заказ: порядок деталей в приёмнике. Порядок проверяется по факту, а не по твоим намерениям: перепутал — цикл сорван.

4. Две метрики: длина программы (число блоков) и такт цикла (сколько шагов делает манипулятор). Заказ принимают, только если обе в бюджете цеха.

5. Одна и та же программа на другой подаче может встать: в свободном режиме проверка идёт на трёх лентах сразу.

Советы

  • Сначала прогони заказ руками на бумаге и посчитай такты: программа без счёта тактов — это тридцать блоков вместо двенадцати.
  • Условие вместо ветки: «повторять, пока не пусто» обычно короче, чем четыре одинаковых шага.
  • Держи в голове последний блок: если он не возвращает манипулятор в исходную точку, цикл замкнётся неверно.

Мы используем ку​ки для аналитики. Нажимая «ОК», вы соглашаетесь.

Подробнее