Найти в Дзене

8 класс. 17 урок. Среда разработки КуМир. Исполнитель Робот

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

Исполнитель «Робот» — это виртуальный исполнитель, который может перемещаться по клетчатому полю, закрашивать клетки и проверять наличие стен.

Он используется в среде программирования «Кумир». 

Особенности: Между соседними клетками может стоять стена, через которую Робот пройти не может.

Если Робот получит команду передвижения через стену, он разрушится (произойдёт отказ).

Команды.
У «Робота» есть
пять простых команд

«Вверх» — перемещает Робота на одну клетку вверх.
«вниз» — перемещает Робота на одну клетку вниз.
«Влево» — перемещает Робота на одну клетку влево.
«Вправо» — перемещает Робота на одну клетку вправо.
«Закрасить» — закрашивает текущую клетку, в которой находится Робот.

Проверка условий

  1. "Сверху свободно/не свободно - проверка наличие стены сверху"
  2. "Снизу свободно/не свободно - проверка наличие стены снизу"
  3. "Справа свободно/не свободно - проверка наличие стены справа"
  4. "Слева свободно/не свободно - проверка наличие стены слева"


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

Как задать стартовую обстановку в среде «Кумир»:

  1. Запустить среду, в меню «Робот» выбрать пункт «Новая обстановка».
  2. Затем задать нужное количество столбцов и строк (если обстановка не создалась, то повторить п.1-2)
  3. В открывшемся окне с синим фоном задать положение Робота на поле и расположение всех остальных элементов.
  4. Сохранить стартовую обстановку ( «Обстановка» → «Сохранить» или «Обстановка» → «Сохранить как»).

Алгоритмы
Для создания сложных алгоритмических конструкций в среде «Кумир» предусмотрены
алгоритмические конструкции «цикл» и «ветвление».

Цикл с условием — выполнение действий до тех пор, пока выполняется условие.

-2

Цикл со счётчиком — повторение последовательности команд.

Чтобы Робот выполнял однотипные действия несколько раз, мы используем циклы. В Кумире есть два основных вида циклов:

нц <количество> раз … кц: выполняет действия заданное количество раз.

Пример программы:

-3

Эта программа закрасит 4 клетки в ряд справа от начального положения Робота.

-4

ДЗ

Выполните задание.

-5

На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединен с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно над горизонтальной стеной у ее правого конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

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

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