Система команд исполнителя Робот
Команды Робота можно разбить на три группы:
1) команды действия: вверх, вниз, вправо, влево, закрасить;
2) команды проверки условия: сверху стена, сверху свободно, снизу стена, снизу свободно, справа стена, справа свободно, слева стена, слева свободно, клетка закрашена, клетка чистая;
3) команды измерения: температура, радиация.
По командам вверх, вниз, вправо, влево Робот перемещается на одну клетку в указанном направлении. При попытке Робота пройти через стену возникает ошибка в работе программы, выполнение которой при этом прерывается.
По команде закрасить Робот закрашивает клетку, в которой находится. Даже если клетка уже была закрашена, он закрасит ее еще раз, то есть она останется закрашенной.
Для получения информации об окружающей обстановке Робот использует команды проверки условия и команды измерения. При проверке условия получаем ответ да или нет.
Рассмотрим несколько примеров написания линейных алгоритмов с помощью системы КуМир.
Пример 1. Считая, что Робот находится где-то в центре поля, закрасим квадрат, размер которого 2x2 клетки, в любом месте поля.
Один из вариантов решения этой задачи и результат выполнения программы представлены на рисунке:
Задание 1. Придумайте еще несколько вариантов программы, выполняющей то же задание, что и в примере.
Задание 2. Допишите пропущенную команду в программе, если известно, что после ее выполнения Робот должен вернуться в начальное положение.
алг перемещение нач вверх влево вверх ? вниз вправо вправо вниз кон
Пример 2.Составим алгоритм из трех команд, который переместит Робота из исходного положения в клетку А (см. рисунок).
Алгоритм может выглядеть следующим образом:
алг перемещение нач вверх; вправо; вправо кон
Запустите эту программу и просмотрите ее выполнение по шагам.
Задание 3. Придумайте еще два варианта программы, перемещающей Робота в клетку А.
Задание 4. Составьте программу, которая закрашивает выделенные клетки (см. рисунок) и возвращает Робота в исходное положение. Придумайте несколько вариантов решения этой задачи.
Пример 3. Необходимо составить программу, которая переместит Робота на противоположную сторону стены с минимальным количеством шагов (стартовая обстановка изображена на рисунке).
Сначала нужно создать стартовую обстановку. Для этого в пункте меню «Инструменты» выбираем пункт «Редактировать стартовую обстановку Робота», после чего задаем параметры обстановки.
Программа может выглядеть следующим образом:
алг обойти стену нач вверх; вправо; вниз кон
Задание 5. Измените программу третьего примера таким образом, чтобы Робот обходил стену с другой стороны.
Задание 6. Составьте программу, которая проведет Робота по лабиринту из начального положения в клетку (см рисунок). Не забудьте перед началом выполнения программы создать необходимую стартовую обстановку.
Задание 7. Считая, что Робот находится где-то в центре поля, создайте программу закрашивающую вертикальный прямоугольник, размер которого 2x3 клетки.
Задание 8. Измените программу, созданную в предыдущем задании, таким образом, чтобы прямоугольник располагаются по горизонтали.