7Б 01.12.2008 Задание на робота

Архив с примерами стартовых обстановок: http://server.179.ru/~dk/robot/fields_2009_all.zip


Ваши решения должны быть записаны в файлах с именами:
December/01/04-A.kum
December/01/04-B.kum
и т.д.

Что умеет робот?

Алгоритм может вызывать сам себя!
Например:

алг вправо к стене
нач
  если справа свободно
    то
      вправо
      вправо к стене
  все
кон

Задание 04-А

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

Задание 04-B

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

Задание 04-C

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

Задание 04-D

Робот находится в горизонтальном коридоре. Справа от робота есть закрашенная клетка. Робот должен дойти до закрашенной клетки, пройти ее, затем пройти вправо на такое же расстояние, то есть робот должен остановиться в клетке, симметричной начальной позиции относительно закрашенной клетки.

Задание 04-E

Робот находится в горизонтальном коридоре. Справа от робота есть закрашенная клетка. Робот должен дойти до закрашенной клетки, пройти ее, затем пройти вправо на расстояние, вдвое большее, чем первоначальное.

Задание 04-F

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

Задание 04-G

Робот находится снизу от бесконечной стены, не обязательно в соседней со стеной клетке. Где-то слева от робота в стене есть проход. Робот должен обойти стену и оказаться в клетке, симметричной начальному положению относительно стены.

Задание 04-H

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

Задание 04-I

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

Задание 04-J

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

Задание 04-K

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

Задание 04-L

Робот находится в левом конце горизонтального коридора. Коридор состоит из нечетного числа клеток. Переведите робота в среднюю клетку коридора.

Задание 04-M

Робот находится внутри лабиринта, при этом роботу доступно только ограниченное количество клеток. Закрасьте все клетки, доступные роботу.