Главная страница
Навигация по странице:

  • СОДЕРЖАНИЕ 1 ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ 3 2 ПРИМЕРНЫЙ РАСЧЕТ 3 3 ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА 5 4 ЛИСТИНГ ПРОГРАММЫ 6

  • 2 ПРИМЕРНЫЙ РАСЧЕТ

  • 3. ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА Форма программы

  • КР делфи. Контрольная работа По дисциплине Анализ человекомашинных систем содержание 1 задание на контрольную работу 3


    Скачать 124 Kb.
    НазваниеКонтрольная работа По дисциплине Анализ человекомашинных систем содержание 1 задание на контрольную работу 3
    Дата19.03.2019
    Размер124 Kb.
    Формат файлаdoc
    Имя файлаКР делфи.doc
    ТипКонтрольная работа
    #70891


    Министерство Путей Сообщения

    Российский Государственный Открытый Технический

    Университет Путей Сообщения

    Контрольная работа
    По дисциплине:
    «Анализ человеко-машинных систем»

    СОДЕРЖАНИЕ
    1 ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ 3
    2 ПРИМЕРНЫЙ РАСЧЕТ 3
    3 ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА 5
    4 ЛИСТИНГ ПРОГРАММЫ 6
    1 ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ

    Выполнить расчет пропускной способности человека-оператора по приему и переработке информации. Исходные данные для определения пропускной способности человека-оператора приведены в таблице 1.

    Таблица 1

    Последняя цифра учебного шифра студента

    Закон распределения длительности времени обслуживания

    Количественные характеристики обслуживания требований

    , с

    , с

    2

    Нормальный

    40




    3

    Эрланга

    25

    15

    7

    Эрланга

    26

    12


    Продолжительность рабочей смены равна 12 часам, число требований, поступивших за период трудовой деятельности = 700
    2 ПРИМЕРНЫЙ РАСЧЕТ


    1. Закон распределения длительности времени обслуживания – Нормальный, Ntp=700, Ttp=12ч.

    • Количественные характеристики обслуживания требований:

    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. Данное условие не выполняется.


    1. Закон распределения длительности времени обслуживания – Эрланга, Ntp=700, Ttp=12ч.

    • Количественные характеристики обслуживания требований:

    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


    1. Закон распределения длительности времени обслуживания – Эрланга, Ntp=700, Ttp=12ч.

    • Количественные характеристики обслуживания требований:

    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.



    написать администратору сайта