Система команд исполнителя РОБОТ, «живущего» в клетках прямоугольного лабиринта на плоскости:
вверх |
вниз |
влево |
вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре условия позволяют проверить отсутствие преград у каждой из сторон той клетки, где находится РОБОТ: |
|||
сверху свободно |
снизу свободно |
слева свободно |
справа свободно |
В цикле
ПОКА < условие > команда
команда выполняется, пока условие истинно, иначе происходит
переход
на следующую строку программы.
Если РОБОТ начнёт движение в сторону стены рядом с которой
он стоит,
то робот разрушится, и выполнение программы прервётся.
Сколько клеток лабиринта соответствуют требованию, что,
выполнив предложенную программу, РОБОТ уцелеет и остановится в той же клетке,
с которой он начал движение?
НАЧАЛО
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПОКА < снизу свободно > влево
ПОКА < слева свободно > вверх
ПОКА < сверху свободно > вправо
ПОКА < справа свободно > вниз
КОНЕЦ