На Горох
Информатика

17. Исполнитель алгоритма

"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.

Объяснение темы В оглавлении: 17. Исполнитель алгоритма

Кратко о теме

Исполнитель алгоритма — человек, устройство или программа, которые выполняют команды, чтобы решить задачу. У каждого исполнителя есть свой набор понятных ему команд и условия, в которых он действует. Поэтому алгоритм нельзя составлять отвлечённо: нужно учитывать возможности исполнителя и объекты окружающей среды. Это помогает понять, почему робот не выполнит незнакомую команду и почему даже правильная последовательность действий может не сработать, если на пути есть препятствие.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Исполнитель алгоритма — это человек, устройство или программа, способные выполнять команды алгоритма. Исполнитель нужен, чтобы воплотить записанный план действий и получить результат. При этом он действует лишь в пределах своих возможностей: например, робот не может выполнить действие, которого не умеет совершать.

Команда исполнителя — указание на одно действие, которое исполнитель может выполнить. Команда должна быть ему понятна: слово «поверни» может подойти человеку, но роботу потребуется точное указание, в какую сторону повернуться. Когда мы знаем команды исполнителя, мы можем составить для него выполнимый алгоритм.

Система команд исполнителя — это полный набор команд, которые данный исполнитель умеет выполнять. Например, в неё могут входить команды «вперёд» и «повернуть», но не входить команда «прыгнуть». Перечень нужен, чтобы проверить, сможет ли исполнитель выполнить каждое указание алгоритма.

Среда исполнителя — обстановка и объекты, с которыми он взаимодействует во время выполнения алгоритма. Для робота это могут быть поле, клетки, стены и выход, а для программы — данные, с которыми она работает. Описание среды помогает понять, какие действия возможны и что может помешать исполнителю.

Как это устроено

Один алгоритм иногда подходит разным исполнителям, если каждый из них понимает записанные команды и может выполнить их в нужной обстановке. Например, маршрут «пройти вперёд, затем повернуть направо» может выполнить человек и робот, если их команды задают эти действия. Если же роботу нужно указать движение по клеткам, а команда задана только словами, он может её не распознать. Значит, пригодность алгоритма определяется не только целью, но и тем, как исполнитель понимает указания.

Исполнитель не выбирает любые действия по своему усмотрению: он действует в рамках системы команд. Поэтому перед составлением алгоритма полезно узнать, что именно исполнитель умеет делать, иначе в последовательность может попасть недоступная команда. Так, наличие команды «вперёд» ещё не означает, что исполнитель умеет перепрыгивать препятствия. Алгоритм составляют с учётом возможностей, а не предполагают, что исполнитель сам добавит недостающие действия.

Для выполнения команды должны существовать подходящие условия и объекты среды. Представим робота, который должен проехать вперёд по клетке: ему нужен свободный участок, куда можно переместиться. Если перед ним стена, команда может оказаться невыполнимой, даже если она есть в системе команд. Поэтому планируют не только действия робота, но и проверяют путь, направление движения и расположение препятствий.

Алгоритм задаёт последовательность команд, а исполнитель выполняет их одну за другой. После каждого действия может меняться состояние среды: робот перемещается, занимает другую клетку или оказывается повёрнут в новом направлении. Это важно учитывать, потому что следующая команда выполняется уже в изменившихся условиях. Если переставить команды местами, робот может попасть в другое место или столкнуться с препятствием.

Человек часто способен догадаться о смысле неточной инструкции благодаря опыту и знаниям о ситуации. Автоматический исполнитель так не поступает: он выполняет только те указания, которые может распознать, и не дополняет их догадками. Например, просьба «иди туда» не задаёт роботу точного направления и расстояния. Для автомата команду нужно сформулировать однозначно, используя его систему команд.

Понятия, связанные с исполнителем алгоритма

ПонятиеЧто означаетПример для робота
ИсполнительТот, кто выполняет команды алгоритмаРобот на клетчатом поле
КомандаУказание на одно действие«Вперёд» на одну клетку
Система команд исполнителяПолный набор команд, доступных исполнителю«Вперёд», «повернуть налево», «повернуть направо»
Среда исполнителяОбъекты и условия, с которыми исполнитель взаимодействуетКлетки, стены, стартовая клетка и выход

Пользуйся таблицей, чтобы не смешивать того, кто выполняет действия, сами действия и обстановку вокруг. Сначала назови исполнителя, затем проверь его команды и только после этого опиши среду. Так проще понять, выполним ли задуманный алгоритм.

Разбор задач

Задача 1. Для исполнителя-робота заданы команды «вперёд» и «повернуть». Может ли он выполнить команду «прыгнуть»? Сначала нужно сравнить требуемое действие с доступными роботу командами. Нельзя считать, что робот догадается о новом действии сам.

  1. Назовём систему команд: в неё входят «вперёд» и «повернуть».
  2. Проверим, есть ли в этом наборе команда «прыгнуть». Её нет.
  3. Сделаем вывод: выполнить незнакомое действие по этому набору команд робот не сможет.

