Главная » Файлы » 8 класс

Знакомимся с Роботом
28.10.2013, 10:33

Знакомимся с Роботом

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

Система команд исполнителя «Робот» включает:

  • 5 команд, вызывающих действия Робота (влево, вправо, вверх, вниз, закрасить)
  • 10 команд проверки условий:
  • 8 команд вида [слева/справа/снизу/сверху] [стена/свободно]
  • 2 команды вида клетка [закрашена/чистая]
  • 2 команды измерения (температура, радиация)

Команды-действий

Команда Описание
влево Перемещает робота на одну клетку влево. Если слева стена, выдает отказ.
вправо Перемещает робота на одну клетку вправо. Если справа стена, выдает отказ.
вверх Перемещает робота на одну клетку вверх. Если сверху стена, выдает отказ.
вниз Перемещает робота на одну клетку вниз. Если снизу стена, выдает отказ.
закрасить Делает клетку, в которой находится робот, закрашенной.

Команды-проверки

Команда Описание
лог слева свободно Возвращает да, если робот может перейти влево, иначе — нет.
лог справа свободно Возвращает да, если робот может перейти вправо, иначе —нет.
лог сверху свободно Возвращает да, если робот может перейти вверх, иначе — нет.
лог снизу свободно Возвращает да, если робот может перейти вниз, иначе — нет.
лог слева стена Возвращает да, если слева от робота находится стена, иначе— нет.
лог справа стена Возвращает да, если справа от робота находится стена, иначе— нет.
лог сверху стена Возвращает да, если сверху от робота находится стена, иначе— нет.
лог снизу стена Возвращает да, если снизу от робота находится стена, иначе— нет.
лог клетка закрашена Возвращает да, если клетка закрашена, и нет, если клетка незакрашена.
лог клетка чистая Возвращает нет, если клетка закрашена, и да, если клетка незакрашена.

 Команды-измерения

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


Пусть требуется перевести из клетки слева от стены в клетку справа от стены:

Стартовая обстановка После выполнения алгоритма
стартовая обстановка робота
положение робота после выполнения алгоритма

Алгоритм может выглядеть так:

использовать Робот
алг пример 1
нач
. вниз
. вправо
. вверх
кон

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

Ошибка! Будет отказ!

использовать Робот
алг пример 2
нач
. вправо
кон
Ошибка. Робот разбился.

Напишем алгоритм прохождения роботом лабиринта из точки А в Б:

стартовая обстановка
путь по лабиринту

использовать Робот
алг из А в Б
нач
. вправо
. вверх; вверх; вправо; вниз; вниз; вправо
.
вверх; вверх; вправо; вниз; вниз; вправо
. вверх; вверх; вправо; вниз; вниз; вправо
кон

Команды прохождения каждого участка можно сгруппировать в одну строку — это сокращает запись алгоритма и делает его более понятным. Для того чтобы записать команды в одну строку их нужно разделить точкой с запятой.

Если вспомнить цикл N раз, то можно записать алгоритм еще компактнее:

использовать Робот
алг из А в Б
нач
. вправо
. нц 3 раз
. . вверх; вверх; вправо; вниз; вниз; вправо
. кц
кон

Задание 1. Имеется поле 4 на 5. Робот находится в левой верхней точке. Необходимо закрасить все поле и вернуться в исходное положение. Решите эту задачу без использования и с использованием вспомогательных алгоритмов.



Задание 2. Составить алгоритм закраски всех клеток вокруг прямоугольной стены 3 на 7 клеток.


Категория: 8 класс | Добавил: matematika
Просмотров: 1522 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: