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