УДК 65.011.66:002:006.354 |
Группа Т55 |
Единая система программной документации |
ГОСТ 19.005-85 |
Р-СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ | |
| |
United system for program documentation. ОКСТУ 0019 |
Постановлением Государственного комитета СССР по стандартам от 27 марта 1985 г. № 893 срок введения установлен
с 01.07.86
Настоящий стандарт распространяется на алгоритмы, программы, данные и процессы для вычислительных машин, комплексов, автоматизированных систем и систем обработки информации независимо от их назначенияи области применения.
Стандарт устанавливает условные графические обозначения элементови структур Р-схем, а также правила их выполнения автоматическим и (или) ручным способами.
Р-схема (R-chart) - нагруженный по дугам ориентированный граф, изображаемый с помощью вертикальных и горизонтальных линий и состоящий из структур (подграфов), каждая из которых имеет только один вход и один выход.
1.1. Перечень, наименование, обозначения и функции элементов Р-схем должны соответствовать указанным в табл. 1.
Таблица 1
Наименование | Обозначение и его содержание | Функция |
---|---|---|
1. Вершина |
Окружность диаметром не менее 2 мм | Вершина Р-схемы |
2. Вершина специальная |
Левая и правая круглые скобки на расстоянии не менее 1 мм | Выделение вершины Р-схемы |
3. Дуга |
Горизонтальная линия со стрелкой а) справа б) слева | Направленное соединение двух вершин Р-схемы |
4. Дуга специальная |
Две горизонтальные линии, отстоящие друг от друга на расстоянии 0,8 -- 3 мм | Специальное соединение двух вершин Р-схемы |
5. Линия соединительная |
Вертикальная линия | Соединение по вертикали указанных выше элементов Р-схемы |
6. Комментарий |
Пунктирная вертикальная (вверх или вниз) и горизонтальная (влево или вправо) линии, оканчивающиеся квадратной скобкой, за которой следует текст комментария. | Связь между элементом Р-схемы и текстом комментария. |
1.2. В справочном приложении 1 приведены примеры допустимых условных обозначений элементов Р-схем, выполненных на алфавитно-цифровых устройствах ввода-вывода.
1.3. В справочном приложении 2 приведены примеры выполнения элементов Р-схем.
2.1. Структуры Р-схем должны соответствовать указанным в табл. 2 или полученным из них путем применения правил соединения структур (разд. 3).
Таблица 2
Наименование | Обозначение и его содержание | Функция |
---|---|---|
1. Структура базовая |
Две вершины, соединенные одной и более дугами любого направления и в любом сочетании. | Последовательность переходов между вершинами в соответствии с направлениями дуг. |
2. Структура специальная |
Две вершины, соединенные специальной дугой или специальной дугой и любым числом дуг любого направления и в любом сочетании. | Последовательность переходов между вершинами, осуществляемых специальным образом. |
Примечания. 1. Вершина структуры, из которой исходит первая сверху дуга, называется начальной. 2. Вершина структуры, в которую входит первая сверху дуга, называется конечной. 3. Начальная и конечная вершины сруктуры, содержащей только специальную дугу, определяются ее конкретным использованием. |
2.2. В справочном приложении 3 и на черт. 1-4 приведены примеры записи структур Р-схем.
3.1. Устанавливаются следующие соединения структур Р-схем:
В результате их применения получаются структуры Р-схем, к которым также применимы установленные правила их соединения.
3.1.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 б. структуру 1 б
Черт. 4
4.1. Написи на элементах и структурах Р-схем должны соответствовать указанным в табл. 3.
4.2. В справочном приложении 4 приведены примеры выполнения надписей на элементах и структурах Р-схем.
Таблица 1
Наименование | Обозначение и его содержание | Функция |
---|---|---|
1. Надпись внутри специальной вершины |
| Тип структуры Р-схемы, определяющий ее особое реализацию |
2. Надпись над дугой |
| Условие прохождения по дуге |
3. Надпись под дугой |
| Действие, выполняемой при прохождении по дуге |
4. Надпись над специальной дугой |
| Задает специальное (определенное при реализации) выполнение структуры Р-схемы |
5. Надпись под специальной дугой |
| Действие, выполняемое специальным образом при прохождении по дуге |
6. Надпись около начальной вершины структуры |
Имя, записанное внутри структуры Р-схемы около начальной ее вершины без пробела | Имя структуры Р-схемы |
7. Надпись в конце дуги |
Знаки "Звездочка" или "номер" с именем в конце дуги без пробелов. Имя может отсутствовать. | Перевод в начало (а) или в конец (б) структуры Р-схемы с указанным
именем.
При отсутствии имени переход осуществляется в начало (а) или конец (б) данной Р-схемы |
Примечания. 1. СТРОКА - последовательность любых знаков 2. ЗАПИСЬ - любой текст, включая пустой, формульный, формальный (на языках программирования), содержащий любые специальные знаки, таблицы, рисунки и т. п. и записанный в одну и более строк таким образом, что длина любой строки не превышает длину дуги, соответствующий тексту. 3. ИМЯ - идентификатор по ГОСТ 19781-83. |
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
Справочное
Наименование | Обозначение |
---|---|
1. Вершина |
Знак "Плюс" или "Знак денежной единицы" по ГОСТ 19767-74 |
2. Специальная вершина |
Левая и правая круглые скобки |
3. Дуга |
a) -----> Последовательность знаков "Минус", заканчивающаяся знаком "Больше"
б) <----- Последовательность из знака "Меньше" и следующие на ним знаков "Минус". |
4. Специальная дуга |
=========== Последовательность знаков "Равно" |
5. Линия соединительная |
! ! ! ! Последовательность расположенных друг под другом знаков "Восклицательный знак" |
6. Комментарий |
Вертикальная линия задается последовательностью расположенных друг под другом знаков "Двоеточие", горизонтальная линия задается последовательностью знаков "Минус", проведенных к первому или последнему знаку "Квадратная скобка", который ставится на каждой строке комментария. |
Приложение 2
Справочное
Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода |
---|---|---|
1. Вершина |
| +----> ---->+ ¤----> ---->¤ ===+---> ---->+----> ! ! ! ! ===¤---> ---->+----> ! ! ! ! |
2. Специальная вершина |
|
|
3. Дуга |
|
+------>+ ¤<-----¤ ! ! ! ! !------>! !<-------! ! ! ! ! ! ! ! ! !------>! !<-------! |
4. Специальная дуга |
|
|
5. Линия соединительная |
|
|
6. Комментарий |
|
|
Приложение 3
Справочное
Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода |
---|---|---|
1. Структура базовая |
|
|
1. Структура специальная |
|
|
Приложение 4
Справочное
Наименование | Выполнение от руки или автоматизированным способом на графических устройствах ввода-вывода | Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода |
---|---|---|
1. Надпись внутри вершины специальной |
|
|
2. Надпись над дугой или специальной дугой |
|
|
3. Надпись под дугой или специальной дугой |
|
|
4. Надпись около начальной вершины структуры |
|
|
5. Надпись в конце дуги |
|
|
Приложение 5
Справочное
Программа MINIMAX анализирует ряд числе и выдает их количество, минимальное и максимальное числа. Признаком конца ряда чисел является число нуль.
:---[ ОПИСАТЕЛЬНАЯ ЧАСТЬ ПРОГРАММЫ]---: : : PROGRAM:CONST INTEGER : +------>+-------------------->(VAR)---------->+ MINIMAX Z1='ЧИСЛЕ ПРОЧИТАНО:' N,MIN,MAX,C Z2='НАИМЕНЬШЕЕ:' Z3='НАИБОЛЬШЕЕ:' +----------->+==============================+-------------->+ READLN(N) ! !WRITELN(Z1,C) MIN:=MAXINT !N<>0 N<MIN N>MAX !WRITELN(Z2,MIN) MAX:=-MAXINT!----->+----->+----->+-------->!WRITELN(Z3,MAX) C:=0 C:=C+1!MIN:=N!MAX:=N!READLN(N) ! ! ! !----->!----->!
Традиционная линейная форма записи этой же программы имеет следующий вид:
PROGRAM MINIMAX; (* ОПИСАТЕЛЬНАЯ ЧАСТЬ ПРОГРАММЫ *) CONST Z1='ЧИСЛЕ ПРОЧИТАНО:'; Z2='НАИМЕНЬШЕЕ:'; Z3='НАИБОЛЬШЕЕ:'; VAR N,MIN,MAX,C:INTEGER; (* КОНЕЦ ОПИСАТЕЛЬНОЙ ЧАСТИ ПРОГРАММЫ *) BEGIN READLN(N); MIN:=MAXINT; MAX:=-MAXINT; C:=0; WHILE N <> 0 BEGIN C:=C+1; IF N < MIN THEN MIN:=N; IF N > MAX THEN MAX:=N; READLN(N) END; WRITELN(Z1,C); WRITELN(Z2,MIN); WRITELN(Z3,MAX) END.
В целом приложение 5 оформлено в соответствии с настоящим стандартом как сочетание ручного и автоматического способов. Р-схемы выполнены на двух листах формы 1 (в поле 3 - текст документа) по ГОСТ 19.106-78. На первом листе изображено две Р-схемы, которые друг от друга отделены более чем одним интервалом. Первая Р-схема сопровождается до, а вторая - после себя текстом.
Переиздание. Ноябрь 1987 г.