Условные обозначения и правила выполнения схем алгоритмов регламентируются требованиями Единой системы программной документации в соответствии с ГОСТ 19.701-90 [6].
Схема алгоритма состоит из символов, краткого пояснительного текста и соединяющих линий (см. Приложение). Символы предназначены для графического обозначения отдельных операций, суть которых выражается текстом внутри символов. Символы должны быть по возможности одного размера и располагаться в схеме равномерно, в любой ориентации, но предпочтительным является их горизонтальное расположение.
Внутри символа помещается минимальное количество текста, необходимого для понимания функции данного символа. Если такой текст требует значительного увеличения размера символа, то для размещения текста следует использовать символ "комментарий". Пунктирная линия символа "комментарий" связывается с соответствующим символом или может обводить группу символов (рис. 2).
Рис. 2.
Символы в схеме соединяются линиями, которые указывают потоки управления. Направление потока слева направо и сверху вниз считается стандартным. Направление потока, отличное от стандартного, должно быть отмечено стрелкой на конце линии (при вхождении потока в символ или в другую линию потока). Линии должны быть направлены к центру символа. Следует избегать пересечения линий, если потоки в данном месте не входят друг в друга. При необходимости линии в схемах следует разрывать во избежание лишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц. Соединитель в начале разрыва является внешним, а в конце разрыва - внутренним. В комментариях к соединителям могут быть приведены ссылки к страницам (рис.3).
Рис. 3.
Как правило, каждый символ имеет один вход и один выход. Исключение составляют символы:
"терминатор" (у операции "начало" нет входа, у операции "конец" нет выхода),
"решение" (один вход и несколько выходов),
"подготовка" (организация цикла, пример см. на с.33).
Символ "решение" является логическим. Каждый выход из символа "решение" должен сопровождаться значением условия, приведенного внутри (рис.4).
Рис. 4
Представление алгоритма решения задачи в виде схемы является наиболее наглядным, позволяет проследить процесс прохождения данных, связи между отдельными участками программы. Однако, схема должна быть удобочитаемой, т.е. не должна быть чересчур мелкой, подробной, "перегруженной", чтобы не потерять своей наглядности.
В случае описания решения очень большой, сложной задачи рекомендуется выполнять схему с несколькими уровнями детализации, число которых зависит от размеров и сложности задачи. Уровень детализации должен быть таким, чтобы различные части и взаимосвязь между ними были понятны в целом. При этом весь алгоритм разбивается на смысловые фрагменты, связь между которыми следует указать на более крупной схеме. Сами же фрагменты удобнее выполнять на отдельных страницах, желательно каждый фрагмент размещать на одной странице, не перегружая чрезмерно ссылками и комментариями.