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

§ 11. Алгоритм

"Информатика", Горячев А.В., Волкова Т.О.

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что требуется от алгоритма

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

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

Разбор задач

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

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

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

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

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

Ответ: алгоритм включает ввод двух чисел, вычисление суммы и сообщение результата. При проверке можно подставить числа 3 и 5: программа должна получить 8.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это набор команд, которые исполнитель способен понимать и выполнять. Алгоритм для него составляют только из команд этого набора.

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

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

Как проверить, правильно ли составлен алгоритм?

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

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

§ 11. Алгоритм

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

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Горячев А.В., Волкова Т.О.