Имитациялық модельдеу реферат
№417


 Мазмұны
1 Имитатциялық модельдеу имитатциялық модельдеуді ұйымдастыру………………………………………………………………………..3
1.1 Имитациялык модельдеудің кезеңдері……………………………………..3
1.2Мәселені қою …………………………………………………………………...3
1.3 Матиматикалық модельді құрастыру ……………………………………...4
1.4 Программа жасау……………………………………………………………5
1.5 Модельдеудің сәйкестігін бағалау ………………………………………..5
1.6 Эксперементтерді жоспарлау ……………………………………………..6
1.7 Модельдеудің нәтижелерін өңдеу…………………………………………..7
1.8 Модельдеуші алгоритм құру………………………………………………..7
1.9 Жетекпен өткізу принципі ………………………………………………….9
2.0 Математикалық үміт пен дисперсияның тұрақталған мәнін табуға қажетті нақтылама саны ………………………………………………………9
2.1 Чебышев теңсіздігі мына өрнекпен бейнеленеді ………………………11
2.2 Көпшілікке қызмет көрсету жүйелерін модельдеу…………………….11
2.3 Бірканалды көпшілікке қызмет көрсету жүйесін модельдеу………….12
2.4 Жұмысы сенімсіз элемментті көпшілікке қызмет көрсету жүйелерін модельдеу ………………………………………………………………………..13
2.5 Салыстырмалы приоритетті көпшілікке қызмет көрсету жүйелерін модельдеу…………………………………………………………………………14




Жұмыс түрі: Реферат
Пәні: Информатика
Жұмыс көлемі: - бет

-----------------------------------------------------------------------------------
https://www.topreferat.com/
РЕФЕРАТТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ
 Мазмұны
