Ответ: 8.
Пример 5.4
Исполнитель Робот существует в лабиринте – поле, представленном в виде квадрата 6х6. Робот имеет две команды: влево и вниз, вверх, вниз, которые перемещают его на клетку влево или вниз соответственно. При попытке выхода за границы лабиринта или столкновения со стеной Робот разрушается.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и закончит работу в клетке начала движения?
НАЧАЛО
ПОКА <снизу свободно>
вниз
КОНЕЦ ПОКА
ПОКА <слева свободно>
влево
КОНЕЦ ПОКА
ПОКА <сверху свободно>
вверх
КОНЕЦ ПОКА
ПОКА <справа свободно>
вправо
КОНЕЦ ПОКА
КОНЕЦ
Решение:
1) Заметим, что в общем случае Робот идет сначала до стены вниз, затем влево, потом вверх и заканчивает маршрут движением вверх, до стены.
Один из главных приёмов в решении этой задачи – проверять клетки группами, а не по одной.
Проверим почти все клетки Робота на предмет того, подходит ли алгоритм:
– A6 – маршрут вниз-вверх – подходит;
– F6 – маршрут влево-вправо – подходит;
– D5 – маршрут вниз-влево, вверх, вправо – подходит;
– E5 – маршрут вниз-влево, вверх, вправо (остановка в D5) – не подходит;
– B4 – маршрут вниз-вверх-вправо (остановка в D4) – не подходит;
– C4 – не двигается, стоит на одном месте – подходит;
– C2 – не двигается, стоит на одном месте – подходит;
– F5 – маршрут вниз-вверх – подходит;
– F4 – вниз-вверх (остановка F5) – не подходит;
– F3 – вниз-вверх (остановка F5) – не подходит;
– F2 – вниз-вверх (остановка F5) – не подходит;
– F1 – вверх (остановка F5) – не подходит;
– A2 – вверх (остановка в А6) – не подходит;
– A1 – не двигается – подходит;
– E1 – влево-вверх-вправо (остановка в D4) – не подходит.
Задача, конечно, нудная, т.к. проверять нужно все клетки, в которых вы сомневаетесь. Понятно, что клетки пустые, где нет стенок, в них Робот начать и остановиться не сможет, поэтому эти клетки можно не проверять. Иногда такие задачи дают на экзамене, и лучше вычеркивать клетки в приложении «Ножницы». Здесь нужна высокая степень концентрации.
Ответ: 7.
Задачи для самостоятельного решения
Задача 5.5
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописывается сначала ноль, а затем единица. В противном случае, если N нечётное, справа дописывается сначала единица, а затем ноль.
Например, двоичная запись 100 числа 4 будет преобразована в 10001>2, а двоичная запись 111 числа 7 будет преобразована в 11110>2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа R – результата работы данного алгоритма.
Укажите минимальное число R, которое больше 102 и может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.
Задача 5.6
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, —3) переместит Чертёжника в точку (6, —1).