Для анализа выполнения программ исполнителем (роботом), который находится в нижнем правом углу и смотрит вверх, давайте рассмотрим пошагово, что происходит в каждой из программ.
Программа (а):
Пока впереди не край повторять:
- Начало цикла:
- Прыжок: Исполнитель делает шаг вперед (то есть вверх, поскольку он смотрит вверх).
- Конец цикла: Цикл повторяется до тех пор, пока впереди не окажется край (верхняя граница поля).
Поворот: Исполнитель поворачивается на 90° вправо, то есть он теперь смотрит вправо.
Поворот: Еще один поворот на 90° вправо, теперь исполнитель смотрит вниз.
Пока впереди не край повторять:
- Начало цикла:
- Прыжок: Исполнитель делает шаг вперед (то есть вниз, поскольку он теперь смотрит вниз).
- Конец цикла: Цикл повторяется до тех пор, пока впереди не окажется край (нижняя граница поля).
Итак, после выполнения программы (а), исполнитель окажется в нижнем правом углу и будет смотреть вниз.
Программа (б):
- Пока впереди не край повторять:
- Начало цикла:
- Прыжок: Исполнитель делает шаг вперед (то есть вверх, поскольку он смотрит вверх).
- Поворот: Исполнитель поворачивается на 90° вправо, теперь он смотрит вправо.
- Прыжок: Исполнитель делает шаг вперед (то есть вправо, поскольку он теперь смотрит вправо).
- Поворот: Исполнитель поворачивается на 90° вправо, теперь он смотрит вниз.
- Поворот: Еще один поворот на 90° вправо, теперь он смотрит влево.
- Поворот: Еще один поворот на 90° вправо, теперь он снова смотрит вверх.
- Конец цикла: Цикл повторяется до тех пор, пока впереди не окажется край (верхняя граница поля).
Поскольку после каждого цикла исполнитель делает один шаг вверх и один шаг вправо, он будет двигаться по диагонали влево вверх до тех пор, пока не достигнет верхнего края поля. Таким образом, после выполнения программы (б), исполнитель окажется в верхнем правом углу и будет смотреть вверх.
Итого:
- После выполнения программы (а) исполнитель будет находиться в нижнем правом углу и смотреть вниз.
- После выполнения программы (б) исполнитель будет находиться в верхнем правом углу и смотреть вверх.