Читайте также: |
|
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button1: TButton;
Label9: TLabel;
Label10: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Label11: TLabel;
Label12: TLabel;
Memo1: TMemo;
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Tobs1,Tobs2,T:integer;
Tcr1, Tcr2:real; i1,i2,i3,i4,m1,m2: real;
pt,e, et,ot, p1,p2,o,o2,o3,o4,o5,j: integer;
implementation
{$R *.dfm}
procedure TForm1.N3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
messagebox(0,pchar('Эта программа моделирует процесс работы регистратуры. Выполнила Вялых Екатерина БМ-052'),'О программе',0);
end;
procedure TForm1.FormCreate(Sender: TObject);
procedure TimePeriod(t: integer;i: real; var o: integer; var exec: integer);
begin
if ((t*i) > (t*(m1+m2))) then
begin
o:=trunc(t*(i-m1-m2));
exec:=trunc(t*(m1+m2));
end
else
begin
o:=0;
exec:=trunc(t*i);
end;
end;
begin
//инициализация параметров СМО
randomize;
i1:=1/(1+random(4));
randomize;
i2:=1/(2+random(4));
randomize;
i3:=1/(1+random(6));
randomize;
i4:=1/(10+random(4));
randomize;
m1:=1/(4+random(6));
randomize;
m2:=1/(3+random(2));
//расчет
p1:= trunc((2*60)*i1+(3.5*60)*i2+(0.5*60)*i3);
p2:= trunc((4*60)*i3+(2*60)*i4);
TimePeriod(2*60,i1,ot,et);
e:=e+et;
o:=o+ot;
TimePeriod(trunc(3.5*60),i2,ot,et);
e:=e+et;
o:=o+ot;
TimePeriod(trunc(0.5*60),i3,ot,et);
e:=e+et;
o:=o+ot;
TimePeriod(4*60,i3,ot,et);
e:=e+et;
o:=o+ot;
TimePeriod(2*60,i4,ot,et);
e:=e+et;
o:=o+ot;
o:=trunc(o/4);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.LineS.Add('Статистика');
Tobs1:=6+random(4);
Tobs2:=4+random(1);
T:=3+random(2)+4+random(2)+4+random(3);
Tcr1:=T/3;
T:=4+random(3)+12+random(2);
Tcr2:=T/2;
Memo1.LineS.Add('Интенсивность обслуживания пациентов в 1 окне:'+floattostr(1/Tobs1));
Memo1.LineS.Add('Интенсивность обслуживания пациентов в 2 окне:'+floattostr(1/Tobs2));
Memo1.LineS.Add('Интенсивность поcтупления пациентов в 1 смене:'+floattostr(1/Tcr1));
Memo1.LineS.Add('Коэффициент загрузки для 1-го окна в 1 смену:'+floattostr(Tobs1/Tcr1));
Memo1.LineS.Add('Коэффициент загрузки для 2-го окна во 1 смену:'+floattostr(Tobs2/Tcr1));
Memo1.LineS.Add('Обслужено за 1 смену:'+floattostr(p1));
Memo1.LineS.Add('');
Memo1.LineS.Add('Интенсивность поcтупления пациентов во 2 смене:'+floattostr(1/Tcr2));
Memo1.LineS.Add('Коэффициент загрузки для 1-го окна в 2 смену:'+floattostr(Tobs1/Tcr2));
Memo1.LineS.Add('Коэффициент загрузки для 2-го окна во 2 смену:'+floattostr(Tobs2/Tcr2));
Memo1.LineS.Add('Обслужено за 2 смену:'+floattostr(p2));
Memo1.LineS.Add('Средняя длина очереди:'+floattostr(o));
end;
end.
Дата добавления: 2015-07-08; просмотров: 226 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Анализ результатов | | | Процесс производства лесоматериалов состоит из трех фаз: лесосечные работы, транспортные работы, нижнескладские работы. |