Алгоритм для исполнителя Робот состоит из нескольких циклов, которые определяют его перемещение и закрашивание клеток. Разберем выполнение алгоритма по шагам:
Первый цикл: нц пока снизу свободно вниз кц Робот перемещается вниз, пока снизу есть свободная клетка.
Второй цикл: нц пока справа свободно вправо кц Робот перемещается вправо, пока справа есть свободная клетка.
Третий цикл: нц пока сверху свободно закрасить вверх кц Робот закрашивает клетку и перемещается вверх, пока сверху есть свободная клетка.
Четвертый цикл: нц пока не слева свободно влево закрасить кц Робот перемещается влево и закрашивает клетку, пока слева есть свободная клетка.
Представим стартовую обстановку и проследим за выполнением алгоритма:
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| P | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
1. Робот перемещается вниз до упора
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| P | | | | | | |
+---+---+---+---+---+---+---+
2. Робот перемещается вправо до упора
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | P |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
3. Робот закрашивает клетки и перемещается вверх до упора
+---+---+---+---+---+---+---+
| # | | | | | | P |
+---+---+---+---+---+---+---+
| # | | | | | | |
+---+---+---+---+---+---+---+
| # | | | | | | |
+---+---+---+---+---+---+---+
| # | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
4. Робот перемещается влево и закрашивает клетки, пока не встретит стену
+---+---+---+---+---+---+---+
| # | # | # | # | # | # | P |
+---+---+---+---+---+---+---+
| # | # | # | # | # | # | |
+---+---+---+---+---+---+---+
| # | # | # | # | # | # | |
+---+---+---+---+---+---+---+
| # | # | # | # | # | # | |
+---+---+---+---+---+---+---+
| | | | | | | |
+---+---+---+---+---+---+---+
Ответ: Робот закрасит все клетки сверху донизу и слева направо, кроме последней правой клетки.