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

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

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

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные понятия темы

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

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

Разбор задач

Книга на столе

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

  1. Подойти к книге.
  2. Взять книгу рукой.
  3. Подойти к столу, если книга находится не рядом с ним.
  4. Положить книгу на стол и отпустить её.

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

Маршрут робота

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

  1. Выполнить команду «вперёд».
  2. Ещё раз выполнить команду «вперёд».
  3. Выполнить команду «поворот направо».

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

Переход по клеткам

Условие. Исполнитель перемещается по клетчатому полю командами «вверх», «вниз», «влево», «вправо». Нужно составить алгоритм перехода из одной клетки в другую и проверить, приведёт ли он к цели. Для примера начнём в клетке A и перейдём в клетку B: две клетки вправо и одну вверх.

  1. Посмотреть на расположение цели относительно клетки A.
  2. Выполнить команду «вправо».
  3. Ещё раз выполнить команду «вправо».
  4. Выполнить команду «вверх».
  5. Сверить конечную клетку с целью B.

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

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

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

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

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

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

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

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

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

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

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

Чем алгоритм отличается от обычного описания действий?

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

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

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

Что делать, если команда непонятна исполнителю?

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

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

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

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

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

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

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

Учебник

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