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