Открыть сервисСервис

Блок-схема — графическое представление алгоритма

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

Стандарты и обозначения

Основным международным стандартом, определяющим правила построения блок-схем, является ISO 5807 (Information processing — Documentation symbols and conventions for data, program and system flowcharts, problem analysis charts). В России действует аналогичный стандарт ГОСТ 19.701—90 «Схемы алгоритмов. Правила выполнения», входящий в комплекс стандартов «Единая система программной документации» (ЕСПД). ГОСТ устанавливает формы блоков, правила соединения и обозначения потоков данных.

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

Форма блокаНазначение
ПрямоугольникДействие, операция, обработка данных
РомбУсловие (ветвление)
ПараллелограммВвод-вывод данных
Овал (терминатор)Начало и конец алгоритма
КругСоединение (ссылка на другую часть схемы)
Две дуги (прямоугольник со скруглёнными сторонами)Подпрограмма, вызов процедуры
ШестиугольникЦикл (предустановленный счётчик)

Стрелки (линии потока) соединяют блоки и указывают направление выполнения. Пересечение линий без соединения обозначается «мостиком» — дугой, чтобы исключить двусмысленность.

Правила построения

По ГОСТ 19.701—90 схема алгоритма строится по следующим правилам:

  1. Каждый блок содержит краткую запись операции (действия или условия).
  2. Поток управления идёт сверху вниз и слева направо, если иное не обозначено стрелками.
  3. Стрелки не должны пересекаться без необходимости; при пересечении используется «мостик».
  4. Схема должна иметь один вход (блок «Начало») и один выход (блок «Конец»), если алгоритм однопоточный.
  5. Условные блоки (ромбы) имеют два исходящих потока — «Да» и «Нет» (или «Истина»/«Ложь»).
  6. Соединение потоков обозначается точкой; отсутствие точки при пересечении означает, что линии не соединены.

Виды блок-схем

  • Функциональные блок-схемы — описывают последовательность операций над данными.
  • Структурные схемы — отражают структуру программы (последовательность, ветвление, цикл).
  • Схемы потоков данных (DFD) — акцентируют внимание на перемещении и преобразовании данных, а не на управляющих командах.
  • Схемы бизнес-процессов — используются в управлении и стандартизированы нотацией BPMN (Business Process Model and Notation), которая формально не является блок-схемой, но основана на схожих принципах.
  • Диаграммы потоков управления — вариант, применяемый в UML для моделирования поведения объектов.

Применение

В программировании блок-схемы исторически были основным способом описания алгоритмов до появления структурного программирования. В 1970-е годы Дональд Кнут и Эдсгер Дейкстра критиковали блок-схемы за то, что они допускают произвольные переходы (goto), затрудняющие чтение и сопровождение кода. Вместо этого была предложена структурная нотация, в которой используются только три базовых конструкции: последовательность, ветвление и цикл.

В настоящее время блок-схемы применяются:

  • при обучении основам алгоритмизации и программирования;
  • в документировании технологических процессов;
  • при моделировании бизнес-процессов;
  • в электронике и автоматизации для описания логики управления;
  • при патентовании технических решений.

Инструменты построения

Существует множество программных средств для создания блок-схем: Microsoft Visio, Dia, draw.io, Lucidchart, а также специализированные генераторы схем, встроенные в среды разработки. Часть инструментов позволяет генерировать схему автоматически по исходному коду программы.

Примечания

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

Источники:

  • ГОСТ 19.701—90 «Схемы алгоритмов. Правило выполнения»
  • ISO 5807:1985 «Information processing — Documentation symbols and conventions»
  • Кнут Д. «Алгоритмы и их реализация»
  • Дейкстра Э. «О дисциплине программирования»
  • BPMN 2.0 Specification, Object Management Group
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru