Робот на клетчатой бумаге — найди маршрут и запиши программу
Игры на бумаге · № 104 · алгоритмы
«Робот на бумаге» — это игра с маршрутом, которую легко провести без компьютера. Вместо программирования на экране игрок составляет короткую последовательность стрелок, а второй участник выступает исполнителем: передвигает значок робота по клеткам и останавливается, если команда ведёт в стену.
Содержание статьи7 разделов
Как подготовить игровое поле
Начертите сетку из семи строк и семи столбцов. Стены удобно закрашивать чёрным карандашом; остальные клетки оставляйте белыми. Подписывайте координаты, чтобы можно было обсуждать маршрут по телефону или в классе.
1 2 3 4 5 6 7 1 # # # # # # # 2 # S . . # G # 3 # . # . . . # 4 # . . . # . # 5 # . # . . . # 6 # . . . . . # 7 # # # # # # #
Старт S — в строке 2, столбце 2. Финиш G — строка 2, столбец 6. Важно: соседство на одной строке не означает, что можно просто провести прямую — между ними стоит стена.
Словарь команд для бумажного робота
| Команда | Действие | Как записать словами |
|---|---|---|
| ↑ | На клетку выше | Вверх |
| ↓ | На клетку ниже | Вниз |
| ← | На клетку левее | Влево |
| → | На клетку правее | Вправо |
Если следующая клетка — #, программа считается ошибочной и останавливается. Робот не перепрыгивает стену и не двигается по диагонали. В учебной версии все команды записываются заранее; поправлять маршрут во время исполнения запрещено.
Задание № 1 — составьте программу из шести стрелок
Попробуйте обойти препятствие, не заходя на внешнюю рамку. Сравнивайте каждую команду с текущими координатами: после двух ходов направо робот окажется в (2,4), но следующая клетка справа — стена. Значит, надо спуститься и попробовать обогнуть её.
Команды: 1. __ 2. __ 3. __ 4. __ 5. __ 6. __
После каждой команды записывайте пару «строка, столбец». Если последовательность выходит за поле или попадает в стену, укажите номер первой неверной команды.
Показать проверенный маршрут и координаты
Программа: → → ↓ → → ↑ S (2,2) 1 → (2,3) 2 → (2,4) 3 ↓ (3,4) 4 → (3,5) 5 → (3,6) 6 ↑ (2,6) = G
Каждый переход идёт в клетку без стены. Маршрут длиной шесть шагов найден алгоритмом поиска в ширину, то есть это один из кратчайших маршрутов на указанном поле.
Задание № 2 — отладьте чужую программу
Другой игрок написал: → → → ↓ → ↑. Попробуйте выполнить её слева направо. Где робот впервые нарушит правило?
Ответ к заданию на ошибку
Третья команда «→» пытается провести робота из (2,4) в (2,5), но там находится стена. Поэтому выполнение останавливается на третьем шаге, а дальнейшие команды не рассматриваются.
Как устроить настоящую игру для двоих
- Игрок А рисует новое поле 6×6 или 7×7, отмечает старт и цель и сам находит хотя бы один путь.
- Игрок Б за две минуты записывает программу стрелками без права стирать стены.
- А выполняет команды. Если робот дошёл до цели по правилам, Б получает 1 очко.
- Дополнительное очко получают за путь без лишних шагов; для честности автор должен заранее записать известный кратчайший путь.
- Игроки меняются ролями. Побеждает тот, у кого больше очков после четырёх раундов.
Три уровня сложности
| Уровень | Новое ограничение | Что меняется |
|---|---|---|
| 1 | Одна команда — один шаг | Тренировка чтения карты |
| 2 | Нельзя проходить одну клетку дважды | Нужно отслеживать уже пройденный маршрут |
| 3 | Используйте запись «→×2, ↓, →×2, ↑» | Ребёнок осваивает сокращённые команды и повторения |
Чему учит игра и как проверить честность
За внешне простой прогулкой по клеткам скрываются навыки работы с алгоритмами: последовательность действий, исполнение без импровизации, поиск ошибки и исправление программы. Можно поставить таймер, но лучше сначала добиться точности. Скорость имеет смысл сравнивать только после того, как оба понимают правило стен.
- Проверяйте, что у составленного автором поля есть хотя бы один проход к финишу.
- Не меняйте уже выполненную команду после того, как заметили ошибку.
- Не разрешайте роботам «проходить через угол» диагонально.
- Если детям трудно удерживать текущую клетку в памяти, используйте маленькую бумажную фишку и перемещайте её по нарисованной сетке.
Три вопроса для самопроверки
Можно ли пройти из (2,4) в (2,6) одной командой? Нет: команда движет только на одну клетку, а между ними ещё и стена.
Куда ведёт последняя команда программы? Из (3,6) вверх в (2,6), на финиш.
Для чего нужен второй игрок-исполнитель? Он проверяет алгоритм без подсказок и показывает первую ошибку, если она есть.
После этой игры легко перейти к более сложным заданиям: полям со сбором звёздочек, ограничением количества поворотов или несколькими обязательными промежуточными точками. Но начинайте с одного чёткого маршрута.
Примеры сделаны для самостоятельной игры на обычном листе. Ответы к заданиям раскрываются после попытки решения. Иллюстрации-поля приведены в тексте и не требуют внешних файлов.
Сохраните материал или отправьте тому, кому он пригодится.
