Блок-схема | это... Что такое Блок-схема? (original) (raw)
У этого термина существуют и другие значения, см. Блок.
Пример блок-схемы алгоритма вычисления факториала числа N
Схе́ма — графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т. д.[1]
Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
Содержание
- 1 Стандарты выполнения
- 2 Основные элементы схем алгоритма
- 3 Представление алгоритмов в виде графов
- 4 Программы
- 5 См. также
- 6 Примечания
Стандарты выполнения
Правила выполнения схем определяются следующими документами:
- ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.[1]
Для программной документации (устарели, заменяются ГОСТ 19.701-90):
- ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения.[2]
- ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические.[3][4]
Данные документы в частности регулируют способы построения схем и внешний вид их элементов.
Основные элементы схем алгоритма
Наименование | Обозначение | Функция |
---|---|---|
Блок начало-конец(пуск-остановка) | Элемент отображает вход из внешней среды или выход из неё (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие. | |
Блок вычислений (вычислительный блок) | Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операцию присваивания: a = 10*b + c. | |
Логический блок (блок условия) | Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае − сравнение (три выхода: >, <, =); в программировании − условные операторы if (два выхода: true, false) и case (множество выходов). | |
Предопределённый процесс | Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции. | |
Данные(ввод-вывод) | Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы). | |
Граница цикла | Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла). | |
Соединитель | Символ отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения её в другом месте (для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение. | |
Комментарий | Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа. |
Описание других элементов схем можно найти в соответствующих ГОСТ (указаны выше).
Представление алгоритмов в виде графов
Порядок выполнения действий задается путем соединения вершин дугами, что позволяет рассматривать блок-схемы не только как наглядную интерпретацию алгоритма, удобную для восприятия человеком, но и как взвешенный ориентированный граф (т. н. граф-схема алгоритма, ГСА). Подобное представление алгоритмов используется при построении систем логического управления, реализующих заданные управляющие алгоритмы, в задачах распараллеливания вычислений и т. д.
Программы
Для автоматического создания блок-схем из исходных текстов программ и их создания вручную существуют свободные программы — Diagram Designer, Dia, Kivio (входит в пакет KOffice), OpenOffice.org Draw, processWave.org, yEd Graph Editor, AFCE, коммерческие программы Microsoft Visio, diamFC, также существуют программы, предоставляемые как онлайн-услуги (например, Flowchart.com и LucidChart (англ.)русск.[5]).
См. также
- Диаграмма Насси — Шнейдермана
- UML
- Диаграмма связей
- Псевдокод (язык описания алгоритмов)
- ДРАКОН
Примечания
- ↑ 1 2 ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения
- ↑ ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения
- ↑ ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические. (ссылка 2)
- ↑ ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические
- ↑ LucidChart