МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
| Единая система программной документации Р-СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ Обозначения условные графические и правила выполнения Unified system for program documentation. R-charts. Graphical chart symbols and conventions for charting | ГОСТ 19.005-85 | 
Постановлением Государственного комитета СССР по стандартам от 27 марта 1985 г. № 893 дата введения установлена
01.07.86
Настоящий стандарт распространяется на алгоритмы, программы, данные и процессы для вычислительных машин, комплексов, автоматизированных систем и систем обработки информации независимо от их назначения и области применения.
Стандарт устанавливает условные графические обозначения элементов и структур Р-схем, а также правила их выполнения автоматическим и (или) ручным способами.
Р-схема (R-chart) - нагруженный по дугам ориентированный граф, изображаемый с помощью вертикальных и горизонтальных линий и состоящий из структур (подграфов), каждая из которых имеет только один вход и один выход.
1.1. Перечень, наименование, обозначение и функции элементов Р-схем должны соответствовать указанным в табл. 1.
1.2. В приложении 1 приведены примеры допустимых условных обозначений элементов Р-схем, выполненных на алфавитно-цифровых устройствах ввода-вывода.
1.3. В приложении 2 приведены примеры выполнения элементов Р-схем.
Таблица 1
| Наименование | Обозначение и его содержание | Функция | 
| 1. Вершина | 
 Окружность диаметром не менее 2 мм | Вершина Р-схемы | 
| 2. Вершина специальная | 
 Левая и правая круглые скобки на расстоянии не менее 1 мм | Выделение вершины Р-схемы | 
| 3. Дуга | 
 Горизонтальная линия со стрелкой а) справа 6) слева | Направленное соединение двух вершин Р-схемы | 
| 4. Дуга специальная | 
 Две горизонтальные линии, отстоящие друг от друга на расстоянии 0,8-3 мм | Специальное соединение двух вершин Р-схемы | 
| 5. Линия соединительная | 
 Вертикальная линия | Соединение по вертикали указанных выше элементов Р-схемы | 
| 6. Комментарий | 
 Пунктирная вертикальная (вверх или вниз) и горизонтальная (влево или вправо) линии, оканчивающиеся квадратной скобкой, за которой следует текст комментария | Связь между элементом Р-схемы и текстом комментария | 
2.1. Структуры Р-схем должны соответствовать указанным в табл. 2 или полученным из них путем применения правил соединения структур (разд. 3).
Таблица 2
| Наименование | Обозначение и его содержание | Функция | 
| 1.Структура базовая | 
 Две вершины, соединенные одной и более дугами любого направления и в любом сочетании | Последовательность переходов между вершинами в соответствии с направлением дуг | 
| 2.Структура специальная | 
 Две вершины, соединенные специальной дугой или специальной дугой и любым числом дуг любого направления и в любом сочетании | Последовательность переходов между вершинами, осуществляемых специальным образом | 
Примечания:
1. Вершина структуры, из которой исходит первая сверху дуга, называется начальной.
2. Вершина структуры, в которую входит первая сверху дуга, называется конечной.
3. Начальная и конечная вершины структуры, содержащей только специальную дугу, определяются ее конкретным использованием.
2.2. В приложении 3 и на черт. 1-4 приведены примеры записи структур Р-схем.
3.1. Устанавливаются следующие соединения структур Р-схем:
последовательное;
параллельное;
вложенное.
В результате их применения получаются структуры Р-схем, к которым также применимы установленные правила их соединения.
3.1.1. Последовательное соединение структур Р-схем осуществляется путем слияния конечной вершины и соединительной линии одной структуры с начальной вершиной и соединительной линией
другой, располагаемой за ней структуры. Если конечная вершина первой и (или) начальная вершина второй структуры являются специальными, то в результате слияния образуется специальная вершина, при этом соединительные линии обеих структур не сливаются. Начальной и конечной вершинами результирующей структуры становятся соответственно начальная вершина первой и конечная вершина второй из соединяемых структур.
Пример последовательного соединения г структур а, б, в и а приведен на черт. 1.

3.1.2. Параллельное соединение структур Р-схем осуществляется путем связи соединительными линиями начальной и конечной вершин одной структуры соответственно с начальной и конечной вершинами другой, расположенной под ней структуры. Начальной и конечной вершинами результирующей структуры становятся соответственно начальная и конечная вершины первой (верхней) из соединяемых структур.
На черт. 2 изображены примеры параллельного соединения структур: а- приведенных на черт. 1 а, 1 б и 1 а; б - приведенных на черт. 1 в и 1 б; в- приведенных на черт. 1 б и 1 б.

Черт. 2
3.1.3. Вложенное соединение структур Р-схем осуществляется путем замены дуги структуры, в которую производится вложение, на последовательное соединение дуги того же направления и вкладываемой структуры. При этом соединительная линия из конечной вершины вкладываемой структуры и сама конечная вершина (если она не является конечной вершиной параллельного соединения структур) сливаются соответственно с соединительной линией и вершиной, в которые входила заменяемая дуга. Начальной и конечной вершинами результирующей структуры остаются соответственно начальная и конечная вершины структуры, в которую производится вложение.
Примеры вложенного соединения структур Р-схем приведены на черт. 3 и 4. На черт. 3 вложение осуществляется путем замены дуги со стрелкой справа, а на черт. 4 - слева.
На черт. 3 изображены примеры вложенного соединения: а - структуры 1 в в структуру 1 б; б - последовательного соединения структур 1 б и 1 а в структуру 1 в ; в - структуры 1 в в структуру 1 в; г - структуры 2 б в структуру 1 б.

Черт.3
На черт. 4 изображены примеры вложенного соединения: а - структуры 1 б в структуру 1 б; б - последовательного соединения структур 1 в, 1 б и 1 а в структуру 1 б; в - последовательного соединения структур 1 б и 2 б в структуру 1 б.

