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

Что такое алгоритм

"Информатика и ИКТ (в 2 частях)", Бененсон Е.П., Паутова А.Г.

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритм и его участники

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

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

Разбор задач

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

  1. Встань у двери и повернись лицом к доске. Это задаёт начальное положение и направление, чтобы дальнейшие указания было с чем сравнивать.
  2. Сделай три шага вперёд, затем поверни направо. Число шагов и поворот задают маршрут точнее, чем просьба «иди к парте».
  3. Сделай два шага вперёд и остановись у парты. Это завершает путь в указанной точке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как проверить, что алгоритм приводит к нужному результату?

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

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

Что такое алгоритм

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

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика и ИКТ (в 2 частях)", Бененсон Е.П., Паутова А.Г.