Далее в таблице представлены основные элементы блок-схем (схем алгоритма), соответствующие ГОСТ 19.701-90.
Название элемента | Графическое отображение | Назначение |
Терминатор начала или конца алгоритма | Обозначает начало или конец программы. Данный блок отделяет границы программы от внешней среды. Может содержать в себе фразы «Начало» или «Конец». | |
Блок команды, процесса, действия | Данный блок отвечает за выполнение одной или нескольких операций. Как правило, в данный элемент блок-схемы вписывают команды, которые меняют данные, значения переменных. | |
Блок логического условия - ветвление | Результатом логического условия всегда является одно из двух значений: истина или ложь. Внутри данного элемента записывается логическое условие, из его вершин выходят альтернативные ветви решения. Их обязательно нужно подписывать словами. Желательно формулировать условие таким образом, чтобы при верном выполнении условия следующие элементы схемы были расположены под данным блоком. | |
Предопределенный процесс/функция/ подпрограмма | Если ваша программа предусматривает наличие подпрограмм: процедур или функций, вызов подпрограммы записывается внутри этого элемента. | |
Блок ввода-вывода данных | Данный блок отображает ввод или вывод данных вручную пользователем или автоматически из файла/носителя данных. | |
Парный блок для циклов | Данный блок состоит из двух частей. В верхней части указывается условие выполнение цикла или границы его итераций и размер шага. В нижней части должно быть написано, какой цикл завершает свою работу. Операции тела цикла размещаются между ними. | |
Комментарий к блоку | Обозначение комментария к выбранному элементу блок-схемы. | |
Соединитель | Применяется для обрыва линии связи между элементами блок-схемы. Как правило, в нем указывается уникальный числовой идентификатор. |
Важные замечания:
1) Терминатор начала и конца алгоритма – прямоугольник с закругленными краями, не эллипс.
2) У каждой схемы существует только одно начало и один конец.
3) Для блока логического условия возможно указывать часть «Да» сбоку, если это не разрушает логики алгоритма.
4) Схема алгоритма не привязана к какому-либо языку программирования. Использование в ней идентификаторов из кода программы не допускается за исключением редких случаев, которые оговариваются с преподавателем отдельно. Действия в схеме описываются словесно, абстрагируясь от возможных идентификаторов/элементов языка программирования.
5) Прежде всего пишется схема алгоритма. Сперва прорабатывается список задач, решаемых программой, порядок их выполнения и т.д. Написание кода – реализация созданного заранее алгоритма – происходит только после того, как схема алгоритма и/или псевдокод согласованы с заказчиком (в данном случае, преподавателем).
6) Название подпрограммы/функции текущего алгоритма указывается отдельно от самой схемы – не внутри терминатора начала.
7) Название вызываемой из текущего алгоритма подпрограммы/функции указывается сбоку от одноименного элемента схемы в комментарии.
8) Степень детализации схемы алгоритма зависит от требований преподавателя. При разработке допускается описание в первую очередь основных задач программы в черновом варианте с последующей детализацией/декомпозицией.