Другие языки программирования и технологии

Какой алгоритм для решения данной задачи в Кумире?

Р-начальное положение робота
Красным клетки, которые нужно закрасить
Чëрным соответственно стены
Конечное положение робота любое
(Длина стен любая)
Вот в RoboStart:
АС
Александр Сухов
73 229
Лучший ответ
закрашиваешь ту, на которой стоишь
идёшь вправо до конца стены
идёшь вверх до другой стены
закрашиваешь клетку, идёшь влево и так три раза
 -- Инициализация переменных -- 
переменная стена_слева, стена_справа, стена_сверху, стена_снизу : булево
переменная закрашено_красным : булево

-- Проверка начального положения робота и окружения --
если на_клетке_красная_метка_перед_роботом() тогда
закрашено_красным := истина
конец если

-- Основной цикл --
пока не закрашено_красным выполнять
-- Проверка окружения --
стена_слева := стена_слева_рядом_с_роботом()
стена_справа := стена_справа_рядом_с_роботом()
стена_сверху := стена_сверху_рядом_с_роботом()
стена_снизу := стена_снизу_рядом_с_роботом()

-- Действия робота --
если не стена_слева и не закрашено_клетка_слева() тогда
повернуть_влево()
двигаться_вперед()
иначе если не стена_справа и не закрашено_клетка_справа() тогда
повернуть_вправо()
двигаться_вперед()
иначе если не стена_сверху и не закрашено_клетка_сверху() тогда
повернуть_вверх()
двигаться_вперед()
иначе если не стена_снизу и не закрашено_клетка_снизу() тогда
повернуть_вниз()
двигаться_вперед()
иначе
-- Все соседние клетки закрашены или заблокированы стенами --
если стена_слева и стена_справа и стена_сверху и стена_снизу тогда
-- Проходим вперед до ближайшей свободной клетки --
пока не стена_впереди() выполнять
двигаться_вперед()
конец пока
иначе
-- Поворот на 90 градусов в случайном направлении --
случайное_число := случайное_целое(1, 2) -- 1 - влево, 2 - вправо
если случайное_число = 1 тогда
повернуть_влево()
иначе
повернуть_вправо()
конец если
двигаться_вперед()
конец если
конец если
конец пока

-- Конечные действия робота --
если закрашено_красным тогда
-- Робот закрасил все красные клетки --
двигаться_назад() -- Возвращаемся на начальную позицию
конец если
Нурлан Оспанов Как-то слишком сложно и есть команды, которые кумир не распознаëт