19.005-85 Р-схемы алгоритмов и программ
Home » Библиотека » Стандарты » Разработка автоматизированной системы » ГОСТ 19.ХХХ » 19.005-85 Р-схемы алгоритмов и программ
УДК 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
Наименование |
Обозначение и его содержание |
Функция |
1. Вершина |
Окружность диаметром не менее 2 мм |
Вершина Р-схемы |
2. Вершина специальная |
Левая и правая круглые скобки на расстоянии не менее 1 мм |
Выделение вершины Р-схемы |
3. Дуга |
Горизонтальная линия со стрелкой а) справа б) слева |
Направленное соединение двух вершин Р-схемы |
4. Дуга специальная |
Две горизонтальные линии, отстоящие друг от друга на расстоянии 0,8 — 3 мм |
Специальное соединение двух вершин Р-схемы |
5. Линия соединительная |
|
Соединение по вертикали указанных выше элементов Р-схемы |
6. Комментарий |
Пунктирная вертикальная (вверх или вниз) и горизонтальная (влево или вправо) линии, оканчивающиеся квадратной скобкой, за которой следует текст комментария. |
Связь между элементом Р-схемы и текстом комментария. |
1.2. В справочном приложении 1 приведены примеры допустимых условных обозначений элементов Р-схем, выполненных на алфавитно-цифровых устройствах ввода-вывода.
1.3. В справочном приложении 2 приведены примеры выполнения элементов Р-схем.
2. СТРУКТУРА Р-СХЕМ
2.1. Структуры Р-схем должны соответствовать указанным в табл. 2 или полученным из них путем применения правил соединения структур (разд. 3).
Таблица 2
Наименование |
Обозначение и его содержание |
Функция |
1. Структура базовая |
Две вершины, соединенные одной и более дугами любого направления и в любом сочетании. |
Последовательность переходов между вершинами в соответствии с направлениями дуг. |
2. Структура специальная |
Две вершины, соединенные специальной дугой или специальной дугой и любым числом дуг любого направления и в любом сочетании. |
Последовательность переходов между вершинами, осуществляемых специальным образом. |
Примечания. 1. Вершина структуры, из которой исходит первая сверху дуга, называется начальной. 2. Вершина структуры, в которую входит первая сверху дуга, называется конечной. 3. Начальная и конечная вершины сруктуры, содержащей только специальную дугу, определяются ее конкретным использованием. |
2.2. В справочном приложении 3 и на черт. 1-4 приведены примеры записи структур Р-схем.
3. ПРАВИЛА СОЕДИНЕНИЯ СТРУКТУР Р-СХЕМ
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. НАДПИСИ НА ЭЛЕМЕНТАХ И СТРУКТУРАХ Р-СХЕМ
4.1. Написи на элементах и структурах Р-схем должны соответствовать указанным в табл. 3.
4.2. В справочном приложении 4 приведены примеры выполнения надписей на элементах и структурах Р-схем.
Таблица 1
Наименование |
Обозначение и его содержание |
Функция |
1. Надпись внутри специальной вершины |
(СТРОКА) |
Тип структуры Р-схемы, определяющий ее особое реализацию |
2. Надпись над дугой |
|
Условие прохождения по дуге |
3. Надпись под дугой |
|
Действие, выполняемой при прохождении по дуге |
4. Надпись над специальной дугой |
|
Задает специальное (определенное при реализации) выполнение структуры Р-схемы |
5. Надпись под специальной дугой |
|
Действие, выполняемое специальным образом при прохождении по дуге |
6. Надпись около начальной вершины структуры |
Имя, записанное внутри структуры Р-схемы около начальной ее вершины без пробела |
Имя структуры Р-схемы |
7. Надпись в конце дуги |
Знаки “Звездочка” или “номер” с именем в конце дуги без пробелов. Имя может отсутствовать. |
Перевод в начало (а) или в конец (б) структуры Р-схемы с указанным именем.
При отсутствии имени переход осуществляется в начало (а) или конец (б) данной Р-схемы |
Примечания. 1. СТРОКА – последовательность любых знаков 2. ЗАПИСЬ – любой текст, включая пустой, формульный, формальный (на языках программирования), содержащий любые специальные знаки, таблицы, рисунки и т. п. и записанный в одну и более строк таким образом, что длина любой строки не превышает длину дуги, соответствующий тексту. 3. ИМЯ – идентификатор по ГОСТ 19781-83. |
5. НАДПИСИ ВЫПОЛНЕНИЯ Р-СХЕМ
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. Дуга |
Последовательность знаков “Минус”, заканчивающаяся знаком “Больше”
Последовательность из знака “Меньше” и следующие на ним знаков “Минус”. |
|
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. На первом листе изображено две Р-схемы, которые друг от друга отделены более чем одним интервалом. Первая Р-схема сопровождается до, а вторая – после себя текстом.