Файл: Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 68

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

i

 

 

А

 

СЗРПД=СЗРПД<

 

срцд-=о,-;

 

Ь9 СУД-1

55

 

 

 

56

СРЗ =ШРД

 

 

 

 

 

свз- = СРЗ-СНЗ

 

57

 

 

 

 

C3PPU =СРЗ-

 

5

а

СЗРЦД'СЗРПД

 

 

(

I

 

 

 

Печать

. I

 

/

таблицы

I

 

 

SO

Конец

J

Рис. 35. Блок-схема I части алгоритма анализа потоков информации. Продолжение

С З Р Р И — Счетчик

числа

Задач,

Решаемых на

основании

Ре­

зультатной Информации;

 

 

 

 

СУД — Счетчик Участия Документа;

 

 

МАХУ — Максимальное

число

Участий одного документа

в

различных задачах;

 

 

 

 

 

а — текущий элемент исходного массива.

 

 

После ввода графа

взаимосвязи

документов,

представленного

в виде вектора, производится очистка всех счетчиков и задаются начальные условия (блоки 1—3).

Вячейке Ш Р Д хранится шифр очередного результатного до­ кумента (очередной рассматриваемой задачи).

Вблоках 8—11 определяется, сколько раз данный результат­ ный документ встречается в массиве. Если он встречается в мас­ сиве больше одного раза, то это промежуточно-результатный до­ кумент и поэтому в счетчик промежуточных документов СПД до­ бавляется единица (блок 50) и изменяется содержимое счетчика

задач, решаемых с использованием промежуточных документов — С З Р П Д (блок 49). Если же результатный документ встречается в массиве только один раз, то это чисто результатный документ и поэтому увеличивается содержимое счетчика результатных доку­ ментов С Р Р Д (блок 14).

Если установлено, что данный

документ чисто результатный,

то производится проверка, не является ли этот документ

результа­

том независимо решаемой задачи,

т. е. получается ли он

на основе

172


только исходных документов, используемых в данной задаче. При просмотре каждой записи в счетчике накапливается число доку­

ментов, используемых для решения задачи,

а в счетчике С Д З Р —

число результатных документов по задаче

(блок 19). При оконча­

нии записи производится сравнение этих

счетчиков

с ячейками

МАХ и МАХР для выявления

максимальных чисел по всему объ­

ему задач

(блоки 20—23).

 

 

 

 

 

 

Если

в данной задаче

не

было

результатных

документов

(СДЗР = 0),

это значит,

задача решалась

на основании

только

исходных

данных. В счетчик С З Р И Д

добавляется единица

(бло­

ки 28—30).

 

 

 

 

 

 

 

В таких задачах проверяется, сколько раз каждый исходный

документ встречается в массиве. Если все исходные

документы

встречаются

только по одному

разу, то это независимо решаемая

задача, и в счетчик независимых задач добавляется единица (блок 41). Если же хотя бы один из исходных документов используется в других задачах, то следует переход к рассмотрению другой за­ писи.

Число разновидностей исходных данных определяется в блоке 55 вычитанием из номера первого результатного документа а\ еди­ ницы, так как нумерация документов порядковая и за номерами исходных документов сразу следуют номера результатных.

В блоке 56 определяется число решаемых задач как номер за­

дачи последнего результатного

документа.

 

Количество взаимосвязанных задач определяется

в блоке 57

как разность общего числа решаемых задач и числа

независимо

решаемых задач.

 

 

Число задач, решаемых с

использованием результатных дан­

ных СЗРРИ, определяется в блоке 58 как разность общего числа

решаемых

задач

и задач,

решаемых

с

использованием

исходных

и промежуточных данных.

 

 

 

 

 

 

 

 

 

 

Все полученные величины сводятся в таблицу и выдаются на

печать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Представим

теперь данный алгоритм

в языке АЛГЭК-С. Для

связи АЛГЭК-программы

с

блок-схемой

в качестве

меток

будем

использовать соответствующие номера блоков.

 

 

 

 

 

_нач цел мае А [103];_цел Ц, Д;^цел_мар

П Р И О Р

[150];

 

 

 

цел

мае

ПОР [150];

 

 

 

 

 

 

 

 

 

 

цел

СДЗ, СДЗР,

СРИД,

СРЗ, ШРД,

СРРД,

СВЗ,

GH3,

С З Р П Д ,

С З Р И Д ;

 

 

 

 

 

 

 

 

 

 

 

 

 

цел МАХ, МАХР,

МАХУ,

СУД, К, И,

Г,

КМ,

Ж ,

Т1,

ШД, СПД,

С З Р Р И , Ы;

 

 

 

 

 

 

 

 

 

 

 

 

цел Т2, Н, НН, М, ММ, Л, Л Л, СРПД; цел мае З И Д

[150];

 

 

цел

мае

НЗ

[150];

 

 

 

 

 

 

 

 

 

 

текст Т

вид

'С(128)';

текст ТИ вид

'С(128)';

 

 

 

 

 

текст ТП вид 'С(128)'; текст Р шя

'С(Ю)';

 

 

 

 

 

процедура ВЫВ(Ь, Р Е Д ) ; цел Ь;

текст

РЕД ;

 

 

 

 

 

173"


нач

цел

П Е Р ;

библ

('2—10ЦЧ',

Ь,

П Е Р ) ; Р Е Д : = П Е Р ;

для

М : = 2 : 8

цикл

 

 

 

 

нач

если

Р Е Д

[элем

М]

то

на

П1; Р Е Д [элем М ] : = ' Г ;

Ш: кон; кон;

 

библ

('ВВОДЗ',

'О',

А); Т : = '

';

Т И ; = '

';

Т П : = '

';

 

 

Т[элем 30:71] : = ' Р Е З У Л Ь Т А Т Ы

АНАЛИЗА

МАТЕРИАЛОВ

ОБСЛЕ ­

 

ДОВАНИЯ';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библ

('АЦПУГ,

Т);

Т : = '

';

библ

('АЦПУГ,

Т);

 

 

 

библ

('АЦПУГ,

Т);

 

 

 

 

 

 

 

 

 

 

 

 

 

ТИ [элем 1 0 : 6 7 ] : = ' Н А ОСНОВАНИИ

Т О Л Ь К О

ИСХОДНЫХ ДАН­

 

НЫХ

РЕШАЮТСЯ

 

ЗАДАЧИ

НОМЕР:';

 

 

 

 

 

 

ТП [элем

10:65] : = ' « А

ОСНОВАНИИ

ПРОМЕЖУТОЧНЫХ ДАННЫХ

 

РЕШАЮТСЯ

ЗАДАЧИ

Н О М Е Р : ' ;

 

 

 

 

 

 

 

Т [элем

10:42]: ^ Н Е З А В И С И М О

РЕШАЮТСЯ ЗАДАЧИ, Н О М Е Р : ' ;

 

С Д З : = 0 ;

 

С Д З Р : = 0 ;

С Р Р Д : = 0 ;

С Р П Д : = 0 ; С Р И Д : = 0 ; СНЗ : = 0 ;

 

С З Р П Д : =

0;

С З Р И Д : = 0;

МАХ:=0;

М А Х Р : = 0 ;

М А Х У : = 0 ;

К : = 0 ;

 

К М : = — 0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Н : = 6 6 ; М : = « 6 ; Л : = 6 6 ;

Н Н : = 6 9 ; М М : = 6 9 ;

Л Л : = 6 9 ;

Д : = 1 :

 

ц : = 1; И : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б4:

Г : = И ;

Ш Р Д : = —А

[ И ] ;

Ы : = Ш Р Д

[элем

14:25];

ВЫВ

(Ы, Р ) ;

 

С У Д : = 0 ; И : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б 8 :

если

А [И] - КМ то

 

на

Б11;

если

А [ И ] ^ Ш Р Д

то на

Б10;

 

 

С У Д : = С У Д + 1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б10:

И : = И + 1 ;

на

Б8;

 

 

 

 

 

 

 

 

 

 

на Б43;

 

 

Б11:

если

СУД = 0 то_на

Б14;

если

С У Д ^ М А Х У

то

М А Х У : = С У Д ;

Б43:

С У Д : = 0 ; С П Д : = С П Д + 1 ;

 

 

 

 

 

 

 

 

 

 

Б48:

И : = Г + 1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б49:

если

А [И] <

0 _гр __на

Б49Б;

 

И : = И + 1 ;

 

 

 

 

 

 

С Д З : = С Д З + 1 ; если

А [И элем

14:25] =0_го

на

Б49; С Д З Р : = С Д З Р + 1 ;

Б49А:

если

А [ И ] = £ К М

то

на Б49;

на

Б52А;

 

 

 

 

 

 

Б49Б:

если

С Д З Р = 0

то

на

К1;

С З Р П Д : = С З Р Д Д + 1 ;

 

 

 

если

С Д З Р ^ М А Х Р

 

то

на

Б24;

М А Х Р : = С Д З Р ;

 

 

Б24:

С Д З Р : = 0 ;

если

С Д З < М А Х

 

то

на

Б22; М А Х : = С Д З ;

 

Б22:

С Д З : = 0 -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТП [ э л е м ' Л : Л Л ] : = Р

[элем

8:10];

Л : = Л + 3 ; Л Л : = Л Л + 3 ;

 

 

если

Л 3*120

_го

_на

МЗ; _на

 

Б4;

 

 

 

 

 

 

К 1 :

С З Р И Д : = С З Р И Д + 1 ;

З И Д

[ Д ] : = Ш Р Д [элем:

14:25]; Д : = Д + 1 ;

 

ТИ [элем

Н : Н Н ] : = Р

[элем

8:10];

Н : = Н + 3 ; Н Н : = Н Н + 3 ;

 

 

если

Н 5 ^ 120

то

на

M l ;

на

 

Б4;

 

 

 

 

 

 

Б14:

С Р Р Д : = С Р Р Д + 1 ;

_на

Б48;

 

 

 

 

 

 

 

 

 

Б52А:

С Р И Д : = А [ И

элем

26:37]—1;

 

СРЗ : =

Ш Р Д [элем

14:25];

 

 

Ш Р Д [элем

26 : 37] : = С Р З [ э л е м

14:25];

 

 

 

 

 

 

С Р З : = Ш Р Д ;

С В З : = С Р З — С Н З ; С З Р Р И : = С Р З — С З Р И Д — С З Р П Д ;

НЗ [ Ц ] : = КМ;

ЗИ Д [ Д ] : = КМ; Б52Г: И : = 1;

Б53:

Ж : = И ; Ш Р Д : = — А [ И ] ; И : = И + 1 ; если А [И элем 14:25] = 0 то на В;

Б28:

Ш Д : = А [ И ] ; И : = 1;

 

 

если А [И] = ШД

то_ на_ B26j

СУД: = СУД + 1 ;

Б26:

И : = И + 1 ; если

А [ И ] = К М

то _на Б28;

 

если СУД>1_то_на В; С Н З : = С Н З + 1 ; Ы : = Ш Р Д [ э л е м ] 14:25];

174


 

В Ы В ( Ы,

 

Р ) ;

Т[элем

М : М М ] : = Р[элем

8:11];

 

 

 

 

 

 

М : = М + 3 ; М М : = М М + 3 ;

если

М > 1 2 0

 

то

на

М2;

 

 

 

 

Н З [ Ц ] : = Ы; Ц: = Ц + 1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В :

И : = Ж + 1 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БЗО:

если

А[И] < 0

 

то

на

Б31;

И : = И + 1 ;

на

БЗО;

 

 

 

 

 

Б 3 1 :

если А[И]=#=,КМ _го на

Б53;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библ

('АЦПУГ,

Т); библ

('АЦПУГ,

ТИ);

библ ('АЦПУГ,

ТП);

 

 

 

Т: = *

';

библ

(АЦПУГ,

Т);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M l :

библ

('АЦПУГ,

ТИ);

Т И : = '

';

Н : = 6 6 ; НН:=67; _ на

Б4;

 

 

 

М2:

библ

('АЦПУГ,

ТП);

ТП: = '

'; Л: = 66; Л Л : = 6 7 ; _ н а

Б4;

 

 

 

МЗ:

библ ('АЦПУГ, Т); Т : = '

';

М : = 6 6 ; ММ:=67; _ на

Б4;

 

 

 

БЗО:

К: = 1; И : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б 5 1 :

если

А [ И ] < 0

 

то

на

Б54;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б52:

И : = И + 1 ;

если

А [ И ] = К М

то

на

 

Б63;

на

Б51;

 

 

 

 

Б54:

Ц : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б55:

если

А [И

элем

14:25] =<НЗ[Ц]

то

на_ Б52;

Ц : = Ц + 1 ;

 

 

 

 

 

если

Н З [ Ц ] ¥ = К М

то

на

Б55;

Д : = 1;

 

 

 

 

 

 

 

 

Б59:

если

А [И

элем

14:25] = З И Д [ Д ]

_го на

 

Б52;

 

 

 

 

 

 

Д : = Д + 1 ;

если

З И Д [ Д ] ^ К М

_го

 

на_

Б59;

 

 

 

 

 

 

Б63А:

Н[элем

14:25] : = А [ И

элем

14:25];

14:25];

 

 

 

 

 

 

П Р И О Р [К

элем

 

14 : 25] : = Н [ э л е м

 

 

 

 

 

 

 

Б63В:

И : = И + 1 ;

если

А [ И ] < 0

то

_на

Б54;

 

 

 

 

 

 

 

 

 

если

А [И

элем

14:25] = 0

то

на

 

Б63В;

 

 

 

 

 

 

 

 

 

П Р И О Р

[К элем

26:37] : = Д [ И

элем

 

14:25]; К : = К + 1 ; _ н а

Б63А;

 

Б63:

П Р И О Р [ К ] : = КМ;

К: = 1;

М: = 1;

К[элем_ 14:25]: = П Р И О Р

элем

 

14:25];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б66:

П О Р [ М ] : = П Р И О Р [ К

 

элем

26:37]; К : = К + 1 ;

 

 

 

 

 

 

если

П Р И О Р [ К ] = К М

то на

 

Б84;

 

М : = М + 1 ;

 

 

 

 

 

 

если

-ПРИОР[К

элем

14:25] = Н [ э л е м

 

14:25]_го на Б66;

 

 

 

 

П О Р [ М ] : = Н[элем

14:25];

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б70:

К : = К + 1 ;

если

П Р И О Р [К] = КМ

_то на

 

Б84;

 

 

 

 

 

 

Н[элем

1 4 : 2 5 ] : = П Р И О Р [ К

элем

 

14:25];

 

 

 

 

 

 

 

 

М : = М + 1 ; Л : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б74:

если П Р И О Р [К

элем

26:37] = П О Р [ Л ] то

на Б79; Л : = Л + 1 ;

 

 

 

если Л=И=М_то на Б74;

П О Р [ М ] : = П Р И О Р [ К

элем

14:25]; М : = М + 1 ;

Б79:

Л : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б80:

если

П Р И О Р [К

элем

14:25] = П О Р [ П ] то

на

Б70;

Л : = Л + 1 ;

 

 

 

если

ЛФМто

на

Б80;

ПОР [М] : = П Р И О Р [К

элем

14:25];

на

Б70;

Б84:

П О Р [ М ] : = К М ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б84А:

Т[элем

10:42]: = ' П О С Л Е Д О В А Т Е Л Ь Н О С Т Ь

РЕШЕНИЯ

ЗАДАЧ:';

 

М : = 4 5 ; М М : =46;

Л : = 1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б85:

Ы: = П О Р [ Л ] ;

ВЫВ(Ы,

Р ) ; Т[элем

М : М М ] : = Р [ э л е м

8:11];

 

 

 

 

М : = М + 3 ; М М : = М М + 3 ;

е с л и _ М ^ 1 2 0

 

то

на

Б86;

 

 

 

 

Л : = Л + 1 ;

если

ПОР[Л]=^=КМ

то

 

на

Б85;

 

 

 

 

 

 

 

библ

('АЦПУГ,

Т);

на

ТАБЛ;

 

 

 

 

 

 

 

 

 

 

 

 

Б68:

библ

('АЦПУГ,

Т); Т : = '

';

М : = 4 5 ; ММ: =48; Л : = Л + 1 ;

на

Б85;

Т А Б Л :

Т : = ' — ' ; библ

('АЦПУГ,

Т ) ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библ ('АЦПУГ, ' : Н А И М Е Н О В А Н И Е : Ч И С Л О Р Е : Ч И С Л О НЕ : ЧИСЛО

 

ВЗА:ЧИСЛО Р А З : Ч И С Л О

З А : Ч И С Л О

ЗА:ЧИСЛО

ЗА:МАКС

:ИС-

 

Л О — : М АКС ЧИСЛО:МАКС Ч И : ' ) ;

 

 

 

 

 

 

 

 

 

 

 

библ

('АЦПУГ,

'ОТДЕЛА

:ШАЕМЫХ

:ЗАВИСИМО:ИМОСВЯЗАН:

175


 

: Н О В И Н О С — : Д А Ч , Р Е Ш А : П О

Р А З Н О — : Л 0 УЧАС—:');

 

 

Т : = '

'; Т[элем

16:108] : = ' З А Д А Ч : Р Е Ш А Е М Ы Х : Н Ы Х

ЗАДАЧ:ТЕИ

 

ИСХО:ТЕЙ РЕЗУ — :ЕМЫХ ТО—:ЕМЫХ С : В И Д Н О С Т Е Й : И В Д Н О -

 

CTEPl: ТИЙ

О Д Н О : ' ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

библ('АЦПУГ,

Т); Т : = '

 

';

 

 

 

 

 

 

 

 

 

 

 

 

Т[элем

25:108]: = ' З А Д А Ч :

 

 

 

 

 

 

 

 

 

 

 

 

:НЫХ ДАННЫХ:ЛЬТАТНЫХ : Л Ь К О Н

: И С П О Л Ь З О : И Н Ф О Р М А — :

 

:РЕЗУЛЬТАТ:ГО Д А Н Н О — : ' ;

 

 

 

 

 

 

 

 

 

 

 

библ ('АЦПУГ,

Т),

Т: = '

*;

 

 

 

 

 

 

 

 

 

 

 

 

для И : = 1;

 

13, 22, 31, 41, 51, 61, 70,

79, 108 цикл Т[элем И] : = ' : ' ;

 

Т[элем

5 2 : 1 0 8 ] : = ' Д А Н Н Ы Х : ОСНОВ А—:ВАНИЕМ

:ЦИИ,

ИСПО—

 

:НЫХ, ДАН :ТО П Р И

:';

библ

('АЦПУГ,

Т);

 

 

 

 

 

 

Т[элем

52:60]:= '

';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т[элем

62:108] : = ' Н И И

 

ИС—

 

 

: Р Е З У Л Ь Т А Т Л Ь З У Е М Ы И :НЫХ,

 

ПОЛУ— : Р Е Ш Е Н И : ' ;

библ ('АЦПУГ Т);

 

 

 

 

 

 

 

Т[элем

6 2 : 1 0 8 ] : = ' Х О Д Н Ы Х

:ТАТНЫХ

: П Р И

 

РЕОГЕ

: ЧАСНЫХ

 

: Р А З Л И Ч — : ' ;

 

б_ибл

('АЦПУГ,

Т);

 

 

 

 

 

 

 

 

Т[элем 62:69]:='—'; Т[элем 71:78]:= '

';

 

 

 

 

 

 

 

Т[элем 82:108] : = ' З А Д А Ч И

 

:НИИ

 

О Д Н О Й : ДАЧ

 

: ' ;

 

 

 

библ ('АЦПУГ, Т); Т : = '

 

';

библ

 

('АЦПУГ,

Т);

Т : = ' — ' ;

 

 

 

библ

('АЦПУГ,

Т);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ы : = С Р З ;

ВЫВ(Ы,

Р ) ;

Т[элем

14:16]: = Р [ э л е м

8:10];

 

 

 

Ы : = С Н З ;

ВЫВ(Ы,

Р ) ;

Т[элем

22:24]: = Р [ э л е м

8:10];

 

 

 

Ы : = С В З ;

 

ВЫВ(Ы,

Р ) ;

 

Т[элем

 

31:33]: = Р [ э л е м

 

8:10];

 

 

 

Ы : = С Р И Д ;

ВЫВ(Ы,

Р ) ;

Т[элем 41:43]: = Р [ э л е м

8:10];

 

 

 

Ы : = С Р Р Д ;

 

ВЫВ(Ы,

Р ) ;

Т[элем

51:53]: = Р [ э л е м

8:10];

 

 

 

Ы : = С Р П Д ;

 

ВЫВ(Ы,"

Р ) ;

Т[элем

61:63]: = Р [ э л е м

8:10];

 

 

Ы: = С З Р И Д ;

ВЫВ(Ы,

Р ) ;

Т[элем]

 

71 : 73]

: = Р [ э л е м

8 : 10];

 

 

Ы : = С З Р П Д ;

ВЫВ(Ы,

Р ) ;

Т[элем

 

81:83]: = Р [ э л е м

8:10];

 

 

 

Ы : = С З Р Р И ;

ВЫВ(Ы,

Р ) ;

Т[элем

 

91:93]: = Р [ э л е м

 

8:10];

 

 

 

Ы : = М А Х ;

 

ВЫВ(Ы,

Р ) ;

Т[элем

101:103]: = Р[элем

8:10];

 

 

 

Ы : = М А Х Р ;

ВЫВ(Ы,

Р ) ;

Т[элем

111:113]: = Р [ э л е м

8:10];

 

 

для И : = 1,

 

13, 22, 31, 41,

51,

61,

70,

79, 89,

99,

108

цикл

 

 

 

Т[элем И ] : =

':';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К Н :

библ

('АЦПУГ,

Т);

Т : = ' — ' ;

библ

 

('АЦПУГ,

Т);

 

 

 

 

 

 

КОН;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок-схема

 

второй

части

алгоритма

анализа

 

потоков

инфор­

мации, соответствующая получению основных характеристик по­ тока, представлена на рис. 36.

В блок-схеме используются следующие условные обозначения: НД — номер документа; С — порядок компоненты;

ТИ — заголовок исходных документов;

TP — заголовок результатных документов; ТП — заголовок промежуточных документов; ТГ — номер такта гашения; В — максимальное значение порядка схемы; НВ — номер вершины;

ПС, t — вспомогательные переменные.

176