"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В.М. Котов, А.И. Лапо, Е.Н. Войтехович
Исполнитель Робот — это программно управляемый объект, который перемещается по клетчатому полю и выполняет доступные команды. Поле состоит из клеток, а стены могут препятствовать движению. Робот умеет переходить в соседнюю клетку вверх, вниз, влево или вправо, а также закрашивать клетку. Чтобы программа дала нужный результат, учитывают начальное положение Робота, расположение стен и порядок команд.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Исполнитель Робот — программно управляемый исполнитель, который перемещается по клетчатому полю и выполняет заданные команды. Он не придумывает действия самостоятельно, а следует готовой программе. Это понятие нужно, чтобы отличать самого исполнителя от команд, которыми им управляют.
Обстановка — расположение клеток, стен и закрашенных участков на поле, в котором действует Робот. Одна и та же команда может дать разный результат в разных обстановках. Поэтому описание поля нужно для проверки того, сможет ли Робот выполнить действие.
Клетка — отдельный элемент поля, в котором находится Робот. Положение Робота задаётся координатами клетки, то есть её местом в строке и столбце. Понятие клетки помогает точно определить начальное место и проследить перемещение исполнителя.
Команда исполнителя — указание, которое Робот может выполнить, например перейти в соседнюю клетку или закрасить текущую. Набор допустимых команд называют системой команд исполнителя. Зная эти команды, можно составить программу и предсказать её результат.
Поле Робота разбито на клетки, чтобы движение можно было описывать отдельными шагами. Стены ограничивают переходы между некоторыми соседними клетками, поэтому Робот не может двигаться сквозь них. Из-за этого название команды само по себе не гарантирует её успешное выполнение: нужно учитывать обстановку.
Команда перемещения переносит Робота ровно на одну клетку в выбранном направлении. Такой небольшой шаг позволяет точно контролировать путь и после каждой команды знать новое положение исполнителя. Если между текущей и соседней клеткой есть стена, перейти туда нельзя.
Команда «Закрасить» действует на клетку, в которой Робот находится в момент выполнения. Она меняет состояние этой клетки, но не меняет положение исполнителя. Поэтому закрашивание нужной клетки обычно ставят после команды, которая привела Робота к цели.
Программа для Робота представляет собой последовательность команд. Исполнитель начинает с первой команды, затем выполняет вторую, третью и так далее, не меняя их порядок. Такой порядок важен, потому что одна и та же команда может быть возможна в начале пути и невозможна после предыдущих перемещений.
Для составления программы сначала определяют начальную клетку и конечную цель. Затем проверяют путь по шагам, учитывая стены, и записывают нужные направления в правильной последовательности. После каждого шага полезно мысленно отмечать новую клетку, а в конце отдельно проверить, выполнено ли закрашивание.
| Команда | Что делает | Когда выполнение возможно |
|---|---|---|
| Вверх | Перемещает Робота на одну клетку вверх | Если сверху нет стены |
| Вниз | Перемещает Робота на одну клетку вниз | Если снизу нет стены |
| Влево | Перемещает Робота на одну клетку влево | Если слева нет стены |
| Вправо | Перемещает Робота на одну клетку вправо | Если справа нет стены |
| Закрасить | Закрашивает текущую клетку | Если Робот находится на поле |
Сначала найдите в таблице направление нужного перехода, а затем проверьте, свободна ли соседняя клетка. Для закрашивания выбирайте команду «Закрасить», когда Робот уже стоит в нужном месте. Помните, что каждая команда перемещения означает только один переход.
Робот стоит в клетке, справа от которой нет стены. Требуется переместить его на одну клетку вправо. В условии уже указано, что переход свободен, поэтому дополнительный маршрут искать не нужно.
Ответ: Вправо.
Роботу нужно перейти на две клетки вверх и закрасить клетку назначения. Движение на две клетки нельзя записать одной командой, потому что каждый переход меняет положение только на одну клетку. Поэтому сначала выполняем два одинаковых шага, а затем закрашивание.
Ответ: Вверх, Вверх, Закрасить.
Робот должен пройти по коридору с поворотом, не столкнувшись со стенами, и закрасить конечную клетку. Точные команды зависят от схемы поля: сначала нужно определить прямые участки и место поворота. На каждом участке число команд равно числу клеток, которые нужно пройти.
Ответ: последовательность направлений по коридору, команда поворота на нужном участке и затем «Закрасить».
Ученик записывает направление к цели, не проверив стену между клетками. Так происходит, когда поле воспринимают как пустую таблицу и забывают об обстановке. Проверьте каждую границу между соседними клетками перед выполнением команды.
Иногда считают, что команда перемещения переносит Робота сразу через весь ряд. Ошибка возникает из-за смешения направления и расстояния: одна команда означает один шаг. Посчитайте команды и убедитесь, что после каждой Робот стоит в соседней клетке.
Команду «Закрасить» ставят до перемещения, хотя требуется закрасить клетку назначения. Причина — невнимательное чтение условия о месте закрашивания. Представьте положение Робота непосредственно перед этой командой и проверьте, является ли клетка нужной.
Начальное положение Робота не учитывают при выполнении программы. Тогда даже правильно выбранные направления приводят не к той клетке. Отметьте стартовую клетку и мысленно изменяйте положение после каждого шага.
До изучения Робота полезно понимать, что алгоритм состоит из команд, выполняемых в определённом порядке. Это помогает воспринимать программу не как случайный список действий, а как точный план движения. Исполнитель показывает, как алгоритм работает в конкретной обстановке.
Понятия исполнителя и последовательности команд пригодятся при изучении ветвлений и циклов. Ветвление позволяет выбирать действие в зависимости от условия, а цикл — повторять команды несколько раз. Позже эти конструкции помогут записывать более короткие и гибкие программы для Робота.
Что называют исполнителем Робот?
Исполнитель Робот — это программно управляемый исполнитель, работающий на клетчатом поле. Он выполняет только те команды, которые входят в его систему команд.
Как Робот перемещается по клетчатому полю?
Робот переходит на одну соседнюю клетку вверх, вниз, влево или вправо. Переход выполняется только тогда, когда нужное направление не преграждает стена.
Что происходит, если перед Роботом находится стена?
Перемещение в сторону стены выполнить нельзя. Нужно выбрать другое направление или изменить программу, чтобы Робот не пытался пройти через препятствие.
Закрашивает ли Робот клетку, в которую переходит?
Нет, переход сам по себе клетку не закрашивает. Для этого после перемещения нужно выполнить команду «Закрасить».
Как понять, в какой клетке окажется Робот после выполнения программы?
Нужно начать с его начальной клетки и последовательно выполнить каждую команду. После каждого перемещения проверяют направление и наличие стены, а команда «Закрасить» положение Робота не меняет.
§ 9. Исполнитель Робот