Над описанными выше графическими структурами выполняются две конструктивные операции: последовательное соединение и вложенное соединение. При последовательном соединении структуры соединяются таким образом, что правая вершина предыдущей структуры сливается с левой вершиной последующей структуры. При вложенном соединении дуга, под которой происходит вложение, заменяется на эту же дугу и вкладываемую структуру. После выполнения этой дуги осуществляется вход во вложенную структуру. Выход из вложенной структуры осуществляется в правую точку к внешней по отношению к ней структуры.
Примеры последовательного и вложенного соединения структур приведены на рис. 4. При вложенном соединении, на этом рисунке, вложение второй структуры осуществляется во вторую дугу первой структуры.
Рис. 4. Операции соединения графических структур:
а – последовательное соединение; б – вложенное соединение
2.3. Дополнительные графические элементы Р- схем
Р- схемы могут содержать ряд дополнительных графических элементов, повышающих гибкость их применения. К ним относятся метки структур, надписи в конце дуги и специальные вершины.
|
|
При составлении спецификации иногда возникает необходимость передачи управления в начало, либо в конец структуры. Для этого используют метки и надписи в конце дуги. Любая структура может быть помечена меткой, которая записывается справа от начальной вершины этой структуры. На помеченную структуру можно перейти из любого места
Р- схемы с помощью дуги, в которой указывается метка этой структуры. Метке предшествуют знаки "*" и "#". Символ "*" означает переход в начало структуры (левая вершина), а символ "#" – в конец структуры (правая вершина). Кроме того, эти знаки могут записываться и без меток. В этом случае символ "*" означает переход в начало всей Р- схемы, "#" – в конец всей Р -схемы. Пример использования меток и надписей в конце дуги приведен на рис. 5, а.
Необходимо отметить, что с помощью таких дуг нельзя перейти на любую дугу внутри структуры, а также на структуру, находящуюся в другой Р- схеме. Этим они существенно отличаются от оператора GOTO, с помощью которого можно осуществить переход в любое место программы.
Специальные вершины позволяют записывать текст внутри начальной вершины структуры, придавая особую интерпретацию этой структуре. Пример применения специальной вершины, означающей, что данная структура описывает цикл "для" (for(i=1;i<10;i++) a[i]=0;) представлен на рис. 5, б.
Рис. 5. Пример использования дополнительных графических элементов
Р- схем: а – метки и надписи в конце дуги; б – специальная вершина
|
|
2.4. Использование Р- схем в программах
С помощью Р- схем можно задавать исполнительную часть программ, процедур и функций. При этом ориентированный граф заменяет управляющие структуры типа FOR, IF, WHILE, REPEAT, CASE и другие, кроме того исчезает необходимость в операторных скобках типа BEGIN – END. Ниже приведены фрагменты Р- схем, соответствующие основным управляющим конструкциям.
Последовательность действий | o--------->o A; B |
Ветвление | A o-------->o ! B! !! !-------->! |
Полное ветвление | A o---------->o ! B! !! !---------->! C |
Цикл с предусловием | o==========o ! A! !--------->! B |
Цикл с постусловием | o--------->o ! B! ! A! !<---------! |
Размеры одной Р- схемы как по горизонтали так и по вертикали могут значительно превышать размеры экрана дисплея. При разработке Р- схем обычно ограничиваются размерами листа печатного документа, так как изображение Р- схемы не допускает разрывов и переносов. Благодаря этому контролируется обозримость и логическая сложность задаваемого
Р- схемой программного модуля.
2.5. Система инструментальной поддержки Р- технологии
Система инструментальной поддержки Р- технологии предназначена для разработки небольших программ. При этом используется компилятор с языка Си - TurboC 2.0.
В состав инструментальной системы входят:
* rce.exe, redit.exe – редакторы, позволяющие просматривать, вводить и редактировать Р- схемы;
* gc.exe – конвертор, преобразующий файл, содержащий Р- схему (имеет расширение *.gc) в исходный текст программы на языке Си;
* crec.exe – конвертор, преобразующий исходный текст программы на языке Си в файл, содержащий Р- схему данной программы;
* pgrf.exe – программа вывода Р- схем на принтер;
* po_help2.gc – файл, содержащий общие сведения о Р- схемах, который просматривается с помощью редактора rce.exe или redit.exe.
Процесс разработки программы с помощью системы инструментальной поддержки Р- технологии заключается в построении Р- схемы, реализующую поставленную задачу (применяется любой из редакторов
Р- схем), в генерации исходного текста программы по полученной Р- схеме (применяется конвертор gc.exe), в создании выполняемого файла из исходного текста программы (применяется компилятор командной строки и редактор связей или интегрированная среда разработки программ, входящие в состав пакета TurboC 2.0). Тестирование и отладку полученной программы можно провести непосредственно в интегрированной среде разработки TurboC 2.0, а уже отлаженный текст программы можно перевести на язык Р- схем посредством конвертора crec.exe.
Кроме того, система инструментальной поддержки позволяет документировать программное обеспечение в соответствии с ГОСТ 19.005–85, что осуществляется посредством вывода на печать исходной или сгенерированной Р- схемы (применяется программа pgrf.exe).