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