1 Имитатциялық модельдеу имитатциялық
1.1 Имитациялык модельдеудің кезеңдері……………………………………..3
1.2Мәселені қою …………………………………………………………………...3
1.3 Матиматикалық модельді құрастыру
1.4 Программа жасау……………………………………………………………5
1.5 Модельдеудің сәйкестігін бағалау
1.6 Эксперементтерді жоспарлау ……………………………………………..6
1.7 Модельдеудің нәтижелерін өңдеу…………………………………………..7
1.8 Модельдеуші алгоритм құру………………………………………………..7
1.9 Жетекпен өткізу принципі
2.0 Математикалық үміт пен
2.1 Чебышев теңсіздігі мына
2.2 Көпшілікке қызмет көрсету
2.3 Бірканалды көпшілікке қызмет
2.4 Жұмысы сенімсіз элемментті
2.5 Салыстырмалы приоритетті көпшілікке
1 ИМИТАЦИЯЛЫҚ МОДЕЛЬДЕУ
1.1 Имитациялык модельдеудің кезеңдері
Зерттелетін жүйелер мен объектілердің әр
мәселені қою;
математикалық модельдер құру;
компьютерге арналған программа жасау;
модельдің түпнұсқаға сәйкестігін бағалау;
эксперименттердің жоспарын жасау;
модельдеудің нәтижелерін өңдеу.
Осы кезеңдердің әрқайсысына жеке тоқталайық.
1.2 Мәселені қою
Имитациялық модельдеу, басқа да зерттеу
Имитациялық модельдеудің мақсаты ретінде жауабы
Мысалы, имитациялық модельдеуді мына сұрақтарға
1.3 Математикалық модельді құрастыру
Математикалық модель деп, зерттеліп отырған
1.4 Программа жасау
Имитациялық модельдеудің бұл кезеңінде зерттеушінің
1.5 Модельдеудің сәйкестігін бағалау
Өте күрделі жүйелерді зерттегенде кездесетін
Математикалық модедьдерді бағалау көбінесе үш
Бірінші сатыда зерттелетін процесс пен
Тексерудің екінші сатысында модель жасау
Елеулі айнымаларды анықтау үшін, олардың
Модельдің сәйкестігін бағалаудың үшінші сатысында
Жасалған модельдерді бағалағанда, олардың іс
- іс жүзінде қолданушыға қолайлы
- басқаруға жеңіл;
- ол арқылы алынған нәтижелер
- жаңа талаптар бойынша өзгертулер
1.6 Эксперименттерді жоспарлау
Жасалған модельдің зерттелетін жүйеге немесе
Осы бір нақтыламаның арқасында анықталған
1.7 Модельдеудің нәтижелерін өндеу
Имитациялық модельдеу нақтыламаларын жузеге асырғаннан
1.8 Модельдеуші алгоритм құру принциптері
Күрделі жүйелерді имитациялық модельдеу кезінде
Енді осы модельдеуші алгоритмдерді құрудың
t принципі
Күрделі жүйелердің жұмыс барысын бейнелеу
Z(t)={ Z (t),Z
Сонда, осы жүйелерде өтіп жатқан
тәуелділігін қолдануға болады.
Кездейсоқ (стохастикалық) процестерді сипаттаудың сәл
принципі іс жүзінде кездесетін әр
Ерекше жағдай принципі
Әр түрлі күрделі жүйелерді зерттегенде
Осындай қасиеттермен сипатталатын жүйелердің модельдеуші
Осы принципті қолдану үшін, ең
1.9 Жетекпен өткізу принципі
Бұл принцип көбінесе көпшілікке қызмет
Басында ол кезекке тұруы немесе
"Жетектеп өткізу" принципі өте тиімді
Айтып кететін тағы бір жәй,
Модельдеуші алгоритмнің жалпы құрылымы
Модельдеуші алгоритмнің жалпы кұрылымы имитациялық
2 МАТЕМАТИКАЛЫҚ ҮМІТ ПӘН ДИСПЕРСИЯНЫҢ
Математикалық үміттің мәнін анықтау үшін
Осы формуламен
математикалық үміті т, дисперсиясы
ұқсас екендігі анық. Сондықтан осы
Яғни
Бұл формуладағы a2 - арифметикалық
формуласымен есептелетін дисперсияның жуық шамасы
Енді әр түрлі көрсеткіштердің дисперсиясын
тәуелділігімен бағалауға мүмкіндік беретін N
Бұл жолы да дисперсияның бағасы
тең, қалыпты заңмен сипатталатынын ескере
Осы өрнектен, белгілі үш сигма
Белгісіз а бұл жерде де
Нақтылама санын анықтауға Чебышев теңсіздігін
Бұған дейін нақтыламалар санын анықтау
Осы жағдайда нақтылама санын табу
2.1 Чебышев теңсіздігі мына өрнекпен
Бұл өрнек кез-келген көрсеткіштің арифметикалық
Мысал [4]. Имитациялық модельдеу нәтижесінде
орындалуы тиіс. Ол үшін
Яғни N = 320.
Табылған нақтылама саны, қалыпты үлестірім
2.2 Көпшілікке қызмет көрсету жүйелерін
Іс жүзінде кездесетін әр түрлі
Енді көпшілікке қызмет көрсету жүйелерін
2.3 Бірканалды көпшілікке қызмет көрсету
Осы жүйенің кірісіндегі талаптар Пальм
Бұл талаптар қызмет көрсету каналының
Кезекте тұру мерзімі шектелулі дел
Осы көпшілікке қызмет көрсету жүйесінің
1- ші оператордың көмегімен имитациялық
2 - ші оператор имитациялық
- ші оператор жаңа нақтыламаны
- ші және 5 -
Табылады . Бұл формуладағы
6 - шы оператордың көмегімен
Ал (10.1) шарты орьшдалған жағдайда
8 - ші оператор кезекті
10 - шы және 11
2.4 Жұмысы сенімсіз элементті көпшілікке
Көпшілікке қызмет көрсету сұлбасымен бейнеленетін
Жоғарыда қаралған бірканалды көпшілікке қызмет
Енді каналдың істен шығып қалу
Бұл шарт орындалмаған, яғни каналдын
Ал R=1 шарты орындалған жағдайда
Бұл шарттың мағынасы мынада. Қызмет
Егер каналдың істен шығу мезгілі
өткен істен шығу мерзімі
- мезгілін табу қажет боолса.
Ең бастапқы шақта, әрине, L
Ал бірінші оператордың шарты орындалмаған
Бұл шарт орындалған жағдайда кезекті
Сондықтан 6 және 7 -
Келесі 8 - ші оператор,
2.5 Салыстырмалы приоритетті көпшілікке қызмет
Кірісінде бүрынғыдай бір ғана емес,
Ал бір ағынның ішіндегі талаптардың
Осы жүйе келіп түскен талаптарды
Салыстырмалы приоритетті көпшілікке қызмет көрсету
Осы айтылған ерекшеліктерді дұрыс жүзеге
Ең бірінші, талаптар кезектерін модельдеу
Осы екі әдістің керегін колдану
Егер талаптар кезегінің оқиғалары
Егер талаптар кезегінің оқиғаларын модельдеуге
Бұл белгінің бастапқы мәні L=1
Енді қарастырылып отырған жүйе көп
eгep жұмысқа кіріспеген каналдар әлі
егер каналдардың
Енді салыстырмалы
модельдеуші алгоритімін құрастыруға кірісейік.
Осы модельдеуші алгоритмнің сұлбасы керекті
Бұл деректер мен бастапқы шарттар
модельдеу иитервалы[0, Тм];
осы жүйедегі каналдар саны k;
ағындар саны Q;
ағын талаптарының
қызмет көрсету
барлық k каналдарының қызмет жасауға
L және ф белгілерінің бастапқы
Талаптар ағындары ең маңызды q=l
Ал 5,6,7- ші операторлар осы
Енді 5 - ші оператордын
- q ағынының жүйеге келіп
жүйеге келіп түскен барлық талаптар
әр кезекте тұрған талаптардың саны
Келесі үш оператор (9, 10,
Ал L=1 және q13 - ші оператордан бастап
Келесі, 14-ші оператор осы кезекте
Бұл шарт орындалған жағдайда 17
Егер осы талап келген мезгілде
Ал қарама-қарсы жағдайда, яғни каналдардың
Бұл тексеріс 14, 15, 16,
Соңғы жағдайда 18-ші оператордан 19-шы
20-шы оператор талаптың кезекте күткен
Ал талап күтсе 23 -
шартын тексереді.
(10.2) шарты орындалған жағдайда 26-ші
Модельдеуші алгоритімнің тағы бір кезеңі
Ал 29-шы оператордың шарты орындалмаса,
шарты орындалуы керек (36-шы оператор).
37 және 38-ші операторлардан кейін
Ен соңғы операторлар тобы (40-47-ші
3.2 Блок-схема моделирующего алгоритма
Рисунок 8 - Блок-схема
currentTime5:=0
Установка начальных
значений
Продолжение рисунка 8
exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet, LambdaForExponen)
TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aF orGamma)
Продолжение рисунка 8
exponen(oprNextZ(zForExponen [High(zForExponen)],'Exponen')/ mForZByVichet,LambdaForExponen)
TGamma(oprNextZ(zForGamma [High(zForGamma)],'Gamma')/ mForZByVichet,aForGamma)
Продолжение рисунка 8
Продолжение рисунка 8
Продолжение рисунка 8
Продолжение рисунка 8.
1:sOutput:='Рукопись #'+IntToStr(n)+'Время прибытия:'+timer (vremya[1,2])+' Интервал:'+timer(mashinistka1[n,0])+'
Продолжение рисунка 8
Продолжение рисунка 8
Продолжение рисунка 8
Продолжение рисунка 8
4.3 Описание логической структуры программы
Номер строки Описание
1 Начало программы
2-5 Начальные установки
6-41 Описание типов
42-48 Описание процедур и функций
49-73 Описание своих типов данных
74-89 Функция(procedure) encode_time(), функция перевода
90-93 Функция exponen(), функция экспоненциального
94-106 Функция Tgamma(), функция гамма
107-124 Функция oprNextZ (), функция
125-162 Процедура PostroitOchered
163-253 Процедура записи данных в
254-278 Функция summaVremeniOcheredi
279-306 Процедура printCurrientTime , запись
307-327 Процедура printOchered
328-444 Процедура TForm1.Nakonec
445-497 Процедура Начальные установки
498-515 Процедуры кнопок Button1, Button2,Button3
4.4 Вызов и загрузка
По необходимой директорий найти папку
4.5 Используемые технические средства
В процессе написания этой программы
технические средства:
- процессор PentiumIV 2.8 МГц;
- ОЗУ 512 Мб;
- Видеокарта GeForceII 32Мб;
- HDD 40ГБ;
- Монитор SAMSUNG Sync Master
- Microsoft Windows XP;
- DELPHI 7;
- Microsoft Office XP.
4.6 Входные данные
Входными данными являются строки ввода
Количество терминалов;
Альфа для гамма распределения;
Начальное значение Z0 для гамма
Лямда значение Z0 для экспоненциального
Начальное значение Z0 для экспоненциального
4.7 Выходные данные
Количество заявок;
Количество очереди;
Среднее время обслуживания заявок;
Средняя длинна очереди;
Средняя длинна пребывания заявок в
Результаты выполнения контрольной программы приведен
4.8 Ручной счет
z a для Gamma
z0=6
z1=25769802
z2=3436935910
z3=2891087210
z4=46181318
z5=1352129930
z6=3594089126
z7=3772282794
z8=2293608326
z9=721251274
z10=963330662
z a для Экспоненциального
z0=5
z1=21474835
z2=3579941141
z3=3840895107
z4=3617623845
z5=2558430707
z6=2279246389
z7=996085347
z8=1195512389
z9=1316870611
z10=2234431317
4.9 Контрольный пример
СПИСОК ЛИТЕРАТУРЫ
Бусиленко Н.П. Моделирование сложных систем.-
Иванова В.М. Случайные числа и
Шукаев Д.Н. Компьютерное моделирование.- Алматы:
Шукаев Д.Н. Имитационное моделирование на
Поляк Ю.Г. Вероятностное моделирование на
Пугачев В.С. Теория случайных чисел
Шукаев Д.Н. Моделирование случайных закономерностей
Лифщиц А.Л., Мальц Э.А. Статистическое
Шукаев Д.Н., Тусупова Б.Б. Моделирование
Мартин Ф. Моделирование на вычислительных
Нойлор Т. Машинные имитационные эксперименты
Таха Х. Введение в исследование
Советов Б.Я., Яковлев С.А. Моделирование
Джейсул Н. Очереди с приоритетами.
Приложение А
unit kurs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Dialogs, StdCtrls, Spin, Math, ComCtrls,
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label4: TLabel;
Label5: TLabel;
EditZ0ForGamma: TEdit;
GroupBox4: TGroupBox;
Label7: TLabel;
Label8: TLabel;
EditLambdaForExponen: TEdit;
EditZ0ForExponen: TEdit;
Button1: TButton;
TabSheet2: TTabSheet;
output1: TMemo;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
output2: TMemo;
output3: TMemo;
output4: TMemo;
TabSheet6: TTabSheet;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
output5: TMemo;
Button2: TButton;
Button3: TButton;
EditAForGamma: TEdit;
Memo1: TMemo;
Image1: TImage;
Image2: TImage;
Memo2: TMemo;
Image3: TImage;
Memo3: TMemo;
procedure Button1Click(Sender: TObject);
procedure startSettings;
procedure nakonec;
procedure FilePrint;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private{ Private declarations }
public {
end;
Продолжение приложения А
var { MAIN}
Form1: TForm1;
zga:real;
{Cтруктура массива: mashinistka1[0,0]=содержит интервал (время)
mashinistka1:array of array of real;
mashinistka2:array of array of real;
mashinistka3:array of array of real;
mashinistka4:array of array of real;
mashinistka5:array of array of real;
{Cтруктура массива ochered1[0,0]=интервал (время) прибывания
ochered1[0,1]=время набора текста для 1-го
ochered1:array of array of real;
ochered2:array of array of real;
ochered3:array of array of real;
ochered4:array of array of real;
ochered5:array of array of real;
{ukazatelOcheredi[1,1]-ukazatel na nachalo ocheredi dlya
ukazatelOcheredi[1,2]-ukazatel na konec ocheredi dlya
ukazatelOcheredi: array[1..5,1..2] of integer;
{vremya-massiv dlya ucheta vremeni,
vremya[1,1]=esli 1-ya mashinistka rabotaet to
vremya[1,2]=pokazivaet skolko vremeni rabotaet 1-ya
vremya:array[1..5,1..2] of real;
{zForExponen массив истории зетов (случайных
zForExponen,zForGamma: array of cardinal;
{workTime -время работы машинисток в
LambdaForExponen:real;
{aForGamma -параметр Альфа для нахождения
aForGamma:real;
kolOcheredi,dlinaOcheredi:cardinal;
{м и а параметры для
aForZByVichet,mForZByVichet,pozicia1,pozicia2,pozicia3,pozicia4,pozicia5:cardinal;
{currentTime1 -условная переменная, для учета
nacaloRaboti,konecRaboti,nacaloObeda,konecObeda,workTime,currentTime1,currentTime, currentTime3,currentTime4,currentTime5:real;
implementation
{$R *.dfm}
function timer(minsec:real):string;
var
s1,s2,s3,ss:integer;
secund,minute,hour:string;
begin
ss:=round(minsec);
s2:=ss mod 60;
Продолжение приложения А
ss:=ss div 60;
s1:=ss mod 60;
ss:=ss div 60;
s3:=ss div 60;
hour:=inttostr(s3);
minute:=inttostr(s1);
secund:=inttostr(s2);
timer:=concat(hour,' : ',minute,' : ',secund);
end;
//общая формула экспоненциального
function exponen(z,lambda:real):real;
begin
exponen:=-1/lambda*ln(z);
end;
// общая формула Gamma
function TGamma(oprNextZ:real;zga:real):real;
var
zg:real;
tgam:real;
fs:real;
begin
fs:=1;
zg:=oprNextZ;
fs:=fs*zg;
if(fs<=0) then fs:=1;
tgam:=abs((-ln(fs)/zga));
TGamma:=tgam;
end;
{Функция для нахождения случайных чисел
м(mForZByVichet) -число, которое больше чем
function oprNextZ(z0:cardinal;s:string):cardinal;
var a,zNext:cardinal;
begin
zNext:=(aForZByVichet*z0)mod mForZByVichet;
if s='Exponen' then
begin
a:=High(zForExponen)+2;
SetLength(zForExponen,a);
zForExponen[a-1]:=zNext;
end
else
begin
a:=High(zForGamma)+2;
SetLength(zForGamma,a);
zForGamma[a-1]:=zNext;
end;
Продолжение приложения А
oprNextZ:=zNext;
end;
procedure postroitOchered;
var i:integer;
begin
for i:=pozicia1 to 35+pozicia1 do
begin
SetLength(ochered1,High(ochered1)+2);{SetLength -выделяет для динамического массива
SetLength(ochered1[High(ochered1)],2);
ochered1[High(ochered1),0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
ochered1[High(ochered1),1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
end;
for i:=pozicia2 to 35+pozicia2 do
begin
SetLength(ochered2,High(ochered2)+2);{sozdalaem element dlya massivov ocheredi}
SetLength(ochered2[High(ochered2)],2);
ochered2[High(ochered2),0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
ochered2[High(ochered2),1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
end;
for i:=pozicia3 to 35+pozicia3 do
begin
SetLength(ochered3,High(ochered3)+2);
SetLength(ochered3[High(ochered3)],2);
ochered3[High(ochered3),0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
ochered3[High(ochered3),1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
end;
for i:=pozicia4 to 35+pozicia4 do
begin
SetLength(ochered4,High(ochered4)+2);
SetLength(ochered4[High(ochered4)],2);
ochered4[High(ochered4),0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
ochered4[High(ochered4),1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
end;
for i:=pozicia5 to 35+pozicia5 do
begin
SetLength(ochered5,High(ochered5)+2);
SetLength(ochered5[High(ochered5)],2);
ochered5[High(ochered5),0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
Продолжение приложения А
ochered5[High(ochered5),1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
end;
end;
procedure TForm1.FilePrint;
var f,f1:textfile;
i:integer;
sum:real;
kol:integer;
begin
assignfile(f,'result.txt');
assignfile(f1,'z.txt');
rewrite(f);
rewrite(f1);
writeln(f,'Курсовой проект студента группы КСУ-02-1к
writeln(f,'на тему: Моделирование работы машинисток');
writeln(f,'Вариант №64');
writeln(f,'');
writeln(f,'Входные данные');
writeln(f,'Режим работы с 9.00 до
writeln(f,'обед с 13.00 до 14.00');
writeln(f,'Длина очереди: 35');
writeln(f,'');
writeln(f,'z0 для Гамма='+EditZ0ForGamma.text);
writeln(f,'Параметр aльфа для Гамма='+EditAForGamma.text);
writeln(f,'');
writeln(f,'z0 для Экспоненциального='+EditZ0ForExponen.text);
writeln(f,'Параметр лямбда для Экспоненциального =
writeln(f,'');
writeln(f1,'z a для Gamma');
for i:=low(zForGamma) to High(zForGamma) do
writeln(f1,'z'+IntToStr(i)+'='+FloatToStr(zForGamma[i]));
writeln(f1,'');
writeln(f1,'z a для Экспоненциального');
for i:=low(zForExponen) to High(zForExponen) do
writeln(f1,'z'+IntToStr(i)+'='+FloatToStr(zForExponen[i]));
closefile(f1);
writeln(f,'');
writeln(f,'Для первой машинистки');
for i:=0 to output1.Lines.Count do
writeln(f,output1.Lines[i]);
writeln(f,'');
writeln(f,'Для второй машинистки');
for i:=0 to output2.Lines.Count do
writeln(f,output2.Lines[i]);
writeln(f,'');
writeln(f,'Для третьей машинистки');
for i:=0 to output3.Lines.Count do
writeln(f,output3.Lines[i]);
writeln(f,'');
Продолжение приложения А
writeln(f,'Для четвертой машинистки');
for i:=0 to output4.Lines.Count do
writeln(f,output4.Lines[i]);
writeln(f,'');
writeln(f,'Для пятой машинистки');
for i:=0 to output5.Lines.Count do
writeln(f,output5.Lines[i]);
for i:=low(mashinistka1) to High(mashinistka1) do
begin
sum:=sum+mashinistka1[i,1];
kol:=kol+1;
end;
for i:=low(mashinistka2) to High(mashinistka2) do
begin
sum:=sum+mashinistka2[i,1];
kol:=kol+1;
end;
for i:=low(mashinistka3) to High(mashinistka3) do
begin
sum:=sum+mashinistka3[i,1];
kol:=kol+1;
end;
for i:=low(mashinistka4) to High(mashinistka4) do
begin
sum:=sum+mashinistka4[i,1];
kol:=kol+1;
end;
for i:=low(mashinistka5) to High(mashinistka5) do
begin
sum:=sum+mashinistka5[i,1];
kol:=kol+1;
end;
sum:=sum/5;
sum:=sum/kol;
writeln(f,'');
writeln(f,'Среднее время набора текстов');
writeln(f,FloatToStr(sum));
writeln(f,'');
writeln(f,'Среднее количество рукописей в стопке');
writeln(f,FloatToStr(kol/4));
writeln(f,'');
writeln(f,'Средняя длительность пребывания рукописи в
writeln(f,FloatToStr(dlinaOcheredi/kolOcheredi));
closefile(f);
end;
{vozvrashaet summu vremeni v ocheredi
n-imenno kakoi massiv-nomer}
function summaVremeniVOcheredi(n,k:integer):real;
Продолжение приложения А
var i:integer;
sum:real;
begin
{if ukazatelOcheredi[1,2]=-1 then k:=pozicia1
sum:=0;
for i:=0 to k do
if i<>-1 then
begin
case n of
1:sum:=sum+ochered1[i,0];
2:sum:=sum+ochered2[i,0];
3:sum:=sum+ochered3[i,0];
4:sum:=sum+ochered4[i,0];
5:sum:=sum+ochered5[i,0];
end;
end;
case n of
1:sum:=sum+mashinistka1[0,0];
2:sum:=sum+mashinistka2[0,0];
3:sum:=sum+mashinistka3[0,0];
4:sum:=sum+mashinistka4[0,0];
5:sum:=sum+mashinistka5[0,0];
end;
summaVremeniVOcheredi:=sum;
end;
{пишет в output, ocheretti emes}
procedure printCurrentTime(n,i:integer);
var sOutput:string;
begin
case i of
1:Begin
sOutput:='Рукопись #'+IntToStr(n)+'Время прибытия:'+timer(vremya[1,2])+' Интервал:'+timer(mashinistka1[n,0])+' Время
Form1.output1.Lines.Add(sOutput);
End;
2:Begin
sOutput:='Rukopis #'+IntToStr(n)+' Время прибытия:'+timer(vremya[2,2])+' Интервал:'+timer(mashinistka2[n,0])+'
Form1.output2.Lines.Add(sOutput);
End;
3:Begin
sOutput:='Rukopis #'+IntToStr(n)+' Время прибытия:'+timer(vremya[3,2])+' Интервал:'+timer(mashinistka3[n,0])+'
Form1.output3.Lines.Add(sOutput);
End;
4:Begin
Продолжение приложения А
sOutput:='Rukopis #'+IntToStr(n)+' Время прибытия:'+timer(vremya[4,2])+' Интервал:'+timer(mashinistka4[n,0])+'
Form1.output4.Lines.Add(sOutput);
End;
5:Begin
sOutput:='Rukopis #'+IntToStr(n)+' Время прибытия:'+timer(vremya[5,2])+' Интервал:'+timer(mashinistka5[n,0])+'
Form1.output5.Lines.Add(sOutput);
End;
end;
end;
{pechateat kto v ocheredi ili
procedure printOchered(n:integer);
var sOutput:string;
i:integer;
begin
sOutput:='';
if ukazatelOcheredi[n,1]<>-1 then
begin
for i:=ukazatelOcheredi[n,1]+1 to
sOutput:=sOutput+'#'+IntToStr(i+1);
sOutput:='ochered'+sOutput;
dlinaOcheredi:=dlinaOcheredi+ukazatelOcheredi[n,2]-ukazatelOcheredi[n,1];
kolOcheredi:=kolOcheredi +1;
end
else
sOutput:='Нет очереди';
if n=1 then Form1.output1.Lines.Add(sOutput);
if n=2 then Form1.output2.Lines.Add(sOutput);
if n=3 then Form1.output3.Lines.Add(sOutput);
if n=4 then Form1.output4.Lines.Add(sOutput);
if n=5 then Form1.output5.Lines.Add(sOutput);
end;
procedure TForm1.nakonec;
var i,j:integer;{poz1 pozicia eementa v
begin
while ((vremya[1,1]=1) or (vremya[2,1]=1) or
begin
{vremya-massiv dlya ucheta vremeni, struktura->
vremya[1,1]=esli 1-ya mashinistka rabotaet to
vremya[1,2]=pokazivaet skolko vremeni rabotaet 1-ya
vremya[1,2]:=vremya[1,2]+mashinistka1[High(mashinistka1),0];{v dannom sluchae pokazivaet kogda
vremya[2,2]:=vremya[2,2]+mashinistka2[High(mashinistka2),0];{v dannom sluchae pokazivaet kogda
Продолжение приложения А
vremya[3,2]:=vremya[3,2]+mashinistka3[High(mashinistka3),0];{v dannom sluchae pokazivaet kogda
vremya[4,2]:=vremya[4,2]+mashinistka4[High(mashinistka4),0];{v dannom sluchae pokazivaet kogda
vremya[5,2]:=vremya[5,2]+mashinistka5[High(mashinistka5),0];{v dannom sluchae pokazivaet kogda
if currentTime1>vremya[1,2] then currentTime1:=currentTime1+mashinistka1[High(mashinistka1),1]
else currentTime1:=vremya[1,2]+mashinistka1[High(mashinistka1),1];{v dannom sluchae pokazivaet
if currentTime1>nacaloObeda-nacaloRaboti then
currentTime1:=currentTime1+konecObeda -nacaloObeda; {vremya[1,1]=esli 1-ya mashinistka
if currentTime1>konecRaboti-nacaloRaboti then
begin
vremya[1,1]:=0; {vremya[1,1]=esli 1-ya mashinistka rabotaet
break;
end;
if currentTime2>vremya[2,2] then currentTime2:=currentTime2+mashinistka2[High(mashinistka2),1]
else currentTime2:=vremya[2,2]+mashinistka2[High(mashinistka2),1];{v dannom sluchae pokazivaet
if currentTime2>nacaloObeda-nacaloRaboti then
currentTime2:=currentTime2+konecObeda -nacaloObeda; {vremya[1,1]=esli 1-ya mashinistka
if currentTime2>konecRaboti-nacaloRaboti then
begin
vremya[2,1]:=0; {vremya[1,1]=esli 1-ya mashinistka rabotaet
break;
end;
if currentTime3>vremya[3,2] then
currentTime3:=currentTime3+mashinistka3[High(mashinistka3),1]
else currentTime3:=vremya[3,2]+mashinistka3[High(mashinistka3),1];{v dannom sluchae pokazivaet
if currentTime3>nacaloObeda-nacaloRaboti then
currentTime3:=currentTime3+konecObeda -nacaloObeda; {vremya[1,1]=esli 1-ya mashinistka
if currentTime3>konecRaboti-nacaloRaboti then
begin
vremya[3,1]:=0; {vremya[1,1]=esli 1-ya mashinistka rabotaet
break;
end;
Продолжение приложения А
if currentTime4>vremya[4,2] then currentTime4:=currentTime4+mashinistka4[High(mashinistka4),1]
else currentTime4:=vremya[4,2]+mashinistka4[High(mashinistka4),1];{v dannom sluchae pokazivaet
if currentTime4>nacaloObeda-nacaloRaboti then
currentTime4:=currentTime4+konecObeda -nacaloObeda; {vremya[1,1]=esli 1-ya mashinistka
if currentTime4>konecRaboti-nacaloRaboti then
begin
vremya[4,1]:=0; {vremya[1,1]=esli 1-ya mashinistka rabotaet
break;
end;
if currentTime5>vremya[5,2] then currentTime5:=currentTime5+mashinistka5[High(mashinistka5),1]
else currentTime5:=vremya[5,2]+mashinistka5[High(mashinistka5),1];{v dannom sluchae pokazivaet
if currentTime5>nacaloObeda-nacaloRaboti then
currentTime5:=currentTime5+konecObeda -nacaloObeda; {vremya[1,1]=esli 1-ya mashinistka
if currentTime5>konecRaboti-nacaloRaboti then
begin
vremya[5,1]:=0; {vremya[1,1]=esli 1-ya mashinistka rabotaet
break;
end;
printCurrentTime(pozicia1,1);
printCurrentTime(pozicia2,2);
printCurrentTime(pozicia3,3);
printCurrentTime(pozicia4,4);
printCurrentTime(pozicia5,5);
{esli vremya u stoyashego v
rukopisa, to on stanovitsya v
for j:=1 to 4 do
for i:=(ukazatelOcheredi[j,2]) to ukazatelOcheredi[j,2]+34 do
begin
{esli summa vsekh vremen v
menshe(<) chem vremy obrabotki rukopisi
if (j=1) and (summaVremeniVOcheredi(j,i)(j=2) and (summaVremeniVOcheredi(j,i)(j=3) and (summaVremeniVOcheredi(j,i)(j=4) and (summaVremeniVOcheredi(j,i)(j=5) and (summaVremeniVOcheredi(j,i)begin
{menyaem ukazateli na ochered}
if ukazatelOcheredi[j,1]=-1 then ukazatelOcheredi[j,1]:=i;
if ukazatelOcheredi[j,2]-ukazatelOcheredi[j,1]+1<=25 then
ukazatelOcheredi[j,2]:=i;
Продолжение приложения А
end
else
break;
end;
{esli raznica mezhdu ukazatelem nacala
t,e ukazatel na nachalo ocheredi
printOchered(1);
printOchered(2);
printOchered(3);
printOchered(4);
printOchered(5);
{1-ya mashinistka beret sleduiushi rukopis}
SetLength(mashinistka1,High(mashinistka1)+2);
SetLength(mashinistka1[High(mashinistka1)],2);
mashinistka1[High(mashinistka1),0]:=ochered1[pozicia1,0];
mashinistka1[High(mashinistka1),1]:=ochered1[pozicia1,1];
{2-ya mashinistka beret sleduiushi rukopis}
SetLength(mashinistka2,High(mashinistka2)+2);
SetLength(mashinistka2[High(mashinistka2)],2);
mashinistka2[High(mashinistka2),0]:=ochered2[pozicia2,0];
mashinistka2[High(mashinistka2),1]:=ochered2[pozicia2,1];
{3-ya mashinistka beret sleduiushi rukopis}
SetLength(mashinistka3,High(mashinistka3)+2);
SetLength(mashinistka3[High(mashinistka3)],2);
mashinistka3[High(mashinistka3),0]:=ochered3[pozicia3,0];
mashinistka3[High(mashinistka3),1]:=ochered3[pozicia3,1];
{4-ya mashinistka beret sleduiushi rukopis}
SetLength(mashinistka4,High(mashinistka4)+2);
SetLength(mashinistka4[High(mashinistka4)],2);
mashinistka4[High(mashinistka4),0]:=ochered4[pozicia4,0];
mashinistka4[High(mashinistka4),1]:=ochered4[pozicia4,1];
{5-ya mashinistka beret sleduiushi rukopis}
SetLength(mashinistka5,High(mashinistka5)+2);
SetLength(mashinistka5[High(mashinistka5)],2);
mashinistka5[High(mashinistka5),0]:=ochered5[pozicia5,0];
mashinistka5[High(mashinistka5),1]:=ochered5[pozicia5,1];
pozicia1:=pozicia1+1;
pozicia2:=pozicia2+1;
pozicia3:=pozicia3+1;
pozicia4:=pozicia4+1;
pozicia5:=pozicia5+1;
for j:=1 to 5 do
begin
ukazatelOcheredi[j,1]:=ukazatelOcheredi[j,1]+1;
if ukazatelOcheredi[j,1]>ukazatelOcheredi[j,2] then ukazatelOcheredi[j,1]:=-1;
end;
postroitOchered;
end;{end while}
Продолжение приложения А
FilePrint;
end;
procedure TForm1.startSettings; // Процедура для
var i:integer; //
z0:cardinal; // для
begin
nacaloRaboti:=9*60;
konecRaboti:=18*60;
nacaloObeda:=13*60;
konecObeda:=14*60;
workTime:=8*3600; {8 hours to seconds}
currentTime1:=0;
currentTime2:=0;
currentTime3:=0;
currentTime4:=0;
currentTime5:=0;
mForZByVichet:=trunc(intPower(2,32)-1);
aForZByVichet:=trunc(mForZByVichet/1000);
{УСТАНОВКА nachalnikh znachenie for Exponen,
SetLength(zForExponen,1); {SetLength -выделяет для динамического
zForExponen[0]:=StrToInt(EditZ0ForExponen.Text);
{просто обновили массив случайных чисел
z0:=oprNextZ(zForExponen[0],'Exponen'); {oprNextZ -смотреть описание функции}
{EditLambdaForExponen=введенному значению Lambda для Exponen}
LambdaForExponen:=StrToFloat(EditLambdaForExponen.Text);
{УСТАНОВКА nachalnikh znachenie for Gamma}
SetLength(zForGamma,1);
zForGamma[0]:=StrToInt(EditZ0ForGamma.Text);
z0:=oprNextZ(zForGamma[0],'Gamma');
aForGamma:=StrToInt(EditAForGamma.text);
{nachalsya rabochij den' mashinistok }
SetLength(mashinistka1,1);{SetLength -выделяет для дин.-го массива
SetLength(mashinistka1[0],2);
SetLength(mashinistka2,1);{t.e sozdali odin element dlya
SetLength(mashinistka2[0],2);
SetLength(mashinistka3,1);
SetLength(mashinistka3[0],2);
SetLength(mashinistka4,1);
SetLength(mashinistka4[0],2);
SetLength(mashinistka5,1);
SetLength(mashinistka5[0],2);
{zapolnyaem 1-ie rukopisi dlya kazhdoi
mashinistka1[0,0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
Продолжение приложения А
mashinistka1[0,1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
mashinistka2[0,0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
mashinistka2[0,1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
mashinistka3[0,0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
mashinistka3[0,1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
mashinistka4[0,0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
mashinistka4[0,1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
mashinistka5[0,0]:=exponen(oprNextZ(zForExponen[High(zForExponen)],'Exponen')/mForZByVichet,LambdaForExponen);
mashinistka5[0,1]:=TGamma(oprNextZ(zForGamma[High(zForGamma)],'Gamma')/mForZByVichet,aForGamma);
for i:=1 to 5 do
begin
vremya[i,1]:=1;{vse mashinistki gotovi k rabote}
vremya[i,2]:=0;{proshlo 0 munit s nachala
ukazatelOcheredi[i,1]:=-1; {ocheredi net}
ukazatelOcheredi[i,2]:=-1; {ocheredi net}
end;
postroitOchered; {postroit uslovno ochered}
end;
procedure TForm1.Button1Click(Sender: TObject);
begin{начальные значения заполняем с помощью
startSettings;
nakonec;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
output1.Clear;
output2.Clear;
output3.Clear;
output4.Clear;
output5.Clear;
end;
end.
Приложение Б
z a для Gamma
z0=400
z1=1717986800
z2=2927449744
z3=2328930544
z4=1647098768
z5=2810993648
z6=1951084688
z7=2377416432
z8=1151710608
z9=2270433776
z10=2660846224
z11=174462192
z12=772992912
z13=3688204272
z14=76522640
z15=2726128368
z16=773613968
z17=3928538608
z18=1448492688
z19=2526183664
z20=2104107920
z21=3328553968
z22=3172276368
z23=641554160
z24=497294736
z25=3013896688
z26=2062824080
z27=4027968752
z28=2037536656
z29=2214387696
z30=2333838480
z31=1370768112
z32=75288976
z33=4169602544
z34=1102259856
z35=3350223088
z36=3681258384
z37=559614960
z38=3957522576
z39=1302474480
z40=1676051856
z41=3180380656
z42=1876105872
z43=3189884144
z44=3969236880
z45=2604677104
z46=3970659472
z47=851909360
z48=1294023056
z49=4152454640
z50=1519652496
z51=1680486640
z52=2251355024
z53=3731645424
z54=716499088
z55=165873392
z56=1634528656
z57=2333678064
z58=3879076496
z59=982097136
z60=293414800
z61=3349123056
z62=3544145040
z63=3417699056
z64=3523846544
z65=1293403632
z66=2331571856
z67=2986346736
z68=2277137296
z69=597277680
z70=2743783568
z71=1627381488
z72=1614239120
z73=37581296
z74=1260186256
z75=726496496
z76=1915260816
z77=2937776112
z78=3906421904
z79=2726349552
z80=1563822480
z81=1598692848
z82=3168919184
z83=4147241200
z84=3926377360
z85=383980528
z86=2154084496
z87=1492694768
z88=2856697232
z89=150850032
z90=92787344
z91=1450003696
z92=2560096144
z93=4155654128
z94=3614649488
z95=1026007792
z96=3097915792
z97=2484631024
z98=3662595728
z99=2042607856
z100=3071880080
z a для Экспоненциального
z0=500
z1=2147483500
z2=1511828532
z3=1837421356
z4=985131636
z5=2440000236
z6=291372212
z7=824286892
z8=3587121908
z9=2838042220
z10=104832308
z11=1291819564
z12=2039982964
z13=3536513516
z14=1169395124
z15=186434988
z16=4188242932
z17=2763189612
z18=1810615860
z19=3157729580
z20=1556393076
z21=4160692460
z22=744119988
z23=4023168172
z24=3842843892
z25=2693629036
z26=3652271924
z27=2887477292
z28=399437172
z29=620500972
z30=3991039924
z31=2787201964
z32=3315336692
z33=1990777708
z34=2451566644
z35=2040295212
z36=306605684
z37=2847002348
z38=651935924
z39=3775576748
z40=2095064820
z41=2901733996
z42=3418874164
z43=3987355180
z44=3887804276
z45=34620908
z46=3889582516
z47=1064886700
z48=2691270644
z49=1969342828
z50=2973307444
z51=1026866476
z52=1740451956
z53=3590814956
z54=3043107508
z55=1281083564
z56=2043160820
z57=2917097580
z58=1627620148
z59=153879596
z60=2514252148
z61=4186403820
z62=2282697652
z63=2124640172
z64=109840884
z65=3764238188
z66=3988206644
z67=1585449772
z68=2846421620
z69=1820338924
z70=3429729460
z71=960485036
z72=4165282548
z73=1120718444
z74=1575232820
z75=3055604268
z76=246592372
z77=1524736492
z78=1661801908
z79=3407936940
z80=3028519924
z81=3072107884
z82=2887407156
z83=4110309676
z84=1686746228
z85=479975660
z86=2692605620
z87=1865868460
z88=1423387892
z89=3409788012
z90=3337209652
z91=1812504620
z92=2126378356
z93=899600364
z94=1297086388
z95=1282509740
z96=2798652916
z97=3105788780
z98=2430761012
z99=3627001644
z100=1692366452
Продолжение приложения Б
Курсовой проект студента группы КСУ-02-1к
на тему: Моделирование работы машинисток
Вариант №64
Входные данные
Режим работы с 9.00 до
обед с 13.00 до 14.00
Длина очереди: 35
z0 для Гамма=400
Параметр aльфа для Гамма=2
z0 для Экспоненциального=500
Параметр лямбда для Экспоненциального=0,2
Для первой машинистки
Рукопись #0Время прибытия:0 : 0
Рукопись #1Время прибытия:0 : 0
Рукопись #2Время прибытия:0 : 0
Рукопись #3Время прибытия:0 : 0
Рукопись #4Время прибытия:0 : 0
Рукопись #5Время прибытия:0 : 0
Рукопись #6Время прибытия:0 : 0
Рукопись #7Время прибытия:0 : 0
Рукопись #8Время прибытия:0 : 0
Рукопись #9Время прибытия:0 : 1
Рукопись #10Время прибытия:0 : 1
Рукопись #11Время прибытия:0 : 1
Рукопись #12Время прибытия:0 : 1
Рукопись #13Время прибытия:0 : 1
Рукопись #14Время прибытия:0 : 1
Рукопись #15Время прибытия:0 : 1
Рукопись #16Время прибытия:0 : 1
Рукопись #17Время прибытия:0 : 1
Рукопись #18Время прибытия:0 : 1
Рукопись #19Время прибытия:0 : 1
Рукопись #20Время прибытия:0 : 1
Рукопись #21Время прибытия:0 : 1
Рукопись #22Время прибытия:0 : 1
Рукопись #23Время прибытия:0 : 1
Рукопись #24Время прибытия:0 : 1
Рукопись #25Время прибытия:0 : 2
Рукопись #26Время прибытия:0 : 2
Рукопись #27Время прибытия:0 : 2
Рукопись #28Время прибытия:0 : 2
Рукопись #29Время прибытия:0 : 2
Рукопись #30Время прибытия:0 : 2
Рукопись #31Время прибытия:0 : 2
Рукопись #32Время прибытия:0 : 2
Рукопись #33Время прибытия:0 : 2
Рукопись #34Время прибытия:0 : 2
Рукопись #35Время прибытия:0 : 2
Рукопись #36Время прибытия:0 : 2
Рукопись #37Время прибытия:0 : 2
Рукопись #38Время прибытия:0 : 3
Рукопись #39Время прибытия:0 : 3
Рукопись #40Время прибытия:0 : 3
Рукопись #41Время прибытия:0 : 3
Продолжение приложения Б
Рукопись #42Время прибытия:0 : 3
Рукопись #43Время прибытия:0 : 3
Рукопись #44Время прибытия:0 : 3
Рукопись #45Время прибытия:0 : 3
Рукопись #46Время прибытия:0 : 3
Рукопись #47Время прибытия:0 : 3
Рукопись #48Время прибытия:0 : 3
Рукопись #49Время прибытия:0 : 3
Рукопись #50Время прибытия:0 : 4
ochered#50#51#52#53#54#55#56#57#58#59#60
Для второй машинистки
Rukopis #0 Время прибытия:0 :
Rukopis #1 Время прибытия:0 :
Rukopis #2 Время прибытия:0 :
Rukopis #3 Время прибытия:0 :
Rukopis #4 Время прибытия:0 :
Rukopis #5 Время прибытия:0 :
Rukopis #6 Время прибытия:0 :
Rukopis #7 Время прибытия:0 :
Rukopis #8 Время прибытия:0 :
Rukopis #9 Время прибытия:0 :
Rukopis #10 Время прибытия:0 :
Rukopis #11 Время прибытия:0 :
Rukopis #12 Время прибытия:0 :
Rukopis #13 Время прибытия:0 :
Rukopis #14 Время прибытия:0 :
Rukopis #15 Время прибытия:0 :
Rukopis #16 Время прибытия:0 :
Rukopis #17 Время прибытия:0 :
Rukopis #18 Время прибытия:0 :
Rukopis #19 Время прибытия:0 :
Rukopis #20 Время прибытия:0 :
Rukopis #21 Время прибытия:0 :
Rukopis #22 Время прибытия:0 :
Rukopis #23 Время прибытия:0 :
Rukopis #24 Время прибытия:0 :
Rukopis #25 Время прибытия:0 :
Rukopis #26 Время прибытия:0 :
Rukopis #27 Время прибытия:0 :
Rukopis #28 Время прибытия:0 :
Rukopis #29 Время прибытия:0 :
Rukopis #30 Время прибытия:0 :
Rukopis #31 Время прибытия:0 :
Rukopis #32 Время прибытия:0 :
Rukopis #33 Время прибытия:0 :
Rukopis #34 Время прибытия:0 :
Rukopis #35 Время прибытия:0 :
Rukopis #36 Время прибытия:0 :
Rukopis #37 Время прибытия:0 :
Rukopis #38 Время прибытия:0 :
Rukopis #39 Время прибытия:0 :
Rukopis #40 Время прибытия:0 :
Rukopis #41 Время прибытия:0 :
Rukopis #42 Время прибытия:0 :
Rukopis #43 Время прибытия:0 :
Rukopis #44 Время прибытия:0 :
Rukopis #45 Время прибытия:0 :
Rukopis #46 Время прибытия:0 :
Rukopis #47 Время прибытия:0 :
Продолжение приложения Б
Rukopis #48 Время прибытия:0 :
ochered#48#49#50#51#52#53#54#55#56#57#58#59#60#61#62#63#64#65#66#67#68#69#70#71#72#73
Rukopis #49 Время прибытия:0 :
ochered#49#50#51#52#53#54#55#56#57#58#59#60#61#62#63#64#65#66#67#68#69#70#7 1#72#73#74
Rukopis #50 Время прибытия:0 :
Для третьей машинистки
Rukopis #0 Время прибытия:0 :
Rukopis #1 Время прибытия:0 :
Rukopis #2 Время прибытия:0 :
Rukopis #3 Время прибытия:0 :
Rukopis #4 Время прибытия:0 :
Rukopis #5 Время прибытия:0 :
Rukopis #6 Время прибытия:0 :
Rukopis #7 Время прибытия:0 :
Rukopis #8 Время прибытия:0 :
Rukopis #9 Время прибытия:0 :
Rukopis #10 Время прибытия:0 :
Rukopis #11 Время прибытия:0 :
Rukopis #12 Время прибытия:0 :
Rukopis #13 Время прибытия:0 :
Rukopis #14 Время прибытия:0 :
Rukopis #15 Время прибытия:0 :
Rukopis #16 Время прибытия:0 :
Rukopis #17 Время прибытия:0 :
Rukopis #18 Время прибытия:0 :
Rukopis #19 Время прибытия:0 :
Rukopis #20 Время прибытия:0 :
Rukopis #21 Время прибытия:0 :
Rukopis #22 Время прибытия:0 :
Rukopis #23 Время прибытия:0 :
Rukopis #24 Время прибытия:0 :
Rukopis #25 Время прибытия:0 :
Rukopis #26 Время прибытия:0 :
Rukopis #27 Время прибытия:0 :
Rukopis #28 Время прибытия:0 :
Rukopis #29 Время прибытия:0 :
Rukopis #30 Время прибытия:0 :
Rukopis #31 Время прибытия:0 :
Rukopis #32 Время прибытия:0 :
Rukopis #33 Время прибытия:0 :
Rukopis #34 Время прибытия:0 :
Rukopis #35 Время прибытия:0 :
Rukopis #36 Время прибытия:0 :
Rukopis #37 Время прибытия:0 :
Rukopis #38 Время прибытия:0 :
Rukopis #39 Время прибытия:0 :
Rukopis #40 Время прибытия:0 :
Rukopis #41 Время прибытия:0 :
Rukopis #42 Время прибытия:0 :
Rukopis #43 Время прибытия:0 :
Rukopis #44 Время прибытия:0 :
Rukopis #45 Время прибытия:0 :
Rukopis #46 Время прибытия:0 :
Rukopis #47 Время прибытия:0 :
Rukopis #48 Время прибытия:0 :
Rukopis #49 Время прибытия:0 :
Rukopis #50 Время прибытия:0 :
Продолжение приложения Б
Для четвертой машинистки
Rukopis #0 Время прибытия:0 :
Rukopis #1 Время прибытия:0 :
Rukopis #2 Время прибытия:0 :
Rukopis #3 Время прибытия:0 :
Rukopis #4 Время прибытия:0 :
Rukopis #5 Время прибытия:0 :
Rukopis #6 Время прибытия:0 :
Rukopis #7 Время прибытия:0 :
Rukopis #8 Время прибытия:0 :
Rukopis #9 Время прибытия:0 :
Rukopis #10 Время прибытия:0 :
Rukopis #11 Время прибытия:0 :
Rukopis #12 Время прибытия:0 :
Rukopis #13 Время прибытия:0 :
Rukopis #14 Время прибытия:0 :
Rukopis #15 Время прибытия:0 :
Rukopis #16 Время прибытия:0 :
Rukopis #17 Время прибытия:0 :
Rukopis #18 Время прибытия:0 :
Rukopis #19 Время прибытия:0 :
Rukopis #20 Время прибытия:0 :
ochered#20#21#22#23
Rukopis #21 Время прибытия:0 :
Rukopis #22 Время прибытия:0 :
Rukopis #23 Время прибытия:0 :
Rukopis #24 Время прибытия:0 :
Rukopis #25 Время прибытия:0 :
Rukopis #26 Время прибытия:0 :
Rukopis #27 Время прибытия:0 :
Rukopis #28 Время прибытия:0 :
Rukopis #29 Время прибытия:0 :
Rukopis #30 Время прибытия:0 :
Rukopis #31 Время прибытия:0 :
Rukopis #32 Время прибытия:0 :
Rukopis #33 Время прибытия:0 :
Rukopis #34 Время прибытия:0 :
Rukopis #35 Время прибытия:0 :
Rukopis #36 Время прибытия:0 :
Rukopis #37 Время прибытия:0 :
Rukopis #38 Время прибытия:0 :
Rukopis #39 Время прибытия:0 :
Rukopis #40 Время прибытия:0 :
Rukopis #41 Время прибытия:0 :
Rukopis #42 Время прибытия:0 :
Rukopis #43 Время прибытия:0 :
Rukopis #44 Время прибытия:0 :
Rukopis #45 Время прибытия:0 :
Rukopis #46 Время прибытия:0 :
Rukopis #47 Время прибытия:0 :
Rukopis #48 Время прибытия:0 :
Rukopis #49 Время прибытия:0 :
Rukopis #50 Время прибытия:0 :
ochered#50#51#52#53#54#55#56#57#58#59#60#61#62#63
Для пятой машинистки
Rukopis #0 Время прибытия:0 :
Rukopis #1 Время прибытия:0 :
Rukopis #2 Время прибытия:0 :
Rukopis #3 Время прибытия:0 :
Продолжение приложения Б
Rukopis #4 Время прибытия:0 :
Rukopis #5 Время прибытия:0 :
Rukopis #6 Время прибытия:0 :
Rukopis #7 Время прибытия:0 :
Rukopis #8 Время прибытия:0 :
Rukopis #9 Время прибытия:0 :
Rukopis #10 Время прибытия:0 :
Rukopis #11 Время прибытия:0 :
Rukopis #12 Время прибытия:0 :
Rukopis #13 Время прибытия:0 :
Rukopis #14 Время прибытия:0 :
Rukopis #15 Время прибытия:0 :
Rukopis #16 Время прибытия:0 :
Rukopis #17 Время прибытия:0 :
Rukopis #18 Время прибытия:0 :
Rukopis #19 Время прибытия:0 :
Rukopis #20 Время прибытия:0 :
Rukopis #21 Время прибытия:0 :
Rukopis #22 Время прибытия:0 :
Rukopis #23 Время прибытия:0 :
Rukopis #24 Время прибытия:0 :
Rukopis #25 Время прибытия:0 :
Rukopis #26 Время прибытия:0 :
Rukopis #27 Время прибытия:0 :
Rukopis #28 Время прибытия:0 :
Rukopis #29 Время прибытия:0 :
Rukopis #30 Время прибытия:0 :
Rukopis #31 Время прибытия:0 :
Rukopis #32 Время прибытия:0 :
Rukopis #33 Время прибытия:0 :
Rukopis #34 Время прибытия:0 :
Rukopis #35 Время прибытия:0 :
Rukopis #36 Время прибытия:0 :
Rukopis #37 Время прибытия:0 :
Rukopis #38 Время прибытия:0 :
Rukopis #39 Время прибытия:0 :
Rukopis #40 Время прибытия:0 :
Rukopis #41 Время прибытия:0 :
Rukopis #42 Время прибытия:0 :
Rukopis #43 Время прибытия:0 :
Rukopis #44 Время прибытия:0 :
Rukopis #45 Время прибытия:0 :
Rukopis #46 Время прибытия:0 :
Rukopis #47 Время прибытия:0 :
Rukopis #48 Время прибытия:0 :
Rukopis #49 Время прибытия:0 :
Rukopis #50 Время прибытия:0 :
Среднее время набора текстов 0,095379786329484
Среднее количество рукописей в стопке
Средняя длительность пребывания рукописи в
2
32
52
начало
1
N, n,t0,k,
lambda,alfa, z0
2
Счетчик итераций
i=1
3
9
2
10
workTime:=8*3600
3
Cчетчик клиентов форм. заявки
j=1
11
4
mForZByVichet:=trunc(intPower(2,32)-1)
Моделируем
поток заявки по экс.время
12
5
aForZByVichet:=
trunc(mForZByVichet/1000
Моделируем
обслуж. по гамма время
13
currentTime1:=0
currentTime2:=0
currentTime3:=0
currentTime4:=0
6
Моделируем
Z для эксп. и для
14
7
SetLength(zForExponen,1)
Моделируем OprNextZ
15
zForExponen[0]:=StrToInt(EditZ0ForExponen.Text
8
nacaloRaboti:=9*60 konecRaboti:=18*60
nacaloObeda:=13*60
16
z0:=oprNextZ(zForExponen[0],'Exponen');
9
konecObeda:= 14*60
17
1
23
16
24
mashinistkan[0,0]:=
17
LambdaForExponen:=StrToFloat(EditLambdaForExponen.Text);
25
mashinistkan[0,1]:=
18
SetLength(zForGamma,1);
26
i=1, 1, 5
19
zForGamma[0]:=StrToInt(EditZ0ForGamma.Text)
27
vremya[i,1]:=1
vremya[i,2]:=0
20
z0:=oprNextZ(zForGamma[0],'Gamma');
28
ukazatelOcheredi[i,1]:=-1
ukazatelOcheredi[i,2]:=-1
21
aForGamma:=StrToInt(EditAForGamma.text)
29
22
SetLength(mashinistkan,1)
postroitOchered
23
SetLength(mashinistkan[0],2)
30
24
29
30
i=pozicia1, 1, 35+pozicia1
31
SetLength(ochered1,High(ochered1)+2);
32
SetLength(ochered1[High(ochered1)],2);
33
ochered1[High (ochered1),0]:=
34
ochered1[High (ochered1),1]:=
35
i=pozicia2, 1, 35+pozicia2
39
40
36
SetLenght(ochered2,High(ochered2)+2)
37
SetLenght(ochered2[High(ochered2)],2
38
44
37
38
45
i=pozicia4, 1, 35+pozicia4
Ochered2[High(ochered2),0]:=
46
39
SetLenght(ochered3,High(ochered3)+2)
Ochered2[High(ochered2),1]:=
47
35
35
SetLenght(ochered3[High(ochered3)],2
40
i=pozicia3, 1, 35+pozicia3
48
41
Ochered3[High(ochered3),0]:=
SetLenght(ochered3,High(ochered3)+2)
49
42
Ochered3[High(ochered3),1]:=
SetLenght(ochered3[High(ochered3)],2
43
Ochered2[High(ochered2),0]:=
50
i=pozicia4, 1, 35+pozicia4
55
54
44
Ochered2[High(ochered2),1]:=
51
SetLenght(ochered4,High(ochered4)+2)
45
52
58
52
59
Ochered5[High(ochered5),1]:=
.
52
SetLenght(ochered4[High(ochered4)],2
.
55
50
60
53
Запись в файл, Result.txt, z.txt
Ochered4[High(ochered4),0]:=
.
61
i, low,high
54
Ochered4[High(ochered4),1]:=
.
63
64
50
50
62
Sum:=sum+mashinistka[I,1]
55
i=pozicia5, 1, 35+pozicia5
59
60
63
kol=kol+1
56
SetLenght(ochered5,High(ochered5)+2)
61
61
57
SetLenght(ochered5[High(ochered5)],2
.
64
sum:=sum/5
58
65
Ochered5[High(ochered5),0]:=
.
sum:=sum/kol
59
66
65
66
Запись в файл sum, kol/5,dlinaocheredi/kolocheredi
67
Closefile
68
Моделируем summavremneiocheredi
69
sum:=0;
70
i=1,1,k
71
нет
да
i<>-1
73
72
sum:=sum+mashinistkan[0,0]
sum:=sum+ocheredn[i,0];
74
70
75
SOutput:=' '
74
Запись в output через
нет
76
uk.Och[n,1]<>-1
77
да
SOutput:=' Net ocheredi'
78
i=ukoch[n,1]+1,ukOch[n,2]+1
нет
82
n=1
79
sOutput:=sOutput+'#'+IntToStr(i+1);sOutput:='ochered'+sOutput;
нет
84
n=2
да
нет
86
83
80
Form1.output1.Lines.Add(sOutput)
n=3
dlinaOch:=dlinaOch+uklOch[n,2]uklOch[n,1]
да
да
87
85
81
Form1.output3.Lines.Add(sOutput)
Form1.output2.Lines.Add(sOutput)
kolOcheredi:=kolOcheredi +1'
88
92
87
нет
n=4
88
нет
n=5
да
90
89
да
Form1.output4.Lines.Add(sOutput)
91
Form1.output5.Lines.Add(sOutput)
92
i=1,1,5
101
102
93
vremya[I,1]=1
94
vremya[i,2]:=vremya[i,2]+mashinistka1[High(mashinistkai),0];
currentTimei>vremya[i,2]
95
да
нет
97
currentTimei:=vremya[i,2]+mashinistkai[High(mashinistkai),1]
96
currentTimei:=currentTimei+mashinistkai[High(mashinistkai),1]
98
105
110
106
(j=1) and summaVremeniV Ocheredi(j,i)109
110
114
112
104
i,ukazatelOcheredi[j,2],ukazatelOcheredi[j,2]+34
103
j=1,1,5
102
printCurrentTime(pozicia1,1), n
92
92
currentTimei>konecRaboti-nacaloRaboti
101
100
99
98
vremya[i,1]:=0
нет
да
да
нет
currentTimei:=currentTimei+konecObeda -nacaloObeda;
96,97
currentTimei>nacaloObeda-nacaloRaboti
да
нет
105
(j=2) and (summaVremeniV Ocheredi(j,i)106
нет
(j=3) and (summaVremeniV Ocheredi(j,i)107
нет
да
108
(j=4) and (summaVremeniV Ocheredi(j,i)да
нет
да
(j=5) and (summa VremeniV
109
нет
да
104
ukazatelOcheredi[j,1]=-1
110
да
нет
111
ukazatelOcheredi[j,2]-ukazatelOcheredi[j,1]+1<=35
112
да
ukazatelOcheredi[j,1]:=i;
нет
113
ukazatelOcheredi[j,2]:=i;
103
114
конец
125
124
123
122
ukazatelOcheredi[j,1]>ukazatelOcheredi[j,2]
ukazatelOcheredi[j,1]:=-1;
да
нет
121
ukazatelOcheredi[j,1]:=ukazatelOcheredi[j,1]+1
120
j=1,1,5
119
119
118
117
116
115
114
120
pozician:=pozician+1;
mashinistkan[High(mashinistkan),0]:=ocheredn[pozician,1];
mashinistkan[High(mashinistkan),0]:=ocheredn[pozician,0];
113
printOchered(1), n
SetLength(mashinistka1[High(mashinistka1)],2);
SetLength(mashinistkan,High(mashinistkan)+2)






11 желтоқсан 2018ж.
2008-2018 topreferat.com - Қазақша рефераттар, курстық, дипломдық жұмыстар

^