ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 2365
Скачиваний: 17
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Еще пример задания:
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |
вверх вниз влево вправо.
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно снизу свободно
слева свободно справа свободно
Цикл ПОКА <условие> команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение?
1) 1 2) 2 3) 3 4) 0
НАЧАЛО
ПОКА <снизу свободно> вниз
ПОКА <слева свободно> влево
ПОКА <сверху свободно> вверх
ПОКА <справа свободно> вправо
КОНЕЦ
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
-
легко понять, что для того, чтобы исполнитель вернулся обратно в ту клетку, откуда он начал движения, четыре стенки должны быть расставлены так, чтобы он упирался в них сначала при движении вниз, затем – влево, вверх и, наконец, вправо:
на рисунке красная точка обозначает клетку, начав с которой РОБОТ вернется обратно;
-
кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке справа зеленым фоном, был свободен для прохода -
обратим внимание, что возможны еще «вырожденные» варианты, вроде таких:
-
итак, мы выяснили, что нужно рассматривать лишь те клетки, где есть стенка справа; отметим на исходной карте клетки-кандидаты:
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |
-
6
5
4
3
2
1
A
B
C
D
E
F
-
проверяем оставшиеся четыре клетки-кандидаты, но для каждой из них после выполнения алгоритма РОБОТ не приходит в ту клетку, откуда он стартовал:
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |
| | | | | | 6 |
| | | | | | 5 |
| | | | | | 4 |
| | | | | | 3 |
| | | | | | 2 |
| | | | | | 1 |
A | B | C | D | E | F | |