4.1. Надписи на элементах и структурах Р-схем должны соответствовать указанным в табл. 3.
4.2. В приложении 4 приведены примеры выполнения надписей на элементах и структурах Р-схем.
5.1. Р-схемы в программных документах выполняются на листах формы 1 или формы 2 в соответствии с ГОСТ 19.106-78.
5.2. На одном листе может располагаться одна или несколько без переноса Р-схем, каждая из которых может сопровождаться текстом, записываемым до и (или) после нее. Правила оформления текстов Р-схем определяются при реализации. Текст Р-схемы, текст ее комментария и ЗАПИСИ на элементах Р-схем для одного способа выполнения (ручного или автоматического) должны иметь одинаковый интервал между строками.
5.3.Р-схемы вместе с сопровождающими текстами Р-схем в программных документах могут оформляться в виде иллюстраций, приложений или располагаться в разрыве между строками текста документа без нумерации.
5.4. Расстояние между Р-схемой и сопровождающим ее текстом, а также между Р-схемами должно быть больше одного интервала между строками ЗАПИСЕЙ на элементах Р-схем.
Расстояние между Р-схемой и текстом документа должно быть больше одного интервала между строками текста документа.
5.5. Р-схемы и сопровождающие их тексты при ручном изготовлении должны быть выполнены черными чернилами, пастой или тушью, иметь одинаковую толщину линий и шрифт, соответствующий ГОСТ 2.304-81.
Специальные знаки (*, #, круглые скобки), используемые при изображении Р-схем, должны по высоте не превышать 1,5h, где h - максимальная высота строки ЗАПИСЕЙ на элементах Р-схемы.
5.6. Расстояние между ЗАПИСЯМИ, расположенными одна под другой на разных дугах одной Р-схемы, должно быть больше одного интервала между строками ЗАПИСЕЙ на элементах Р-схем.
5.7. Квадратная скобка в комментарии должна охватывать текст комментария.
5.8. Расстояние сверху и снизу от текста комментария должно быть больше одного интервала между строками текста комментария.
5.9. В приложении 5 приведен пример выполнения Р-схемы.
| Наименование | Обозначение и его содержание | Функция | 
| 1.Надпись внутри специальной вершины | 
 | Тип структуры Р-схемы, определяющий ее особую реализацию | 
| 2.Надпись над дугой | 
 | Условие прохождения по дуге | 
| 3.Надпись под дугой | 
 | Действие, выполняемое при прохождении по дуге | 
| 4.Надпись над специальной дугой | 
 | Задает специальное (определенное при реализации) выполнение структуры Р-схемы | 
| 5.Надпись под специальной дугой | 
 | Действие, выполняемое специальным образом при прохождении по дуге | 
| 6.Надпись около начальной вершины структуры | 
 Имя, записанное внутри структуры Р-схемы около начальной ее вершины без пробела | Имя структуры Р-схемы | 
| 7.Надпись в конце дуги | 
 Знаки «Звездочка» или «номер» с именем в конце дуги без пробелов. Имя может отсутствовать | Переход в начало (а) или в конец (б) структуры Р-схемы с указанным именем 
 При отсутствии имени переход осуществляется в начало (а) или конец (б) данной Р-схемы | 
Примечания:
1. СТРОКА - последовательность любых знаков.
2. ЗАПИСЬ - любой текст, включая пустой, формульный, формальный (на языках программирования), содержащий любые специальные знаки, таблицы, рисунки и т. п. и записанный в одну или более строк таким образом, что длина любой строки не превышает длину дуги, соответствующей тексту.
3. ИМЯ - идентификатор по ГОСТ 19781-90.
| Наименование | Обозначение | 
| 1. Вершина | 
 Знак «Плюс» или «Знак денежной единицы» по ГОСТ 19767-74 | 
| 2. Вершина специальная | 
 Левая и правая круглые скобки | 
| 3. Дуга | 
 Последовательность знаков «Минус», заканчивающаяся знаком «Больше» 
 Последовательность из знака «Меньше» и следующих за ним знаков «Минус» | 
| 4. Дуга специальная | 
 Последовательность знаков «Равно» | 
| 5. Линия соединительная | 
 Последовательность расположенных друг под другом знаков «Восклицательный знак» | 
| 6. Комментарий | 
 Вертикальная линия задается последовательностью расположенных друг под другом знаков «Двоеточие», горизонтальная линия задается последовательностью знаков «Минус», проведенных к первому или последнему знаку «Квадратная скобка», который ставится на каждой строке текста комментария | 
| Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода | 
| 1. Вершина | 
 | 
 | 
| 2. Вершина специальная | 
 
 
 | 
 
 
 | 
| 3. Дуга | 
 
 
 
 
 | 
 
 
 
 
 | 
| 4. Дуга специальная | 
 | 
 | 
| 5. Линия соединительная | 
 | 
 | 
| 6. Комментарий | 
 | 
 | 
| Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода | 
| 1. Структура базовая | 
 | 
 | 
| 2. Структура специальная | 
 | 
 | 
| Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода | 
| 1. Надпись внутри вершины специальной | 
 
 | 
 
 | 
| 2. Надпись над дугой или специальной дугой | 
 | 
 | 
| 3. Надпись под дугой или специальной дугой | 
 | 
 | 
| 4.Надпись около начальной вершины структуры | 
 
 | 
 
 
 | 
| 5.Надпись в конце дуги | 
 | 
 | 
Программа MINIMAX анализирует ряд чисел и выдает их количество, минимальное и максимальное числа. Признаком конца ряда чисел является число нуль.

Традиционная линейная форма записи этой же программы имеет следующий вид:

В целом приложение 5 оформлено в соответствии с настоящим стандартом как сочетание ручного и автоматического способов. Р-схемы выполнены на двух листах формы 1 (в поле 3 - текст документа) по ГОСТ 19.106-78. На первом листе изображено две Р-схемы, которые друг от друга отделены более чем одним интервалом. Первая Р-схема сопровождается до, а вторая - после себя текстом.