Методика решения заданий типа «Робот в лабиринте» Жукова Т.В. МБОУ Заречнская СОШ
Методика решения заданий типа «Робот в лабиринте»
Задания этого типа сводятся к тому, чтобы определить те точки (назовем их «особые») в лабиринте, к которым робот вернется пройдя четыре раза по прямой (пока выполняется условие цикла). При этом он, естественно, пройдет по сторонам прямоугольника. Задания этого типа сводятся к тому, чтобы определить те точки (назовем их «особые») в лабиринте, к которым робот вернется пройдя четыре раза по прямой (пока выполняется условие цикла). При этом он, естественно, пройдет по сторонам прямоугольника. Очевидно, что «особая» точка – это и стартовая, и финишная позиция. А раз она финишная, то это та точка, в которой нарушилось условие продолжения последнего цикла. На этой идее основан поиск решения задачи. Очевидно, что «особая» точка – это и стартовая, и финишная позиция. А раз она финишная, то это та точка, в которой нарушилось условие продолжения последнего цикла. На этой идее основан поиск решения задачи.
Задача: Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости: Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости: вверх вниз влево вправо вверх вниз влево вправо При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх, вниз, влево, вправо. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх, вниз, влево, вправо. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно снизу свободно слева свободно справа свободно сверху свободно снизу свободно слева свободно справа свободно Цикл Цикл ПОКА команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение? ПОКА команда выполняется, пока условие истинно, иначе происходит переход на следующую строку. Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение? ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
1. Зафиксировать (отметить) те точки, где РОБОТ может прекратить движение ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
2. Попробовать отмеченные точки использовать в качестве стартовых, выполнив всю программу ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо
Ответ: Требованию «РОБОТ должен вернуться в исходную точку» удовлетворяет одна клетка. Требованию «РОБОТ должен вернуться в исходную точку» удовлетворяет одна клетка. Ответ 1. Ответ 1.
Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет (не врежется в стену) и остановится в той же клетке, с которой он начал движение? Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет (не врежется в стену) и остановится в той же клетке, с которой он начал движение? 1) 1 2) 2 3) 3 4) 0 1) 1 2) 2 3) 3 4) 0 НАЧАЛО НАЧАЛО ПОКА вверх ПОКА вверх ПОКА вправо ПОКА вправо ПОКА вниз ПОКА вниз ПОКА влево ПОКА влево КОНЕЦ КОНЕЦ ABCDEF
Решение: особенность этой задач в том, что РОБОТ проверяет стенку в одном направлении, а движется в другом особенность этой задач в том, что РОБОТ проверяет стенку в одном направлении, а движется в другом
рассмотрим первый цикл: ПОКА вверх понятно, что при движении вверх РОБОТ остановится в первой же клетке, где слева будет стена понятно, что при движении вверх РОБОТ остановится в первой же клетке, где слева будет стена
рассуждая аналогично, находим, что во втором цикле при движении вправо РОБОТ останавливается в клетке, где есть стена сверху; в третьем цикле (движение вниз) РОБОТ останавливается в клетке, где есть стена справа; рассуждая аналогично, находим, что во втором цикле при движении вправо РОБОТ останавливается в клетке, где есть стена сверху; в третьем цикле (движение вниз) РОБОТ останавливается в клетке, где есть стена справа; наконец, в четвертом цикле РОБОТ останавливается в клетке, где есть стена снизу; при этом он должен попасть обратно в исходную клетку, обозначенную на рисунке красной точкой; наконец, в четвертом цикле РОБОТ останавливается в клетке, где есть стена снизу; при этом он должен попасть обратно в исходную клетку, обозначенную на рисунке красной точкой; кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке зеленым фоном, был свободен для прохода, иначе РОБОТ врежется в стенку кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке зеленым фоном, был свободен для прохода, иначе РОБОТ врежется в стенку
теперь отметим на карте все клетки- кандидаты, где снизу есть стена: теперь отметим на карте все клетки- кандидаты, где снизу есть стена:
при движении из клеток B5, D1, E1, E6, F1 и F3 РОБОТ врежется в стенку, потому что слева стены нет и условие «слева свободно» всегда истинно: при движении из клеток B5, D1, E1, E6, F1 и F3 РОБОТ врежется в стенку, потому что слева стены нет и условие «слева свободно» всегда истинно:
начав движение с клетки A1, C1 или C2, РОБОТ также врезается в стенку и разрушается: начав движение с клетки A1, C1 или C2, РОБОТ также врезается в стенку и разрушается:
и только путь, начатый в клетке B1, приводит РОБОТА обратно в точку старта: и только путь, начатый в клетке B1, приводит РОБОТА обратно в точку старта: таким образом, только клетка B1 удовлетворяет условию задачи, поэтому правильный ответ – 1. таким образом, только клетка B1 удовлетворяет условию задачи, поэтому правильный ответ – 1.