КР делфи. Контрольная работа По дисциплине Анализ человекомашинных систем содержание 1 задание на контрольную работу 3
Скачать 124 Kb.
|
Министерство Путей Сообщения Российский Государственный Открытый Технический Университет Путей Сообщения Контрольная работа По дисциплине: «Анализ человеко-машинных систем» СОДЕРЖАНИЕ 1 ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ 3 2 ПРИМЕРНЫЙ РАСЧЕТ 3 3 ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА 5 4 ЛИСТИНГ ПРОГРАММЫ 6 1 ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ Выполнить расчет пропускной способности человека-оператора по приему и переработке информации. Исходные данные для определения пропускной способности человека-оператора приведены в таблице 1. Таблица 1
Продолжительность рабочей смены равна 12 часам, число требований, поступивших за период трудовой деятельности = 700 2 ПРИМЕРНЫЙ РАСЧЕТ
tobsl=40c;
λ=Ntp/Ttp, λ=700/43200=0.016203
µ=1/ tobsl, µ=1/40=0,025
ρ= λ/ µ, ρ=0,016203/0,025=0,648148
tozh= ρ/2(µ- λ), tozh=0,648/(2*(0,025-0,016))=36
Tc=tobsl+tozh=36+40=76
Kz=(Ntp*tc)/Ttp, Kz =(700*76)/(12*3600)=1,24 Вывод: значение коэффициента загрузки человека-оператора для нормальных систем диспетчерского типа не должно превышать 0,75. Данное условие не выполняется.
tobsl=25c; σobsl=15c
νobsl= σobsl/ tobsl=0,6
к=1/ νobsl2, к=1/0,36=2,8
µ=1/ tobsl, µ=1/25=0,04
Icp= Ttp/Ntp, Icp=12*3600/700=61.714
λ=Ntp/Ttp, λ=700/43200=0.016203
ρ= λ/µ, ρ=0,016203/0,04=0,405
tozh= ρ(1+к)/2*к(µ- λ), tozh=0,405*3,8/2*2,8*(0,04-0,016203))=11,45
Tc=tobsl+tozh=11,45+25=36,45
Kz=(Ntp*tc)/Ttp, Kz =(700*36,45)/(12*3600)=0,59
tobsl=26c; σobsl=12c
νobsl= σobsl/ tobsl=0,46
к=1/ νobsl2, к=1/0,211=4,7
µ=1/ tobsl, µ=1/26=0,038
Icp= Ttp/Ntp, Icp=12*3600/700=61.714
λ=Ntp/Ttp, λ=700/43200=0.016203
ρ= λ/µ, ρ=0,016203/0,038=0,426
tozh= ρ(1+к)/2*к(µ- λ), tozh=0,426*5,7/2*4,7*(0,038-0,016203))=11,9
Tc=tobsl+tozh=11,93+25=36,9
Kz=(Ntp*tc)/Ttp, Kz =(700*36,9)/(12*3600)=0,6 3. ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА Форма программы Окно программы при коэффициенте загрузки <0.75 4 ЛИСТИНГ ПРОГРАММЫ unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; Label2: TLabel; Button4: TButton; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Label5: TLabel; Edit2: TEdit; Label6: TLabel; Edit3: TEdit; Button5: TButton; Label7: TLabel; Label8: TLabel; Edit4: TEdit; Label9: TLabel; Button6: TButton; Label10: TLabel; Label11: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i,ii: integer; implementation uses Unit2, Unit3, Unit4, Unit5; {$R *.dfm} procedure proverka(s:string); var i,j: integer; begin j:=length(s); if j<>0 then for i:=1 to j do begin if ii<>1 then case s[i] of '0'..'9': begin ii:=2; break; end else begin ii:=1; form3.ShowModal; end; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin label3.visible:=true; label1.visible:=false; label2.visible:=false; button1.Visible:=false; button2.Visible:=false; button3.Visible:=false; edit3.text:='40'; label4.visible:=true; edit1.Visible:=true; edit2.Visible:=true; label5.visible:=true; edit3.Visible:=true; label6.visible:=true; button5.Visible:=true; i:=1; button6.Visible:=true; end; procedure TForm1.Button2Click(Sender: TObject); begin i:=2; label1.visible:=false; label2.visible:=false; button1.Visible:=false; button2.Visible:=false; button3.Visible:=false; label4.visible:=true; edit1.Visible:=true; label3.visible:=true; edit2.Visible:=true; label5.visible:=true; edit3.Visible:=true; label6.visible:=true; label9.Visible:=true; edit4.Visible:=true; button5.Visible:=true; button6.Visible:=true; edit3.Text:='26'; edit4.Text:='12'; end; procedure TForm1.Button5Click(Sender: TObject); var otvet:string; ttp,ntp,tobsl,t,ro,mu,lamda,tcp,k,d, ksi,v, icp,kk,tt,ttt,x: real; begin ttp:=0; ntp:=0; tobsl:=0; t:=0; ro:=0; mu:=0; lamda:=0; tcp:=0; k:=0; d:=0; ksi:=0; v:=0; icp:=0; kk:=0; tt:=0; ttt:=0; label11.Visible:=false; ii:=0; if edit1.Text='' then begin form2.showmodal; ii:=1; end; proverka(edit1.Text); if edit2.Text='' then begin form2.showmodal; ii:=1; end; proverka(edit2.Text); if edit3.Text='' then begin form2.showmodal; ii:=1; end; proverka(edit3.Text); if ii=2 then begin ttp:=strtofloat(edit2.Text); ntp:=strtofloat(edit1.Text); tobsl:=strtofloat(edit3.Text); if ttp>24 then form5.showmodal else if i=1 then begin lamda:=ntp/(ttp*3600); mu:=1/tobsl; ro:=lamda/mu; d:=2*(mu-lamda); t:=ro/d; tcp:=tobsl+t; k:=ntp*tcp/(ttp*3600); end; if i=2 then begin if edit4.Text='' then form2.showmodal; ksi:=strtofloat(edit4.Text); v:=ksi/tobsl; kk:=1/(v*v); mu:=1/tobsl; icp:=ttp*3600/ntp; lamda:=1/icp; ro:=lamda/mu; t:=ro*(1+kk)/(2*kk*(mu-lamda)); tcp:=t+tobsl; k:=ntp*tcp/(ttp*3600); end; tt:=k*100; ttt:=trunc(tt); k:=ttt/100; otvet:=floattostr(k); label7.Caption:=otvet; label10.Visible:=true; if k<>0 then begin label7.Visible:=true; label8.Visible:=true; label10.Visible:=true; end else begin label7.Visible:=false; label8.Visible:=false; label10.Visible:=false; end; if k>0.75 then begin label10.Caption:='×åëîâåê-îïåðàòîð íå ñïîñîáåí ïðèíÿòü è îáðàáîòàòü âñþ èíôîðìàöèþ' ; label10.Font.Color:=clRed; label11.Visible:=true; label7.Visible:=true; label8.Visible:=true; end else begin label10.Caption:='×åëîâåê-îïåðàòîð ñïîñîáåí ïðèíÿòü è îáðàáîòàòü âñþ èíôîðìàöèþ' ; label10.Font.Color:=clGreen; label7.Visible:=true; label8.Visible:=true; end; end; end; procedure TForm1.Button4Click(Sender: TObject); begin button6.Visible:=true; button6.Visible:=true; button6.Visible:=true; form4.showmodal; end; procedure TForm1.Button3Click(Sender: TObject); begin i:=2; label1.visible:=false; label2.visible:=false; button1.Visible:=false; button2.Visible:=false; button3.Visible:=false; label4.visible:=true; edit1.Visible:=true; label3.visible:=true; edit2.Visible:=true; label5.visible:=true; edit3.Visible:=true; label6.visible:=true; label9.Visible:=true; edit4.Visible:=true; button5.Visible:=true; button6.Visible:=true; edit3.Text:='25'; edit4.Text:='15'; end; procedure TForm1.Button6Click(Sender: TObject); begin label1.visible:=true; label2.visible:=true; button1.Visible:=true; button2.Visible:=true; button3.Visible:=true; label7.visible:=false; label8.visible:=false; label4.visible:=false; edit1.Visible:=false; label3.visible:=false; edit2.Visible:=false; label5.visible:=false; edit3.Visible:=false; label6.visible:=false; label9.Visible:=false; edit4.Visible:=false; button5.Visible:=false; button6.Visible:=false; edit1.Text:=''; edit2.Text:=''; label10.visible:=false; label11.visible:=false; end; end. |