Команды управления Роботом из программы


Основные темы параграфа:



-Общие сведения
-Команды-действия
-Команды-проверки
-Команды-измерения

Общие сведения

Кумир-программа, управляющая Роботом, должна начинаться со строки использовать Робот (подробнее – см. описание языка Кумир). При выполнении этой строки Кумир помещает Робота в стартовую обстановку.

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

Командам влево, вправо, вверх, вниз, закрасить соответствуют алгоритмы-процедуры языка КуМир. Остальным командам соответствуют алгоритмы-функции, тип этих функций указан ниже.


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

1) Влево.
Синтаксис:
алг влево

Перемещает Робота на одну клетку влево. Если слева стена, выдает отказ.

2) Вправо.
Синтаксис:
алгвправо

Перемещает Робота на одну клетку вправо. Если справа стена, выдает отказ.

3) Вверх.
Синтаксис:
алг вверх

Перемещает Робота на одну клетку вверх. Если сверху стена, выдает отказ.

4) Вниз.
Синтаксис:
алг вниз

Перемещает Робота на одну клетку вниз. Если снизу стена, выдает отказ.

5) Закрасить.
Синтаксис:
алг закрасить

Делает клетку, в которой находится робот, закрашенной.

Ниже приведён пример использования команд-действий Роботa.



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

1)Слева свободно
Синтаксис:
алг лог слева свободно

Возвращает да, если Pобот может перейти влево, иначе – нет.

2)Справа свободно
Синтаксис:
алг лог справа свободно

Возвращает да, если Pобот может перейти вправо, иначе – нет.

3)Сверху свободно
Синтаксис:
алг лог сверху свободно

Возвращает да, если Pобот может перейти вверх, иначе – нет.

4)Снизу свободно
Синтаксис:
алг лог снизу свободно

Возвращает да, если Pобот может перейти вниз, иначе – нет.

5)Слева стена
Синтаксис:
алг лог слева стена

Возвращает да, если слева от Pобота находится стена, иначе – нет.

6)Справа стена
Синтаксис:
алг лог справа стена

Возвращает да, если справа от Pобота находится стена, иначе – нет.

7) Сверху стена
Синтаксис:
алг лог сверху стена

Возвращает да, если сверху от Pобота находится стена, иначе – нет.

8)Снизу стена
Синтаксис:
алг лог снизу стена

Возвращает да, если снизу от Pобота находится стена, иначе – нет.

9)Клетка закрашена
Синтаксис:
алг лог клетка закрашена

Возвращает да, если клетка закрашена, иначе – нет.

10)Клетка чистая
Синтаксис:
алг лог клетка чистая

Возвращает нет, если клетка закрашена, иначе – да.


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

1)Радиация
Синтаксис:
алг вещ радиация

Возвращает значение радиации в клетке, где находится Pобот.

2)Температура
Синтаксис:
алг вещ температура

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