Методы синтеза технических решений, страница 30



Рис.  15.  Блок-схема  программы  КОРРД

рис. 15. В ней приняты следующие обозначения: С В [...] — мас­сив счетчиков вершин; Р — целочисленная переменная; АП — адрес материнской вершины; Д — адрес корня дерева; АЛ — рабочая переменная; КАП — рабочая переменная. Программа просматривает все незапрещенные вершины и переносит метки запрета в материнские вершины.

Программа ДЕРАБ. Назначение программы — корректиров­
ка дерева, т. е, отбрасывание запрещенных вершин. Программа
работает с массивом дерева. Блок-схема программы представлена
на рис. 16. В ней приняты следующие обозначения: СВ, Рг АП,
Д, АД — содержательный смысл и описание см. в описании про­
граммы ПРОГН; /, s — целочисленные переменные; АДР — ра­
бочая ячейка. Программа просматривает дерево и убирает запре­
щенные вершины, корректируя адреса вершин — преемников и
число преемников, просматривая все дерево. . . . :           <


Рис.  17.   Блок-схема  программы ФОРММ                     j

мы ПРОГН; i — рабочий индекс массива МИЛИ; МИЛИ — мас­сив ИЛИ-вершин размерности 10.

Программа РЯД предназначена для упорядочивания массива МИЛИ по величине второго адреса. Массив упорядочивается по. убыванию. Ввиду сравнительной несложности программы, блок-схема ее не приводится.

Программа РИСК предназначена для формирования промежу­точного массива МКОМ — массива комбинаций, состоящих только из конечных вершин. Программа работает с массивами МИЛИ ц деревом. Программа состоит из головной программы и подпро­граммы «Выбор комбинации». Блок-схема головной программы РИСК приведена на рис. 18. В ней приняты следующие обозна­чения: МИЛИ — массив ИЛИ-вершин, передаваемый програм­мой РЯД, при этом, кроме 2-го адреса, в ячейках массива МИЛИ используются первый и второй адреса: первый (МИЛИ [..., 21) -~

t/03     Заказ .К? 1847                                      6-^



 

//=/-/

\l


Блок-схема  программы ДЕРАБ


Рис.  18.  Блок-схема  программы  РИСК



Программа £ФОРММ. Программа предназначена для форми­рования промежуточного массива МИЛИ — массива ИЛИ-вер-шин. В массиве МИЛИ используются вторые адреса ячеек для хранения адресов ИЛИ-вершин. В первой ячейке массива во вто­ром адресе находится число элементов массива МИЛИ. Програм­ма просматривает дерево и заполняет массив МИЛИ адресами ИЛИ-вершин, у которых не менее двух преемников. Блок-схема программы приведена на рис. 17. В ней приняты следующие обоз­начения: С5, Р, Л/7, Д, АД — описание см. в описании програм-

64


для хранения состояния соответствующей вершины и третий (МИЛИ [... 31) - для вспомогательной пометки об использовании соответствующей вершины при формировании комбинации; i — •рабочая целочисленная переменная (индекс массива МИЛИ); :МКОМ - массив комбинаций (табл. 6), размерность: 14bU8, на­ходится в ячейках 0010 - 1500 в МОЗУ-2; КОМБ - вспомога­тельный массив для очередной комбинации (используются вторые адреса ячеек для хранения адресов вершин комбинации, в первой ячейке массива во втором адресе находится число элементов мас­сива), размерность: 64.

66