"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович
Алгоритм — это точное описание действий, которое приводит к решению задачи. Его выполняет человек, устройство или программа, используя доступные команды. Чтобы построить алгоритм, определяют исходные данные и результат, а затем выбирают порядок действий. Основные алгоритмические конструкции — следование, ветвление и повторение: они помогают записывать как простые, так и сложные решения.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Алгоритм — точное и понятное исполнителю описание последовательности действий, приводящей к решению задачи. Команды должны быть выполнимыми, а алгоритм — конечным, то есть завершаться после некоторого числа шагов. Иначе исполнитель не получит результат или будет действовать бесконечно.
Исполнитель алгоритма — человек, устройство или программа, которые выполняют команды. Каждый исполнитель умеет делать только то, что позволяют его знания, устройство или программа. Поэтому один и тот же замысел иногда приходится записывать по-разному для разных исполнителей.
Система команд исполнителя — набор команд, которые данный исполнитель понимает и может выполнить. Команда, которой нет в этом наборе, не подходит для алгоритма: исполнитель не знает, какое действие от него требуется. Перед составлением алгоритма нужно учитывать именно такие возможности.
Алгоритмическая конструкция — стандартный способ организации команд в алгоритме. Основные конструкции — следование, ветвление и повторение. С их помощью отдельные команды соединяют в понятную структуру, которая описывает ход решения.
Чтобы превратить задачу в алгоритм, сначала выделяют исходные данные и требуемый результат. Затем выбирают исполнителя и проверяют, какие команды он понимает. После этого действия записывают в таком порядке, чтобы каждое следующее опиралось на уже выполненные шаги и в конце давало нужный результат.
Если команды выполняются одна за другой без выбора и возврата, получается следование. Оно задаёт линейный порядок действий: сначала выполняется первая команда, затем вторая, затем третья. Такая конструкция удобна для вычислений и других задач, где порядок шагов заранее известен и не зависит от условий.
Ветвление применяют, когда решение зависит от некоторого условия. Исполнитель проверяет, истинно оно или ложно, и выбирает одну из альтернативных последовательностей команд. Например, при сравнении двух чисел можно вывести сообщение о большем числе, а при равенстве — другое сообщение.
Повторение нужно, когда одинаковые или похожие действия требуется выполнить несколько раз. Команды могут повторяться, пока выполняется условие, либо заданное число раз. Внутри такого алгоритма обычно меняется счётчик или другое значение, чтобы постепенно приблизить выполнение к завершению.
Конструкции позволяют собирать алгоритм из небольших понятных частей. Следование, ветвление и повторение можно соединять: например, внутри цикла использовать условие, а внутри ветви — несколько последовательных команд. Поэтому с помощью ограниченного набора конструкций описывают и простые действия, и сложные решения.
В таблице сначала найдите, как расположены команды, а затем посмотрите, что определяет переход к следующему действию. Последняя строка помогает связать каждую конструкцию с практической задачей. Если решение зависит от выбора, нужна проверка условия, а если действия возвращаются к началу — повторение.
| Характеристика | Следование | Ветвление | Повторение |
|---|---|---|---|
| Как организованы команды | Команды идут одна за другой в заданном порядке. | Команды разделены на альтернативные последовательности. | Команды образуют повторяющуюся последовательность. |
| Как выбирается дальнейшее действие | Переходят к следующей команде. | Выбирается одна из ветвей. | Выполнение возвращается к началу повторяемой части или завершается. |
| Роль условия | Условие не требуется. | Условие определяет выбранную ветвь. | Условие определяет продолжение или окончание повторений. |
| Пример применения | Вычисление периметра прямоугольника. | Определение большего из двух чисел. | Подсчёт суммы чисел от 1 до заданного числа. |
Условие: даны длина a и ширина b прямоугольника. Требуется найти его периметр. Здесь все действия заранее известны, поэтому используется следование.
Ответ: алгоритм заканчивается после вычисления периметра P. Например, при a = 5 и b = 3 получится P = 2 · (5 + 3) = 16.
Условие: даны числа a и b. Нужно определить, какое из них больше, или сообщить, что числа равны. Поскольку результат зависит от сравнения, в алгоритме требуется ветвление.
Ответ: алгоритм выдаёт ровно один результат из трёх вариантов. Например, для a = 7 и b = 4 срабатывает первая ветвь, поэтому сообщается, что больше первое число.
Условие: дано натуральное число n. Нужно найти сумму 1 + 2 + 3 + … + n. Повторение позволяет не записывать отдельную команду для каждого слагаемого.
Ответ: при n = 4 действия дадут S = 0 + 1 + 2 + 3 + 4 = 10. Изменение счётчика необходимо для окончания цикла.
Описание действий считают алгоритмом. Нечёткая инструкция вроде «сделай удобно» не задаёт точного действия. Проверьте себя: каждый шаг должен быть однозначным и вести к результату.
Используют неизвестную исполнителю команду. Так бывает, когда не учитывают возможности устройства или программы. Сверьте каждую команду с системой команд выбранного исполнителя.
Путают ветвление с повторением. Ветвление выбирает один путь, а повторение возвращает выполнение к одним и тем же командам. Спросите себя, выбирается ли вариант один раз или действия должны выполняться снова.
Не задают завершение повторения. Если условие всегда истинно или счётчик не изменяется, цикл может стать бесконечным. Проверьте начальное значение, изменение счётчика и момент, когда условие перестанет выполняться.
До изучения алгоритмов нужно понимать, что такое задача, исходные данные и результат, а также уметь выполнять действия по простой инструкции. Эти понятия помогают отделить то, что дано, от того, что требуется получить.
Тема служит основой для записи алгоритмов на языке программирования. В программах следование выражается последовательностью команд, ветвление — условными операторами, а повторение — циклами.
Чем алгоритм отличается от обычной инструкции?
Алгоритм состоит из точных и понятных команд, которые приводят к требуемому результату. Кроме того, эти команды должны быть выполнимыми для выбранного исполнителя, а сам алгоритм — завершаться.
Может ли один и тот же алгоритм быть понятен разным исполнителям?
Да, если команды входят в систему команд каждого исполнителя и имеют одинаковый смысл. Если возможности исполнителей различаются, алгоритм нужно изменить или перевести на другой набор команд.
Когда в алгоритме нужно использовать ветвление?
Ветвление используют, когда дальнейшие действия зависят от условия. Например, результат сравнения двух чисел определяет, какое сообщение нужно вывести.
Чем повторение отличается от ветвления?
Ветвление выбирает один из вариантов действий и обычно продолжает выполнение дальше. Повторение многократно возвращает выполнение к одним и тем же командам, пока выполняется условие или не закончено заданное число повторов.
Почему алгоритм может не завершиться?
Чаще всего причина состоит в отсутствии условия окончания повторения или в неправильном изменении счётчика. Тогда условие продолжает оставаться истинным, и команды выполняются бесконечно.
13.1. Алгоритм и алгоритмические конструкции