ГОСТ 19.005-85
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ЕДИНАЯ СИСТЕМА ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
Р-СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ
ОБОЗНАЧЕНИЯ УСЛОВНЫЕ ГРАФИЧЕСКИЕ И ПРАВИЛА ВЫПОЛНЕНИЯ
Издание официальное

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

3.1.2. Параллельное соединение структур P-схем осуществляется путем связи соединительными линиями начальной и конечной вершин одной структуры соответственно с начальной и конечной вершинами другой, расположенной под ней структуры. Начальной и конечной вершинами результирующей структуры становятся соответственно начальная и конечная вершины первой (верхней) из соединяемых структур.
На черт. 2 изображены примеры параллельного соединения структур: а — приведенных на черт. 1 а, 1 б и 1 а; б — приведенных на черт. 1 в и 1 б; в — приведенных на черт. 1 би 1 б.
о-
а
О- | —*т |
А | vA |
у ■*— | ^ V |
В
О 9
о-
-
d
Черт. 2
3.1.3. Вложенное соединение структур P-схем осуществляется путем замены дуги структуры, в которую производится вложение, на последовательное соединение дуги того же направления и вкладываемой структуры. При этом соединительная линия из конечной вершины вкладываемой структуры и сама конечная вершина (если она не является конечной вершиной параллельного соединения структур) сливаются соответственно с соединительной линией и вершиной, в которые входила заменяемая дуга. Начальной и конечной вершинами результирующей структуры остаются соответственно начальная и конечная вершины структуры, в которую производится вложение.
Примеры вложенного соединения структур P-схем приведены на черт. 3 и 4. На черт. 3 вложение осуществляется путем замены дуги со стрелкой справа, а на черт. 4 — слева.
На черт. 3 изображены примеры вложенного соединения: а — структуры I в в структуру 1 б; б — последовательного соединения структур 1 б и Хав структуру 1 в; в — структуры X ев структуру 1 в; г — структуры 2 б в структуру 1 б.
о—»(Ъ—п

d

1-►
о-ЦЪг=о
( | |
- |
г
На черт. 4 изображены примеры вложенного соединения: а — структуры 1 б в структуру 1 б; б — последовательного соединения структур 1 «, 1 б и 1 а в структуру 1 б; в — последовательного соединения структур 1 б и 2 б в структуру 1 б.
о-
♦
a
d"
о- | |
у-ч | гТ^ |
) | |
-> |
Черт. 4
4. НАДПИСИ НА ЭЛЕМЕНТАХ И СТРУКТУРАХ Р-СХЕМ
4.1. Надписи на элементах и структурах P-схем должны соответствовать указанным в табл. 3.
4.2. В приложении 4 приведены примеры выполнения надписей на элементах и структурах Р-схем.
5. ПРАВИЛА ВЫПОЛНЕНИЯ Р-СХЕМ
5.1. P-схемы в программных документах выполняются на листах формы 1 или формы 2 в соответствии с ГОСТ 19.106-78.
5.2. На одном листе может располагаться одна или несколько без переноса Р-схем, каждая из которых может сопровождаться текстом, записываемым до и (или) после нее. Правила оформления текстов Р-схем определяются при реализации. Текст P-схемы, текст ее комментария и ЗАПИСИ на элементах Р-схем для одного способа выполнения (ручного или автоматического) должны иметь одинаковый интервал между строками.
5.3. P-схемы вместе с сопровождающими текстами Р-схем в программных документах могут оформляться в виде иллюстраций, приложений или располагаться в разрыве между строками текста документа без нумерации.
5.4. Расстояние между P-схемой и сопровождающим ее текстом, а также между P-схемами должно быть больше одного интервала между строками ЗАПИСЕЙ на элементах Р-схем.
Расстояние между P-схемой и текстом документа должно быть больше одного интервала между строками текста документа.
5.5. P-схемы и сопровождающие их тексты при ручном изготовлении должны быть выполнены черными чернилами, пастой или тушью, иметь одинаковую толщину линий и шрифт, соответствующий ГОСТ 2.304-81.
Специальные знаки (*, #, круглые скобки), используемые при изображении Р-схем, должны по высоте не превышать 1,5h, где h — максимальная высота строки ЗАПИСЕЙ на элементах Р-схемы.
5.6. Расстояние между ЗАПИСЯМИ, расположенными одна под другой на разных дугах одной P-схемы, должно быть больше одного интервала между строками ЗАПИСЕЙ на элементах Р-схем.
5.7. Квадра тная скобка в комментарии должна охватывать текст комментария.
5.8. Расстояние сверху и снизу от текста комментария должно быть больше одного интервала между строками текста комментария.
5.9. В приложении 5 приведен пример выполнения Р-схемы.
Таблица 3
Наименование
Обозначение и его содержание
Функция
1, Надпись внутри специальной вершины
(СТРОКА)
Тип структуры P-схемы, определяющий ее особую реа* лизацию
2. Надпись над дугой
ЗАПИСЬ
-
Условие прохождения по Дуге
3. Надпись под дугой
ЗАПИСЬ
Действие, выполняемое при прохождении по дуге
4. Надпись над специальной дугой
ЗАПИСЬ
Задает специальное (определенное при реализации) выполнение структуры Р-схемы
5. Надпись под специальной дугой
ЗАПИСЬ
Действие, выполняемое специальным образом при прохождении по дуге
6. Надпись около начальной вершины структуры
а) О ИМЯ -**
Имя структуры Р-схемы
б) О ИМЯ
7. Надпись в конце дуги
Имя, записанное внутри структуры Р-схемы около начальной ее вершины без пробела
а) -► * ИМЯ
Переход в начало (а) или в конец (б) структуры Р-схемы с указанным именем
б) —-► #ИМЯ
Знаки «Звездочка» или «номер» с именем в конце дуги без пробелов. Имя может отсутствовать
При отсутствии имени переход осуществляется в начало (а) или конец (б) данной Р-схемы
Примечания:
1. СТРОКА — последовательность любых знаков.
2. ЗАПИСЬ — любой текст, включая пустой, формульный, формальный (на языках программирования), содержащий любые специальные знаки, таблицы, рисунки и т. п. и записанный в одну или более строк таким образом, что длина любой строки не превышает длину дуги, соответствующей тексту.
3. ИМЯ — идентификатор по ГОСТ 19781-90-
ПРИМЕРЫ ДОПУСТИМЫХ УСЛОВНЫХ ОБОЗНАЧЕНИЙ ЭЛЕМЕНТОВ Р-СХЕМ, ВЫПОЛНЕННЫХ НА АЛФАВИТНО-ЦИФРОВЫХ УСТРОЙСТВАХ ВВОДА-ВЫВОДА
Наименование | Обозначение |
1. Вершина | + ИЛИ УХ Знак «Плюс» или «Знак денежной единицы» по ГОСТ 19767—74 |
2. Вершина специальная | 0 Левая и правая круглые скобки |
3. Дуга | а) -----> Последовательность знаков «Минус», заканчивающаяся знаком «Больше» б) <----- Последовательность из знака «Меньше» и следующих за ним знаков «Минус» |
4. Дуга специальная | Последовательность знаков «Равно» |
5. Линия соединительная | ! | j 1 |
6. Комментарий | Последовательность расположенных друг под другом знаков «Восклицательный знак» J----[ СТРОКИ I L ТЕКСТА 1 [ КОММЕНТАРИЯ Вертикальная линия задается последовательностью расположенных друг под другом знаков «Двоеточие», горизонтальная линия задается последовательностью знаков «Минус», проведенных к первому или последнему знаку «Квадратная скобка», который ставится на каждой строке текста комментария |
С 1 января 1988 г. действует ГОСТ 27465—87 взамен ГОСТ 19767—74.
ПРИЛОЖЕНИЕ 2 Справочное

Продолжение
Наименование
4. Дуга специальная
Выполнение от руки или автоматизированным способом на графических устройстзах ввода—вывода
Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода—вывода
О О
+ ======+
з
о-*-
->(
11
-> i i —

—>
-О
-
5. Линия соединительная
о-»- =о

-ЧУ*
->

6. Комментарий

ЗАПРЕТ СИГНАЛА ПРЕРЫВАНИЯ
— [запрет СИГНАЛА [ПРЕРЫВАНИЯ




РАСШИФРОВКА1___I
НА СТР. 23 J
РАСШИФРОВКА]---:
НА СТР. 23 1
Наименование
Выполнение от руки или автоматизированным способом на графических устройствах ввода—вывода
Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода—вывода
1. Структура базовая
+-------->+

о
->
о
->
<■

+-------->+
I I
!-------->!
! I
i i
!-------->!
! 1
!<--------i
2. Структура специальная
О О

О
О

+==-======+
I !
!-------->!
! !
! <--------!
! )
j-------->!
! !
! <--------!
Наименование
Выполнение от руки или автоматизированным способом на графических устройствах ввода—вывода
Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода—вывода
1. Надпись внутри вершины специальной

I !
---->; ;---->
\
;<---
(head)====
' I
2. Надпись над дугой или специальной дугой
B[J]<M[L]
-■*>
ЧТЕНИЕ ДАННЫХ В БУФЕР
ЧТЕНИЕ ДАННЫХ В БУФЕР
J=1 .. м
3. Надпись под дугой или специальной дугой
-
ПЕЧАТЬ
ТАБЛИЦЫ
-------->
ПЕЧАТЬ
ТАБЛИЦЫ
-
К: =К+1
Г(К)
К: =К+1 F(K)
B[J]:=M[L} L:=L+1 J:=J+1
B[J]: =M[L] L : =L+1 J:=J+1
Продолжение
Наименование
Выполнение от руки или автоматизированным способом на графических устройствах ввода—вывода
Выполнение автоматизированным способом на алфавитно-цифровых устройствах ввода—вывода
4. Надпись около начальной вершины структуры

+ LAB :
о
11
mi-
->+
!
--------->;;—->+2з===!
!
===М0 +<---i
Qoi-K>02-K>°3-K>
+ 01---->+02---->+03---->+
till
j<-------!------>!------>!
! ! !
5. Надпись в конце дуги

+ М2 =======( )-------> +
! !! !
!! !
---> #LABj j---->*М2 !

+-
!
i —
---->+ 5-
—>#
---->+------>+
! *<-
j
•-> *02 i
1
—>*5 1
ПРИМЕР ВЫПОЛНЕНИЯ Р-СХЕМЫ ПРОГРАММЫ НА ПАСКАЛЕ
Программа MINIMAX анализирует ряд чисел и выдает их количество, минимальное и максимальное числа. Признаком конца ряда чисел является число нуль.
---t ОПИСАТЕЛЬНАЯ ЧАСТЬ ПРОГРАММЫ]---
PROGRAM
CONST
+ --------------------
MINIMAX Z1 = 'ЧИСЕЛ ПРОЧИТАНО: Z2=’НАИМЕНЬШЕЕ:*
Z3='НАИБОЛЬШЕЕ:«
INTEGER :
> (VAR)----------> +
' N,MIN,MAX,С
READLN<N) i IWRITELN(ZbC)
MINJSMAXINT 1N<>0 N<MIN N>MAX 4WRITELN(Z2,MIN)
MAX ‘ =-MAXINT i- irtRITELN(Z3,MAX)
Ct = 0 C!=:C + l!MlN:=NlMAX!=NiREADLN(N)
i 4 i
j
Традиционная линейная форма записи этой же программы имеет следующий вид:
PROGRAM MINIMAX;
(* ОПИСАТЕЛЬНАЯ ЧАСТЬ ПРОГРАММЫ *)
CONST
Zl=‘ЧИСЕЛ ПРОЧИТАНО:'; гг=’НАИМЕНЬШЕЕ:■; гз='НАИБОльшЕЕ:';
VAR
N,MIN,МАХ,С:INTEGER;
(* КОНЕЦ ОПИСАТЕЛЬНОЙ ЧАСТИ ПРОГРАММЫ *>
BEGIN
readlnin);
MIN:=МА xINT;
MAX:=-MAXINT;
C: = 0
WHILE N<>0 00
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 оформлено в соответствии с настоящим стандартом как сочетание ручного и автоматического способов. P-схемы выполнены на двух листах формы 1 (в поле 3 — текст документа) по ГОСТ 19.106—78. На первом листе изображено две P-схемы, которые друг от друга отделены более чем одним интервалом. Первая P-схема сопровождается до, а вторая — после себя текстом.