с 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. Дуга | 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. На первом листе изображено две Р-схемы, которые друг от друга отделены более чем одним интервалом. Первая Р-схема сопровождается до, а вторая - после себя текстом.