Ответ: нет, команды «прыгнуть» нет в системе команд робота.

Задача 2. Робот должен пройти по клетчатому полю к выходу. Нужно назвать исполнителя, возможные команды и объекты среды. Здесь важно не объединять эти понятия: робот выполняет действия, команда задаёт действие, а поле и его элементы задают условия выполнения. Конкретная система команд зависит от того, какие действия роботу разрешены.

  1. Исполнитель — робот, которому поручено пройти маршрут.
  2. Возможные команды — «вперёд на одну клетку», «повернуть налево» и «повернуть направо».
  3. Объекты среды — клетки поля, стены, начальная клетка и выход.

Ответ: исполнитель — робот; его система команд может включать движение и повороты; среда — поле с клетками, препятствиями и выходом.

Задача 3. Роботу нужно пройти две клетки вперёд, повернуть направо и пройти ещё одну клетку. Проверим, выполним ли план, если на пути есть стена. В условии не сказано, на какой именно клетке стоит стена, поэтому нужно оценить сначала обычный маршрут, а затем случай с препятствием.

  1. Запишем порядок действий: «вперёд», «вперёд», «повернуть направо», «вперёд».
  2. Проверим, входят ли эти команды в систему команд робота. По условию робот умеет двигаться и поворачивать.
  3. Проследим путь по клеткам. Если стена стоит на клетке, куда ведёт любой шаг, пройти этот участок нельзя.
  4. Если первые две клетки свободны, но стена находится на пути после поворота, последняя команда также невыполнима.

Ответ: последовательность команд составлена верно, но выполнить её целиком можно только при свободном пути; стена на маршруте мешает движению.

Типичные ошибки

Считать исполнителем только человека — ошибка, потому что команды могут выполнять также устройства и программы. Такое заблуждение возникает из привычки думать об исполнителе как о том, кто сознательно действует. Проверь себя: если объект способен выполнять заданные команды, он может быть исполнителем.

Называть систему команд одной отдельной командой — значит путать часть с целым. Например, «вперёд» — команда, а набор «вперёд», «назад» и «повернуть» может составлять систему команд. Чтобы проверить себя, спроси: речь об одном действии или обо всех действиях, доступных исполнителю?

Предполагать, что исполнитель поймёт любую инструкцию, нельзя: исполнитель действует по тем командам, которые распознаёт. Люди нередко догадываются о смысле фразы по ситуации, поэтому ошибка кажется естественной. Проверка проста: найди каждую команду алгоритма в системе команд исполнителя и убедись, что она сформулирована точно.

Смешивать исполнителя со средой — значит принимать того, кто действует, за объекты, среди которых он действует. Это происходит, когда все элементы ситуации называют одним общим словом, например «робот на поле». Раздели описание на две части: кто выполняет действия и с какими предметами или условиями он взаимодействует.

Связь с другими темами

Для изучения исполнителя нужно знать, что алгоритм — это последовательность команд для решения задачи. Такое понимание помогает увидеть разницу между планом действий и тем, кто этот план выполняет. Сначала задают алгоритм, а затем проверяют, подходит ли он конкретному исполнителю и его возможностям.

Понятие исполнителя пригодится при изучении способов записи алгоритмов и программирования устройств и компьютеров. Программа должна содержать команды, которые компьютер или устройство способны распознать. Если при записи не учитывать систему команд и условия работы, алгоритм окажется невыполнимым.

Что запомнить

  • Исполнитель выполняет алгоритм.
  • Команда задаёт исполнителю отдельное действие.
  • Система команд — набор команд, доступных исполнителю.
  • Алгоритм должен учитывать возможности исполнителя.
  • Среда — объекты и условия, с которыми исполнитель взаимодействует.
  • Исполнитель не выполняет команды, которых нет в его системе команд.

Частые вопросы по теме

Может ли исполнителем алгоритма быть компьютерная программа?

Да. Исполнителем может быть не только человек или устройство, но и программа, если она способна выполнять команды алгоритма. При этом команды должны соответствовать тому, что программа умеет делать.

Чем команда отличается от системы команд?

Команда — это указание на одно действие, например «повернуть направо». Система команд — полный набор действий, которые доступны конкретному исполнителю.

Почему один и тот же алгоритм подходит не каждому исполнителю?

У разных исполнителей различаются возможности и системы команд. Если в алгоритме есть команда, которую исполнитель не распознаёт или не умеет выполнять, он не сможет пройти по этому алгоритму.

Что называют средой исполнителя?

Среда — это обстановка, условия и объекты, с которыми исполнитель взаимодействует. Для робота на клетчатом поле это, например, клетки, стены и выход.

Может ли исполнитель выполнить команду, которой нет в его системе команд?

Нет, исполнитель выполняет только доступные ему команды. Чтобы выполнить нужное действие, надо либо выбрать другого исполнителя, либо изменить алгоритм так, чтобы он использовал его команды.

Спросить по теме параграфа

17. Исполнитель алгоритма

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.