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

16.1. Понятие алгоритма

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

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные свойства алгоритма

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

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

Разбор задач

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

  1. Получить два заданных числа: 12 и 7.
  2. Сложить числа: 12 + 7 = 19.
  3. Сообщить результат: 19.

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

Задача 2. Исправить инструкцию «приготовь чай» для исполнителя, который умеет наливать воду, включать чайник и класть пакетик. Такая фраза называет цель, но не объясняет, что делать по порядку, и не уточняет, как получить готовый чай. Нужно записать только доступные исполнителю команды и расположить их так, чтобы каждое действие было выполнимо. Предположим, в его системе команд также есть команды «поставить кружку» и «налить кипяток в кружку».

  1. Поставить кружку на стол.
  2. Налить воду в чайник.
  3. Включить чайник.
  4. Положить пакетик в кружку.
  5. Налить кипяток в кружку.

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

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

  1. Сравнить первое число со вторым.
  2. Если первое больше, сообщить первое число.
  3. Если второе больше, сообщить второе число.
  4. Если числа равны, сообщить, что числа равны.

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

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

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

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

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

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

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

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

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

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

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

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

Чем алгоритм отличается от обычной инструкции?

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

Почему одну и ту же команду один исполнитель может понять, а другой — нет?

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

Что значит, что алгоритм должен быть точным?

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

Обязательно ли алгоритм должен быть коротким?

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

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

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

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

16.1. Понятие алгоритма

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

Учебник

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