Система команд исполнителя Робот

Команды Робота можно разбить на три группы:

   1) команды действия: вверх, вниз, вправо, влево, закрасить;
   2) команды проверки условия: сверху стена, сверху свободно, снизу стена, снизу свободно, справа стена, справа свободно, слева стена, слева свободно, клетка закрашена, клетка чистая;
   3) команды измерения: температура, радиация.

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

Рассмотрим несколько примеров написания линейных алгоритмов с помощью системы КуМир.
Пример 1. Считая, что Робот находится где-то в центре поля, закрасим квадрат, размер которого 2x2 клетки, в любом месте поля.

Один из вариантов решения этой задачи и результат выполнения программы представлены на рисунке:

http://informat45.ucoz.ru/practica/7_klass/7-rob/7-rob-1.png

Задание 1. Придумайте еще несколько вариантов программы, выполняющей то же задание, что и в примере.
Задание 2. Допишите пропущенную команду в программе, если известно, что после ее выполнения Робот должен вернуться в начальное положение.

Код:
алг перемещение
нач
вверх
влево
вверх
?
вниз
вправо
вправо
вниз
кон

Пример 2.Составим алгоритм из трех команд, который переместит Робота из исходного положения в клетку А (см. рисунок).

http://informat45.ucoz.ru/practica/7_klass/7-rob/7-rob-2.png

Алгоритм может выглядеть следующим образом:

Код:
алг перемещение
нач
вверх; вправо; вправо
кон

Запустите эту программу и просмотрите ее выполнение по шагам.

Задание 3. Придумайте еще два варианта программы, перемещающей Робота в клетку А.

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

http://informat45.ucoz.ru/practica/7_klass/7-rob/7-rob-3.png

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

http://informat45.ucoz.ru/practica/7_klass/7-rob/7-rob-4.png

Сначала нужно создать стартовую обстановку. Для этого в пункте меню «Инструменты» выбираем пункт «Редактировать стартовую обстановку Робота», после чего задаем параметры обстановки.
Программа может выглядеть следующим образом:

Код:
алг обойти стену
нач
вверх; вправо; вниз
кон

Задание 5. Измените программу третьего примера таким образом, чтобы Робот обходил стену с другой стороны.

http://informat45.ucoz.ru/practica/7_klass/7-rob/7-rob-5.png

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

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

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