На Горох
Информатика, 6 класс

16.2. Понятие исполнителя алгоритма

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", Н. П. Макарова А. И. Лапо Е. Н. Войтехович

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

Кратко о теме

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

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

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

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

Исполнитель алгоритма — человек, устройство или программа, выполняющие команды алгоритма. Алгоритм всегда предназначен конкретному исполнителю, потому что разные исполнители понимают разные указания и обладают разными возможностями. Например, рецепт адресован человеку, а команда движения по клеткам может быть предназначена роботу. Если не указать, кто будет выполнять алгоритм, нельзя понять, подходят ли ему команды.

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

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

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

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

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

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

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

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

Человек иногда понимает неточное указание благодаря опыту и догадке, но устройство действует по заданным правилам. Если сказать человеку «поставь чашку рядом», он может сам выбрать подходящее место. Устройство не станет угадывать, что значит «рядом», если это не описано в его командах. Поэтому алгоритм для устройства обычно требует особенно точных и однозначных указаний.

Характеристики исполнителя алгоритма

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

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

Разбор задач

Задача 1. Даны исполнитель — компьютерная программа для рисования — и указания: «нарисуй круг», «подпрыгни», «сохрани рисунок». Определим, какие указания являются для неё командами. Проверим, понимает ли программа каждое указание и есть ли нужное действие среди её возможностей.

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

Ответ: команды для программы — «нарисуй круг» и «сохрани рисунок», если они есть в её системе команд. «Подпрыгни» ей не подходит.

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

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

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

Задача 3. Робот стоит в клетке у левого края поля. Алгоритм: «шаг вперёд, шаг вправо, шаг вперёд». Проверим, сможет ли он выполнить его, если первая клетка перед роботом свободна, а после поворота справа находится край поля. Команды входят в систему робота, но нужно проследить его путь.

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

Ответ: робот выполняет первый шаг, но остановится на команде «шаг вправо», потому что за краем поля нет клетки. Последняя команда не выполняется.

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

Ошибка — считать исполнителем только человека. Так думают, потому что в обычной жизни слово «исполнитель» часто связывают с человеком, который что-то делает. Но алгоритм могут выполнять устройство или программа. Проверь себя: спроси, может ли этот объект получать команды и выполнять их.

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

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

Ошибка — не учитывать среду. Команду «идти вперёд» считают выполнимой только потому, что исполнитель умеет ходить. Однако впереди может быть стена или край поля. Чтобы проверить себя, после каждой команды учитывай текущее положение исполнителя и то, что находится вокруг него.

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

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

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

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

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

Кто может быть исполнителем алгоритма?

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

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

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

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

Нет, такую команду исполнитель выполнить не может: она не входит в его возможности. Чтобы алгоритм работал, нужно заменить её на подходящую команду или выбрать другого исполнителя.

Почему при составлении алгоритма важно учитывать среду исполнителя?

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

Может ли один алгоритм подходить разным исполнителям?

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

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

16.2. Понятие исполнителя алгоритма

Учебник

Оглавление →
Предмет
Информатика
Класс
6 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", Н. П. Макарова А. И. Лапо Е. Н. Войтехович