Практическая работа «Исполнитель Робот»

Изучи систему команд исполнителя Робот среды КуМИР и выполни задания по написанию программ с использованием циклов и ветвлений.

Изучи СКИ Робот.

Представь себе клетчатое поле (как лист из тетради в клетку), на котором находится исполнитель Робот. Нужно написать программу для Робота так, чтобы он закрасил определённые клетки поля в соответствии с заданием.

Само поле задаётся через пункт меню «Робот» — «Новая обстановка». Можно выбрать положение Робота, расположение остальных элементов — стен, закрашенных клеток.

В диалоговом окне указывается размер поля как количество строк и столбцов.

Затем на поле в необходимых местах можно расположить стены, закрашенные клетки, буквы для обозначения клеток и т. д.

Для того чтобы подключить команды, известные Роботу, необходимо его вызвать командой «использовать Робот».

Теперь можно использовать команды для перемещения Робота:

  • вверх (Esc, ↑);
  • вниз (Esc, ↓);
  • влево (Esc, ←);
  • вправо (Esc, →);
  • закрасить (Esc, пробел).

Робот умеет проверять наличие стен в той клетке, где он находится. Условия могут быть сформулированы так:

  • сверху стена;
  • снизу стена;
  • слева стена;
  • справа стена.

Можно использовать сложные условия, в составе которых применяются логические связки И, ИЛИ, НЕ.

Ещё одно условие, которое можно использовать при создании разветвляющихся алгоритмов для Робота, — это проверка, закрашена ли клетка, в которой находится Робот.

Для повторяющихся конструкций можно использовать цикл со счётчиком.

Можно использовать цикл-ПОКА, в котором указывается простое или сложное условие.

Выполни задания.

Создай для Робота поле 20×18 клеток и размести его в клетке, соответствующей второй строке в пятом столбце. Напиши программу для Робота, чтобы он нарисовал горизонтальные линии так, как изображено на рисунке. Используй в программе цикл со счётчиком. Вариант начала движения Робота показан стрелками.

Создай для Робота поле 16×20 клеток и размести его в клетке, соответствующей первой строке во втором столбце. Напиши программу для Робота, чтобы он нарисовал горизонтальные линии так, как изображено на рисунке. Используй в программе цикл со счётчиком. Вариант начала движения Робота показан стрелками.

Создай стартовую обстановку для Робота по предложенному образцу. Напиши программу, чтобы Робот, находящийся в левом верхнем углу, переместился по коридору между стен, закрашивая пройденные клетки, включая последнюю.

Создай стартовую обстановку для Робота по предложенному образцу. Напиши программу, чтобы Робот, перемещаясь из первоначальной позиции слева направо, закрашивал только те клетки, у которых сверху есть стена.

Программа должна работать и в том случае, если количество клеток на пути Робота больше, а стены сверху расположены в произвольном порядке.

Создай две произвольные стартовые обстановки, соответствующие условию задачи. Протестируй свою программу для разных стартовых обстановок.

Создай стартовую обстановку для Робота по предложенному образцу. Напиши программу для Робота, чтобы, перемещаясь из первоначальной позиции в правый нижний угол, он закрашивал все клетки, у которых сверху есть стена.

Создай стартовую обстановку для Робота по предложенному образцу. Напиши программу для Робота, чтобы, двигаясь по сторонам квадрата и проходя через вершины A, B, C, D, он закрашивал клетки, у которых во внутреннем квадрате нет стен.

Для программы из задания 6 создай новую обстановку так, как показано на рисунке. Запусти программу и сравни полученный результат с показанным на рисунке.

Выполни следующие задания:

  1. Внеси изменения в свою программу, чтобы получить результат, как на рисунке (если это необходимо).
  2. Для написанной тобой программы придумай свою обстановку, соответствующую условию задания 6. Протестируй её и скорректируй, если потребуется.