ГОСТ 19.005-85
межгосударственный стандарт
ЕДИНАЯ СИСТЕМА
ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
Р-СХЕМЫ АЛГОРИТМОВ
И ПРОГРАММ
ОБОЗНАЧЕНИЯ УСЛОВНЫЕ
ГРАФИЧЕСКИЕ
И ПРАВИЛА ВЫПОЛНЕНИЯ
|
Москва
Стандартинформ
2010
|
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Единая система программной документации
Р-СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ
Обозначения условные графические и правила
выполнения
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.
1.2. В приложении 1 приведены примеры
допустимых условных обозначений элементов Р-схем, выполненных на
алфавитно-цифровых устройствах ввода-вывода.
1.3. В приложении 2 приведены примеры
выполнения элементов Р-схем.
Таблица 1
Наименование
|
Обозначение
и его содержание
|
Функция
|
1. Вершина
|
Окружность
диаметром не менее 2 мм
|
Вершина
Р-схемы
|
2. Вершина
специальная
|
Левая и правая
круглые скобки на расстоянии не менее 1 мм
|
Выделение
вершины Р-схемы
|
3. Дуга
|
а)
б)
Горизонтальная
линия со стрелкой а) справа б) слева
|
Направленное
соединение двух вершин Р-схемы
|
4. Дуга
специальная
|
Две
горизонтальные линии, отстоящие друг от друга на расстоянии 0,8 - 3 мм
|
Специальное
соединение двух вершин Р-схемы
|
5. Линия
соединительная
|
Вертикальная
линия
|
Соединение по
вертикали указанных выше элементов Р-схемы
|
6. Комментарий
|
Пунктирная вертикальная
(вверх или вниз) и горизонтальная (влево или вправо) линии, оканчивающиеся
квадратной скобкой, за которой следует текст комментария
|
Связь между
элементом Р-схемы и текстом комментария
|
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б.
Черт. 4
4. НАДПИСИ НА ЭЛЕМЕНТАХ И
СТРУКТУРАХ Р-СХЕМ
4.1.
Надписи на элементах и структурах Р-схем должны соответствовать указанным в
табл. 3.
4.2. В приложении 4 приведены примеры
выполнения надписей на элементах и структурах Р-схем.
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 приведен пример
выполнения Р-схемы.
Таблица 3
Наименование
|
Обозначение
и его содержание
|
Функция
|
1. Надпись
внутри специальной вершины
|
(СТРОКА)
|
Тип структуры
Р-схемы, определяющий ее особую реализацию
|
2, Надпись над
дугой
|
ЗАПИСЬ
|
Условие
прохождения по дуге
|
3. Надпись под
дугой
|
ЗАПИСЬ
|
Действие,
выполняемое при прохождении по дуге
|
4, Надпись над
специальной дугой
|
ЗАПИСЬ
|
Задает
специальное (определенное при реализации) выполнение структуры Р-схемы
|
5. Надпись под
специальной дугой
|
ЗАПИСЬ
|
Действие,
выполняемое специальным образом при прохождении по дуге
|
6. Надпись
около начальной вершины структуры
|
а) ИМЯ
б) ИМЯ
Имя,
записанное внутри структуры Р-схемы около начальной ее вершины без пробела
|
Имя структуры
Р-схемы
|
7. Надпись в
конце дуги
|
а) *
ИМЯ
|
Переход в
начало (а) или в конец (б) структуры Р-схемы с указанным именем
|
|
б) #
ИМЯ
Знаки
«Звездочка» или «номер» с именем в конце дуги без пробелов. Имя может
отсутствовать
|
При отсутствии
имени переход осуществляется в начало (а) или конец (б) данной Р-схемы
|
Примечания:
1. СТРОКА - последовательность любых знаков.
2. ЗАПИСЬ - любой текст, включая пустой, формульный, формальный (на
языках программирования), содержащий любые специальные знаки, таблицы, рисунки
и т.п. и записанный в одну или более строк таким образом, что длина любой
строки не превышает длину дуги, соответствующей тексту.
3. ИМЯ - идентификатор по ГОСТ
19781-90.
ПРИЛОЖЕНИЕ 1
Справочное
ПРИМЕРЫ ДОПУСТИМЫХ УСЛОВНЫХ ОБОЗНАЧЕНИЙ ЭЛЕМЕНТОВ
Р-СХЕМ, ВЫПОЛНЕННЫХ НА АЛФАВИТНО-ЦИФРОВЫХ УСТРОЙСТВАХ ВВОДА-ВЫВОДА
Наименование
|
Обозначение
|
1. Вершина
|
+
или
|
Знак «Плюс»
или «Знак денежной единицы» по ГОСТ 19767-74
|
2. Вершина
специальная
|
|
Левая и правая
круглые скобки
|
3. Дуга
|
а)
|
Последовательность
знаков «Минус», заканчивающаяся знаком «Больше»
|
б)
|
Последовательность
из знака «Меньше» и следующих за ним знаков «Минус»
|
4. Дуга
специальная
|
|
Последовательность
знаков «Равно»
|
5. Линия
соединительная
|
!
!
!
|
Последовательность
расположенных друг под другом знаков «Восклицательный знак»
|
6. Комментарий
|
: ----[ строки
: [ текста
: [ комментария
|
Вертикальная
линия задается последовательностью расположенных друг под другом знаков
«Двоеточие», горизонтальная линия задается последовательностью знаков
«Минус», проведенных к первому или последнему знаку «Квадратная скобка»,
который ставится на каждой строке текста комментария
|
С 1 января 1988 г. действует ГОСТ
27465-87 взамен ГОСТ 19767-74.
ПРИЛОЖЕНИЕ 2
Справочное
ПРИМЕРЫ ВЫПОЛНЕНИЯ ЭЛЕМЕНТОВ Р-СХЕМ
Наименование
|
Выполнение
от руки или автоматизированным способом на графических устройствах
ввода-вывода
|
Выполнение
автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода
|
1. Вершина
|
|
|
|
|
2. Вершина специальная
|
|
|
|
|
3. Дуга
|
|
|
|
|
|
|
4. Дуга
специальная
|
|
|
|
|
|
|
5. Линия
соединительная
|
|
|
|
|
6. Комментарий
|
|
|
ПРИЛОЖЕНИЕ 3
Справочное
ПРИМЕРЫ ЗАПИСИ СТРУКТУР Р-СХЕМ
Наименование
|
Выполнение
от руки или автоматизированным способом на графических устройствах
ввода-вывода
|
Выполнение
автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода
|
1. Структура
базовая
|
|
|
|
|
|
|
2. Структура
специальная
|
|
|
|
|
|
|
ПРИЛОЖЕНИЕ 4
Справочное
ПРИМЕРЫ ВЫПОЛНЕНИЯ НАДПИСЕЙ НА ЭЛЕМЕНТАХ И СТРУКТУРАХ
Р-СХЕМ
Наименование
|
Выполнение
от руки или автоматизированным способом на графических устройствах
ввода-вывода
|
Выполнение
автоматизированным способом на алфавитно-цифровых устройствах ввода-вывода
|
1. Надпись
внутри вершины специальной
|
|
|
|
|
2. Надпись над
дугой или специальной дугой
|
|
|
|
|
|
|
3. Надпись под
дугой или специальной дугой
|
|
|
|
|
|
|
4. Надпись
около начальной вершины структуры
|
|
|
|
|
5. Надпись в
конце дуги
|
|
|
|
|
ПРИЛОЖЕНИЕ 5
Справочное
ПРИМЕР ВЫПОЛНЕНИЯ Р-СХЕМЫ ПРОГРАММЫ НА ПАСКАЛЕ
Программа MINIMAX
анализирует ряд чисел и выдает их количество, минимальное и максимальное числа.
Признаком конца ряда чисел является число нуль.
Традиционная линейная форма записи этой
же программы имеет следующий вид:
PROGRAM MINIMAX;
(* ОПИСАТЕЛЬНАЯ ЧАСТЬ ПРОГРАММЫ *)
CONST
Z1 = ¢ЧИСЕЛ ПРОЧИТАНО:¢;
Z2 = ¢НАИМЕНЬШЕЕ:¢;
Z3 = ¢НАИБОЛЬШЕЕ:¢;
VAR
N, MIN, MAX, C: INTEGER;
(* КОНЕЦ ОПИСАТЕЛЬНОЙ ЧАСТИ ПРОГРАММЫ *)
BEGIN
READLN(N);
MIN: = MAXINT;
MAX: = -MAXINT,
C: = 0
WHILE N < > 0 DO
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. На первом листе изображено две Р-схемы, которые друг от друга
отделены более чем одним интервалом. Первая Р-схема сопровождается до, а вторая
- после себя текстом.
СОДЕРЖАНИЕ
1. Условные обозначения элементов р-схем.. 1
2. Структуры р-схем.. 2
3. Правила соединения структур р-схем.. 3
4. Надписи на элементах и
структурах р-схем.. 4
5. Правила выполнения р-схем.. 4
Приложение 1. Примеры допустимых
условных обозначений элементов р-схем,
выполненных на алфавитно-цифровых устройствах ввода-вывода. 5
Приложение 2. Примеры выполнения
элементов р-схем.. 6
Приложение 3. Примеры записи
структур р-схем.. 7
Приложение 4. Примеры выполнения
надписей на элементах и структурах р-схем.. 8
Приложение 5. Пример выполнения р-схемы программы на паскале. 10
|