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