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

§ 9. Универсальный исполнитель

"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.

Объяснение темы В оглавлении: § 9. Универсальный исполнитель

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сравнение специализированного и универсального исполнителей

ПризнакСпециализированный исполнительУниверсальный исполнитель
Какие задачи выполняетОграниченный круг заранее заданных задачРазные задачи, для которых можно задать программы
Как задаются действияЧасто встроены в устройство или заданы фиксированным порядкомС помощью программы, задающей алгоритм
Можно ли изменить решаемую задачуОбычно нельзя или можно лишь в узких пределахМожно, изменив программу и данные
ПримерКалькулятор с фиксированной функциейКомпьютер, запускающий разные программы

Сравнивайте исполнителей по тому, какие задачи они могут решать и можно ли изменить действия с помощью программы. Большое число команд само по себе не доказывает универсальность. Главный признак — возможность выполнять разные алгоритмы, получая разные программы.

Разбор задач

Задача 1. Исполнитель умеет выполнять команды «вперёд» и «поворот». Запишите последовательность команд, чтобы пройти квадратный маршрут: вперёд, поворот, вперёд, поворот, вперёд, поворот, вперёд. Требуется использовать только команды его системы команд и сохранить заданный порядок перемещений. Слово «поворот» здесь обозначает один поворот на прямой угол.

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

Ответ: вперёд, поворот, вперёд, поворот, вперёд, поворот, вперёд. Это программа, составленная из команд, которые исполнитель умеет выполнять.

Задача 2. Один исполнитель может только складывать числа, а другой запускает разные программы. Нужно определить, какой из них универсальный и почему. Сначала сравним не количество отдельных действий, а возможность менять решаемую задачу. Условие сообщает, что второй исполнитель выполняет разные программы.

  1. Первый исполнитель выполняет фиксированное действие — сложение чисел.
  2. У второго действия определяются программой, поэтому программа может задавать разные алгоритмы.
  3. Сопоставим это со свойством универсальности: она позволяет одному исполнителю решать разные задачи благодаря разным программам.

Ответ: универсален второй исполнитель. Первый ограничен одной указанной операцией, а второй может выполнять разные алгоритмы, если для них заданы подходящие программы.

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

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

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

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

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

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

Ошибка — считать алгоритм и программу одним и тем же. Алгоритм описывает способ решения задачи, а программа задаёт этот способ в форме команд для конкретного исполнителя. Их путают, потому что обе записи могут перечислять шаги. Чтобы проверить себя, спросите: указано ли, как именно исполнитель должен выполнить шаги и понятны ли ему используемые команды?

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

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

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

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

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

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

Чем исполнитель отличается от программы?

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

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

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

Почему компьютер называют универсальным исполнителем?

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

Чем универсальный исполнитель отличается от специализированного?

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

Может ли один и тот же компьютер решать разные задачи?

Да. Компьютер может выполнять разные программы, например вычислять сумму чисел или редактировать текст. Для каждой задачи ему нужны подходящие программа и исходные данные.

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

§ 9. Универсальный исполнитель

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

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.