"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", Н. П. Макарова А. И. Лапо Е. Н. Войтехович
Алгоритм можно представить словами, схемой или командами на специальном алгоритмическом языке. Эти способы помогают объяснить порядок действий человеку или подготовить его к записи на языке программирования. Какую форму выбрать, зависит от задачи и того, кто будет выполнять алгоритм. При любом способе записи команды должны быть понятными, а смысл и порядок действий — сохраняться.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Словесная запись алгоритма — это описание действий исполнителя обычными словами. Команды в ней располагают в нужном порядке и формулируют так, чтобы исполнитель понимал, что именно нужно сделать. Такая запись удобна для объяснения алгоритма человеку, но расплывчатые слова могут привести к разным толкованиям.
Графическая запись алгоритма — это изображение действий и порядка их выполнения с помощью схемы и специальных обозначений. Вместо длинного описания можно увидеть, какие шаги выполняются и куда ведут переходы. Такая форма нужна, когда последовательность действий или выбор между вариантами удобнее рассматривать наглядно.
Блок-схема — графическое представление алгоритма, составленное из блоков, соединённых линиями. Блоки обозначают шаги алгоритма, а линии показывают, в каком направлении движется выполнение. По схеме можно проследить путь от начала действий до их завершения и заметить возможные развилки.
Алгоритмический язык — условный способ записывать команды с помощью правил и слов, близких к языку программирования, но понятных человеку. Он помогает выразить действия точно и компактно. Такая запись полезна как промежуточный шаг перед созданием программы на языке, который понимает компьютер.
Один алгоритм можно записать по-разному, потому что у каждой формы свои задачи. Словесное описание легче читать человеку, а блок-схема позволяет быстро увидеть последовательность шагов и возможные переходы. Запись на алгоритмическом языке удобна, когда нужно чётко зафиксировать команды и приблизиться к программированию. Поэтому форму выбирают с учётом сложности задачи и того, кому предназначено описание.
При словесной записи действия перечисляют в том порядке, в котором их должен выполнить исполнитель. Это помогает не перепутать шаги и не потерять связь между исходными данными и результатом. Команда должна называть конкретное действие: тогда исполнитель сможет выполнить её, не догадываясь о намерении автора. Если фраза допускает разные толкования, её следует уточнить.
В блок-схеме каждому действию или проверке отводят подходящий блок, а соединительные линии показывают дальнейший путь. Тип блока помогает понять, что происходит на шаге: например, выполняется действие или проверяется условие. После проверки алгоритм может пойти по разным направлениям в зависимости от ответа. Стрелки нужны, чтобы переход между шагами был виден однозначно.
Чтобы преобразовать словесное описание в блок-схему, сначала выделяют отдельные команды и сохраняют их исходную последовательность. Затем для каждой команды выбирают подходящий блок и соединяют блоки линиями по ходу выполнения. Если в описании есть условие, схема должна показывать возможные продолжения. Такой порядок работы помогает не потерять часть алгоритма при смене формы записи.
Алгоритмический язык делает команды более точными, потому что для записи используются понятные правила. При этом запись остаётся читаемой для человека, а не превращается в набор обычных слов без структуры. Благодаря этому алгоритм проще проверять и затем переносить в программу. При переходе к языку программирования важно сохранить смысл каждой команды, даже если её запись будет выглядеть иначе.
| Способ записи | Как представляют действия | Что помогает понять | Особенность |
|---|---|---|---|
| Словесная запись | Перечисляют команды обычными словами. | Какие действия выполнять и в каком порядке. | Нужны точные, однозначные формулировки. |
| Графическая запись (блок-схема) | Используют блоки и соединительные линии. | Последовательность шагов и возможные переходы. | Тип блока обозначает его назначение, стрелки показывают направление. |
| Запись на алгоритмическом языке | Записывают команды по условным правилам. | Какие команды и условия входят в алгоритм. | Запись близка к языку программирования, но понятна человеку. |
Сравнивая строки таблицы, можно выбрать форму, которая лучше подходит для объяснения конкретного алгоритма. Например, схему удобно читать, если в задаче есть выбор из нескольких путей. При любом выборе проверяйте, что все формы описывают одни и те же действия.
Условие. Нужно записать словами алгоритм нахождения суммы двух введённых чисел. Сначала следует получить исходные данные, затем выполнить вычисление и сообщить результат. Если пропустить ввод, алгоритму будет не с чем работать, а без вывода пользователь не узнает ответ.
Ответ. Алгоритм состоит из четырёх команд, каждая из которых обозначает одно понятное действие. Команды идут от получения данных к вычислению, а затем к сообщению результата. Такая последовательность позволяет исполнителю выполнить задачу без догадок.
Условие. Нужно определить, какое из двух чисел больше, либо сообщить, что они равны. Здесь нельзя ограничиться одним действием: сначала требуется проверить отношение чисел, а затем выбрать правильное сообщение. В блок-схеме проверка становится точкой, от которой расходятся возможные пути.
Ответ. В схеме нужны блоки начала и завершения, ввода, проверок и вывода результата. От каждой проверки проводят стрелки к соответствующим продолжениям. В результате предусмотрены все три случая: первое число больше, второе число больше или числа равны.
Условие. Составьте блок-схему и запись на алгоритмическом языке для алгоритма, в котором одинаковое действие выполняется несколько раз. Поскольку конкретное действие не задано, обозначим его «выполнить действие», а условие окончания — «повторять ещё?». Важно показать не только само повторение, но и момент, когда алгоритм должен его прекратить.
Ответ. В блок-схеме возвратная стрелка показывает повторный переход к действию, а отдельная ветвь ведёт к завершению. В алгоритмической записи нужно явно назвать и действие, и условие продолжения цикла. При сравнении двух форм проверьте, что в каждой повторения заканчиваются в одном и том же случае.
Расплывчатые словесные команды, например «сделай как следует», допускают разные толкования. Так пишут, когда автор знает задачу и не замечает, что исполнителю не хватает подробностей. Проверьте себя: сможет ли другой человек выполнить команду без уточняющих вопросов? Если нет, замените её конкретным действием.
Блок-схему иногда принимают за обычный рисунок, который можно оформить произвольно. Тогда блоки и связи выглядят наглядно, но не передают точные действия алгоритма. Ошибка возникает, когда выбирают обозначения только ради внешнего вида. Проверьте, соответствует ли назначение каждого блока тому, что происходит на этом шаге.
Если линии между блоками не показывают направление, порядок выполнения становится неясным. Это часто случается, когда рисуют связи, но не продумывают, куда алгоритм переходит после действия или проверки. Проследите по стрелкам путь от начала до конца. Для каждой проверки убедитесь, что понятно, куда ведёт каждый возможный ответ.
При переводе алгоритма в другую форму можно случайно пропустить команду, условие или одну из ветвей. Обычно это происходит, если переписывать запись по памяти, а не сверять шаги. Тогда новая форма уже описывает другой алгоритм или не решает задачу полностью. Проверяйте перевод по исходной записи: каждому действию и каждому возможному переходу должно найтись соответствие.
Чтобы разбираться в формах записи, нужно понимать, что такое алгоритм, исполнитель и команда. Исполнитель выполняет команды, поэтому важно представлять, какие действия ему доступны и в каком порядке они следуют. Это помогает отличать точное описание от обычного рассказа о решении задачи.
Способы записи пригодятся при изучении линейных алгоритмов, где шаги идут один за другим, а также ветвлений и циклов. В блок-схемах можно наглядно показать выбор пути и повторение действий. Алгоритмический язык, в свою очередь, подготавливает к записи программ, а словесное описание помогает сначала продумать решение.
Можно ли один алгоритм записать разными способами?
Да. Например, те же действия можно описать словами, показать блок-схемой или записать командами на алгоритмическом языке. Меняется форма записи, но смысл алгоритма должен оставаться прежним.
Чем блок-схема отличается от словесного описания?
В словесном описании команды записаны предложениями, а в блок-схеме действия показаны специальными фигурами. Линии между фигурами помогают проследить, в каком порядке выполняются шаги.
Зачем в блок-схеме нужны линии со стрелками?
Стрелки показывают, куда алгоритм переходит после выполнения действия или проверки условия. Без них можно не понять порядок шагов и дальнейший путь при разных результатах проверки.
Как выбрать подходящую форму записи алгоритма?
Для простых инструкций человеку часто достаточно словесной записи. Если нужно наглядно увидеть порядок действий и переходы, удобно использовать блок-схему; алгоритмический язык подходит для точной записи команд и подготовки к программированию.
Нужно ли менять порядок действий при переводе алгоритма в другую форму?
Нет, порядок действий нужно сохранить, если только сам алгоритм не изменяется. При переводе также нельзя пропускать команды, условия или возможные ветви.
§ 17. Способы записи алгоритмов