Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MET.DOC
Скачиваний:
35
Добавлен:
13.04.2015
Размер:
632.32 Кб
Скачать

2.2. Операции соединения графических структур

Над описанными выше графическими структурами выполняются две конструктивные операции: последовательное соединение и вложенное соединение. При последовательном соединении структуры соединяются таким образом, что правая вершина предыдущей структуры сливается с левой вершиной последующей структуры. При вложенном соединении дуга, под которой происходит вложение, заменяется на эту же дугу и вкладываемую структуру. После выполнения этой дуги осуществляется вход во вложенную структуру. Выход из вложенной структуры осуществляется в правую точку к внешней по отношению к ней структуры.

Примеры последовательного и вложенного соединения структур приведены на рис. 4. При вложенном соединении, на этом рисунке, вложение второй структуры осуществляется во вторую дугу первой структуры.

Рис. 4. Операции соединения графических структур: а – последовательное соединение; б – вложенное соединение

2.3. Дополнительные графические элементы р-схем

Р-схемы могут содержать ряд дополнительных графических элементов, повышающих гибкость их применения. К ним относятся метки структур, надписи в конце дуги и специальные вершины.

При составлении спецификации иногда возникает необходимость передачи управления в начало, либо в конец структуры. Для этого используют метки и надписи в конце дуги. Любая структура может быть помечена меткой, которая записывается справа от начальной вершины этой структуры. На помеченную структуру можно перейти из любого места Р-схемы с помощью дуги, в которой указывается метка этой структуры. Метке предшествуют знаки "*" и "". Символ "*" означает переход в начало структуры (левая вершина), а символ "" – в конец структуры (правая вершина). Кроме того, эти знаки могут записываться и без меток. В этом случае символ "*" означает переход в начало всей Р-схемы, "" – в конец всей Р-схемы. Пример использования меток и надписей в конце дуги приведен на рис. 5, а.

Необходимо отметить, что с помощью таких дуг нельзя перейти на любую дугу внутри структуры, а также на структуру, находящуюся в другой Р-схеме. Этим они существенно отличаются от оператора GOTO, с помощью которого можно осуществить переход в любое место программы.

Специальные вершины позволяют записывать текст внутри начальной вершины структуры, придавая особую интерпретацию этой структуре. Пример применения специальной вершины, означающей, что данная структура описывает цикл "для" (for(i=1;i<10;i++) a[i]=0;) представлен на рис. 5, б.

Рис. 5. Пример использования дополнительных графических элементов Р-схем: а – метки и надписи в конце дуги; б – специальная вершина

2.4. Использование р-схем в программах

С помощью Р-схем можно задавать исполнительную часть программ, процедур и функций. При этом ориентированный граф заменяет управляющие структуры типа FOR, IF, WHILE, REPEAT, CASE и другие, кроме того исчезает необходимость в операторных скобках типа BEGINEND. Ниже приведены фрагменты Р-схем, соответствующие основным управляющим конструкциям.

Последовательность действий

o--------->o

A; B

Ветвление

A

o-------->o

!    B    !

!         !

!-------->!

Полное ветвление

A

o---------->o

! B !

! !

!---------->!

C

Цикл с предусловием

o==========o

! A !

!--------->!

B

Цикл с постусловием

o--------->o

! B !

! A !

!<---------!

Размеры одной Р-схемы как по горизонтали так и по вертикали могут значительно превышать размеры экрана дисплея. При разработке Р-схем обычно ограничиваются размерами листа печатного документа, так как изображение Р-схемы не допускает разрывов и переносов. Благодаря этому контролируется обозримость и логическая сложность задаваемого Р-схемой программного модуля.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]