обробка заявок
for c:=0 to z_ras do
begin
/ / перевірка наявність заявки в сиситеми
while time
begin
time:=time +1;
/ / перевірка наявності оброблених заявок
for j:=0 to c - 1 do
/ / умова виконується якщо заявка оброблена
if (time=mas [j]. tosv) and (mas [j]. service=true) then
n_svob:=n_svob + mas [j]. nn;
end;
/ / перевірка вільних каналів для обробка прийшла заявки
if (time=mas [c]. tprih) and (n_svob>=mas [c]. nn) then
begin
n_svob:=n_svob-mas [c]. nn;
mas [c]. service:=true;
end
else z_otk:=z_otk +1;
end;
/ / Розрахунок вихідних параметрів
po:=1-z_otk/z_ras;
k:=(po * l) / mu;
pi:=k / n;
writeln («Вірогідність ослужіванія (po)», po: 5:7);
writeln («Середнє число зайнятих каналів (k)», k: 5:7);
writeln («ймовірність того, що (будь-який) канал буде зайнятий (pi)», pi: 5:7);
readln;
end.
Додаток 3
Блок схема (аналітична модель)
Додаток 4
Текст програми (аналітична модель)
program analitic_model_1;
{$ APPTYPE CONSOLE}
SysUtils; m=1/4; p=0.57; q=4; a=40; v=1400/60; I=9; j, n: integer;, pi, mu, nu, mu1, l, alfa, po: real;
/ / функція, обчислення факторіал цілого чіслаfakt (k: integer): integer;
var x: integer;
begin
x:=1;
for j:=1 to k do
x:=x * j;
fakt:=x;
end;
/ / функція, обчислення ступінь XY
function stepen (x: real; y: integer): real;
var j: integer;
f: real;
begin
f:=1;
for j:=1 to y do
f:=f * x;
stepen:=f;
end;
/ / обчислення функції пуассоновского розподілу
function R (t: integer; x: real): real;
var ff: real;
j: integer;
begin
ff:=0;
for j:=0 to t do
ff:=ff + stepen (x, j) * exp ((- 1) * x) / fakt (j);
R:=ff;
end;
writeln («Введіть число каналів n:»);
readln (n);
mu:=q * m * p;
nu:=v / a;
...