ПРИЛОЖЕНИЯ
В любой программе процедурой !РГ можно пользоваться сколько угодно раз, однако сначала будет строиться одна гистограмма, затем полностью другая и т. д.
Пусть, например, нужно построить три гистограммы. Метки будут выглядеть так:
і : |
= 0; Ml : процедура получения |
tc; |
& т\ |
go |
to L |
[йі] |
|
|
|
М2 : &w. D; |
k l : = |
0; |
k l : = 2; i |
: = |
i -\- |
1; if i < |
3 then go to Ml. |
Необходимо задать |
tc, s, М2 , б — входные формальные параметры и М , |
М, At, |
Т, й , |
й; t4; k 1 — выходные |
формальные |
параметры. |
|
|
|
В основной программе необходимо описать следующие переменные х0, |
х і, х99, |
х100 — переменные типа |
real; |
й , і 4 — переменные |
типа integer; ml [0: 13] — |
массив |
типа real. |
|
|
|
|
|
|
|
|
|
|
|
ОПИСАНИЕ ПРОЦЕДУРЫ |
|
|
|
|
|
|
|
|
|
|
Для определения Т’зад (sup |
х) и At производится выборка 100 случайных чисел; |
под случайными числами |
понимается |
случайное |
время работы системы tc. Кроме |
|
|
|
|
|
|
|
л |
|
|
л |
х0, так, что х99 |
того, определяются квантили 0,99 и 0,01, т. е. а'0і09 = |
х99 и х0і01 = |
меньше только одного |
числа из выборки, а тогда |
|
|
|
|
|
|
|
Гзэд = х99 - |
х0; |
At = |
І 2 & .. |
|
|
(П .11) |
После определения |
Т зяд и At берется выборка чисел объема яі = 200 и произ |
водится |
расчет эмпирических |
частот |
|
|
|
|
|
|
|
|
|
|
|
лі |
(і : = |
0, |
1, . . |
13), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где ѵ(п1' — количество элементов в выборке объема пі, попавших в t-й интервал.
Величина ѵ (п к 1' вычисляется следующим образом.
Если в t-й реализации система отказала в момент времени tc, то номер интервала, соответствующий /-й реализации, определяется по формуле
|
|
|
|
= |
entier ((tc — х0)/Д t + |
1), |
|
(П.12) |
где entier (х) — целая |
часть |
х. |
|
|
|
|
|
|
|
После каждой |
реализации |
в і-й |
интервал, определяемый |
по формуле (П.12), |
добавляется |
1, т. е. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
ѵн |
15 |
+ |
если *(/> = |
*і; |
(П.13) |
|
|
|
|
I |
|
|
если t(^ =j=k 1 . |
|
|
|
|
|
|
|
Если 1 = 0, |
то |
= |
0 для |
k l |
= |
0...........13, |
причем |
в |
13-й |
интервал попадают |
все случайные числа, превосходящие х99, а в нулевой интервал — все случайные числа, меньшие, чем х0 .
|
|
|
|
ПРИЛОЖЕНИЕ VI |
Далее |
выполняется второй |
этап |
вычислений. Полагаем объем равным я2 : = |
|
|
|
ѵ (п2) |
|
«1 -}- 200. |
Вновь рассчитываем |
частоты ——— , затем берем объемы яЗ, я4 и т. д. |
до тех пор, пока не выполнится условие |
|
|
|
(nk) |
ѵ (пк-\) |
|
|
|
і______ JT______ |
(П.14) |
|
|
nk |
Ilk — 1 |
|
|
|
Одновременно с получением гистограммы определяется суммарное время работы системы ^ (с , а также ^ t \ , £ ^ t \ .
После выполнения условия (П.14) А nk, х0 выводится на печать и осуще ствляется переход на вторую метку переключателя.
|
Приложение |
ПРОЦЕДУРА |
VI |
ПОЛУЧЕНИЯ |
|
ВСЕХ ПУТЕЙ ГРАФА |
|
НАЗНАЧЕНИЕ
Процедура 5Р составлена для нахождения всех путей графа от начальной вер шины до конечной. Процедура составлена так, что все найденные пути запоминаются.
Блок-схема процедуры приведена на рис. П.З.
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ
Процедура 5° (q, п, т, он, ак, аі, а2, с1, с2 ) включает в себя: q, п, пг, ан, ак — переменные типа integer; cl, с2 — массивы; аі, а2 — массивы типа integer.
Пусть в основной программе:
q — число вершин, входящих в самый длинный путь, уменьшенное на единицу;
п— исходное число дуг;
т— суммарное число вершин, входящих во все пути;
|
|
|
|
|
|
ан— 1 — начальная |
вершина графа и всех путей; |
|
|
ак — конечная |
вершина всех путей; |
аі |
[1 |
: я] |
— все входы дуг графа; |
а2 |
[1 |
: я] |
— все выходы дуг графа; |
cl |
[1 |
: т ] |
— массив для записи вершин всех путей графа; |
с2 |
[1 |
: т ] |
— массив для записи номеров мест вершин в массивах аі и а2 . |
Тогда обращение к процедуре может быть записано без формальных параметров.
ПРИЛОЖЕНИЯ
ОПИСАНИЕ ПРОЦЕДУРЫ
|
Граф задается дугами, записываемыми с помощью определенных выше массивов |
сі, с2 , |
аі, |
а2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П е р в ы й |
э т а п . |
Началу всех путей ан = |
|
1 (в массиве сі) при условии, что |
сі |
[1] |
: |
= |
1, |
всегда |
соответствует с2 |
[1] |
: = |
0. Далее, если сі |
[2] |
: = |
о2 |
[1], то |
с2 |
[2] |
: = |
1. |
Если |
сі |
[3] : = |
а2 |
[/], то с2 |
[3] |
: |
= |
/ |
и т. д. Затем среди аі |
ищем |
вход, |
который совпадает с выходом, записанным |
в сі |
[2]. Когда он найден, то: |
|
1) запоминаем |
его |
номер |
j |
: — ja : — |
j (первый |
раз); |
|
|
|
|
|
|
2) |
|
а2 |
[/] записываем в сі |
[3], а в с2 [3] записываем номер / |
найденных аі и а2 . |
|
Теперь среди аі отыскиваем вход, который совпадает с последним из найденных |
сі и т. д. до тех пор, пока вновь найденное сі не будет совпадать с ак. |
|
|
|
Ищем |
новый |
путь. |
Снова |
сі [А] |
: = |
1, |
с2 |
[ft] |
: = 0, cl |
[ft -)- |
1 ] : = о2 [1 ], |
с2 |
[ft + |
1 ] : |
= |
1, |
и далее в аі |
ищем, |
начиная |
с |
аі |
[уз -)- 1 ], |
вход, |
совпадающий |
с cl [ft + |
1 ], |
и т. д., |
пока не найдем все пути, имеющие первыми двумя |
вершинами |
аі |
[1] и а2 [1]. Так же ищем все пути, имеющие первыми двумя вершинами аі [2] |
и а2 [2] и т. д. Когда дойдем до такой пары аі |
[s] и а2 [s], что аі |
[s] = |
ан, то в сі |
после очередного пути заносим признак конца первого этапа — 1, |
а в соответствую |
щие с2 |
заносим п + |
1, где п — номер последней дуги |
графа. |
|
|
|
|
|
|
В т о р о й |
э т а п . |
Берем первые три вершины первого пути и ищем среди а 1 |
вход, совпадающий с сі |
[3], но такой, чтобы соответствующее ему а2 |
было отлично |
от сі |
[4], и далее продолжаем вычисления, как на первом этапе. |
|
|
|
|
После того как все отвечающие указанному условию пути исчерпаны, в сі зано |
сим признак конца второго этапа — 2 и после проверки выполнения условия г2 < [ q
(г2 — счетчик) |
можно |
переходить к следующему этапу. |
Т р е т и й |
э т а п . |
Берем четыре вершины и поступаем так же, как на предыду |
щих этапах. При выполнении условия г2^> q в сі заносим после последней вершины 0.1 — конец всех путей. Затем осуществляем выход из процедуры.
|
Приложение |
ПРОЦЕДУРА ПОЛУЧЕНИЯ |
ѴИ |
ХАРАКТЕРИСТИК НАДЕЖНОСТИ |
|
ВОССТАНАВЛИВАЕМЫХ СИСТЕМ ПО РЕАЛИЗАЦИЯМ АЛЬТЕРНИРУЮЩЕЙ
ПОСЛЕДОВАТЕЛЬНОСТИ (СРЕДНИЕ ДАННЫЕ)
НАЗНАЧЕНИЕ
Процедура |
служит для получения среднего времени работы, среднего времени |
восстановления |
и коэффициента готовности по формулам: |
|
Е *.і |
|
і=і |
где tp — случайное время работы; N |
— число реализаций; t B — случайное время |
восстановления; Т ср~— среднее время |
работы; tcp — среднее время восстановления; |
ftp — коэффициент готовности. |
|
Блок-схема процедуры приведена |
на рис. П.4. |
ПРИЛОЖЕНИЕ VII
Рис. П .4. Блок-схема процедуры ^у.
ПРИЛОЖЕНИЯ
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ
Процедура |
(<р, |
fa, |
d, |
e l, s2, k \ , k.2, |
N max) |
включает в себя: |
k2 — пере |
менную типа integer; tp, |
te, |
d, |
e l, |
E2 , k \ , Wmax — переменные типа real. |
Обращение к процедуре может быть записано и без формальных параметров, |
если в основной программе ввести следующие обозначения: |
|
tp — случайное |
время |
работы; |
|
|
|
/в — случайное |
время |
восстановления; |
|
|
d — постоянная, |
принимающая значение |
0 или 1; |
|
еI, е2 — погрешности; |
|
|
|
|
|
|
k l , k2 — постоянные; |
|
|
|
|
|
|
|
Лішах — число, которое |
ограничивает |
количество реализаций. |
|
Среди указанных обозначений |
tp, fa, e l, |
е2, Al, |
Лішах — входные |
параметры; |
k2, d — выходные параметры. |
|
|
|
|
|
Процедура |
имеет |
следующие |
особенности: |
|
|
1. При первом обращении к процедуре надо положить А1 = 0, в результате чего величинам присваиваются начальные значения, а для дальнейшего счета надо поло
жить k \ |
Ф 6. |
где |
используется процедура |
^ у, необходимо |
описать Т ра , |
|
2. |
В |
программе, |
Т в а , |
Т р \ а , Т в і а , N a , |
іа, |
j a — переменные типа real. |
|
|
3. |
В |
программе, |
где |
используется процедура |
необходимо |
предусмотреть |
переключатель с двумя метками |
|
|
|
|
|
|
|
|
switch L1 : = |
N 1, N2, |
|
|
где |
N1 |
: процедура получения <р ів\ â°y; |
go to L \ |
[A2]; |
|
N 2 |
: продолжение |
программы. |
|
|
|
|
4. |
Процедура |
построена так, что при первом обращении к процедуре полу |
чения ф и /в должно обязательно получаться только время работы, при втором обра щении — только время восстановления и т. д., т. е. при нечетном обращении должно получаться время работы, а при четном — время восстановления.
5. В процедуре & у введена постоянная d, которая после первого обращения к ^ у
имеет значение 1, а потом все время равна 0 (так же, как и в процедуре |
п, в опи |
сании которой этот |
вопрос изложен подробно). |
|
6 . Процедура & у |
выдает на печать следующие числа: первое — среднее время |
работы; второе — среднее время восстановления; третье — коэффициент готовности; четвертое — количество реализации.
Если же количество реализаций N больше или равно ІѴтах, а приводимое ниже условие (П.15) не выполнено, то будут печататься следующие числа: первое — сред нее время работы за N реализаций; второе — среднее время восстановления за N реализаций; третье — среднее время работы з а N — 100 реализаций.
ОПИСАНИЕ ПРОЦЕДУРЫ
В начале программы проводим 200 реализаций, т. е. 200 раз обращаемся к блоку получения случайного времени работы и случайного времени восстановления, в ре зультате чего получаем суммарное время работы и суммарное время восстановления
100 |
|
100 |
Т р 1 в = 2 / Р/, |
7blfl=.j*Bt- |
І — 1 |
|
1=1 |
затем проводим еще 2 0 0 реализаций и получаем |
|
200 |
|
200 |
Т р 2 а = ^ t p i , |
Т'в2а = |
/• |
(=i |
|
i=i |