Способы записи алгоритмов и блок-схемы

Учимся записывать алгоритмы разными способами и читать блок-схемы — графический язык, понятный с одного взгляда.

Блок-схема — это способ записи алгоритма в виде связанных геометрических фигур, где каждая фигура означает определённое действие.

Один алгоритм — разные записи

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

  • Словесный — обычными фразами на русском языке, по шагам. Понятно человеку, но компьютеру нет.
  • Графический (блок-схема) — рисунок из фигур со стрелками. Очень нагляден, легко увидеть структуру.
  • На языке программирования — код, который понимает компьютер. К нему мы перейдём в следующем разделе.

Сегодня сосредоточимся на блок-схемах — это «чертёж» алгоритма, который помогает продумать решение до того, как писать код.

Основные блоки

В блок-схемах форма фигуры говорит о её роли. Запомнить нужно всего несколько:

ФигураНазначение
Овалначало и конец алгоритма
Параллелограммввод или вывод данных
Прямоугольникдействие (например, вычисление)
Ромбпроверка условия (развилка)
Стрелкипорядок выполнения шагов

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

Линейный алгоритм

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

  1. Начало.
  2. Ввести длину a и ширину b.
  3. Вычислить площадь s = a · b.
  4. Вывести s.
  5. Конец.

В виде блок-схемы это была бы цепочка: овал «начало» → параллелограмм «ввод a, b» → прямоугольник «s = a·b» → параллелограмм «вывод s» → овал «конец». Всё прямолинейно, как ступеньки лестницы.

Линейный алгоритм — это прямая дорожка без развилок: каждый шаг выполняется ровно один раз и по порядку.

Псевдокод — нечто среднее

Между человеческими фразами и строгим кодом есть удобный промежуточный способ записи — псевдокод. Это запись алгоритма короткими структурированными фразами, похожими на программу, но без строгих правил конкретного языка. Например: «ввести a и b; если a больше b, то вывести a, иначе вывести b». Псевдокод не понимает компьютер, зато его легко прочитать человеку, и при этом он уже близок к коду — остаётся лишь перевести на язык программирования. Программисты часто набрасывают логику псевдокодом, прежде чем писать настоящую программу: так проще сосредоточиться на сути, не отвлекаясь на запятые и скобки. Получается удобная лесенка: сначала идея словами, потом блок-схема или псевдокод, и только в конце — код. Чем сложнее задача, тем полезнее не прыгать сразу к коду, а пройти эти ступеньки.

Зачем рисовать схему, если можно сразу писать код

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

Попробуй сам

Превратим наш линейный алгоритм «площадь прямоугольника» из блок-схемы в код. Заметь: порядок строк в программе ровно повторяет порядок блоков в схеме.

# Линейный алгоритм: площадь прямоугольника
# (в блок-схеме это была прямая цепочка блоков)

a = 6   # ввод: длина
b = 4   # ввод: ширина

s = a * b   # действие: вычисление площади

print("Длина:", a)
print("Ширина:", b)
print("Площадь:", s)   # вывод результата

Вывод:

Длина: 6
Ширина: 4
Площадь: 24

Поменяй a и b — алгоритм линейный, поэтому он всегда пройдёт одни и те же шаги в одном порядке, просто с другими числами. Попробуй мысленно нарисовать блок-схему этого кода: где тут «ввод», где «действие», где «вывод»?

Как блок-схема показывает ветвление и цикл

Линейный алгоритм в блок-схеме — это прямая цепочка. А как нарисовать выбор и повтор? Здесь главную роль играет ромб-условие. При ветвлении из ромба выходят две стрелки: «да» ведёт к одним действиям, «нет» — к другим, а потом обе ветки снова сходятся и алгоритм продолжается. Получается «развилка дорог», которая потом опять соединяется. При цикле картина хитрее: после действий стрелка возвращается назад, к проверке условия, образуя петлю. Алгоритм крутится по этой петле, пока условие выполняется, а когда оно перестанет — выходит из неё по стрелке «нет». Именно эта стрелка-возврат и отличает цикл на схеме: ищи петлю, и сразу поймёшь, что здесь что-то повторяется. Умение «читать» такие схемы очень помогает: глядя на чертёж алгоритма, ты с одного взгляда видишь, где он делает выбор, а где повторяет действия, — даже не вникая в детали. На экзаменах нередко просят определить, что выведет алгоритм по его блок-схеме, и навык их читать тут незаменим.

Частые ошибки

  • Использовать прямоугольник вместо ромба для условия. Проверка условия — это всегда ромб с двумя выходами.
  • Забывать блоки «начало» и «конец». Любая блок-схема начинается и заканчивается овалом.
  • Рисовать стрелки в обе стороны без причины. Стрелки показывают чёткий порядок: куда идти дальше.

Запомни

  • Алгоритм можно записать словесно, блок-схемой или кодом.
  • В блок-схеме форма фигуры задаёт её роль: овал — начало/конец, ромб — условие, прямоугольник — действие.
  • Линейный алгоритм выполняет шаги по порядку, без развилок и повторов.
  • Блок-схема помогает продумать и проверить логику до написания кода.
Проверьте себя
1. Какой фигурой в блок-схеме обозначают проверку условия?
AОвалом
BПрямоугольником
CРомбом
DПараллелограммом
2. Что такое линейный алгоритм?
AАлгоритм, в котором шаги выполняются по порядку без развилок и повторов
BАлгоритм с множеством условий
CАлгоритм, нарисованный по линейке
DБесконечный алгоритм
3. Какой фигурой обозначают начало и конец алгоритма?
AРомбом
BОвалом
CПрямоугольником
DСтрелкой
Поддержать проект