Клиенты поступают в магазин через интервал t, t -> W. Далее в течение времени tо они (клиенты) готовят заказ: tо -> G. Клиентов обслуживает 4 продавца, обслуживание 3-х фазное: - подготовительное время (tn), tn -> R; - время подбора товаров по заявке (tp) (зависит от размера заказа); - время выдачи заказа (tb), tb -> P. Размер заказа m является дискретной случайной величиной, заданной таблично; tp=m*t1, t1 -> U. ( W - распределение Вейбула, G- гамма - распределение, R - равномерное распределение, P - показательное распределение, U - U-распределение.)
Может кто нибудь подсказать хотя бы в каком направлении идти. Как правильно нужно создать алгоритм данной задачи?
volvo
23.01.2007 1:17
Здесь: моделирование работы банка похожее задание по моделированию решалось на С++, алгоритм подойдет для любого языка.
Нужна помощь в портировании на Паскаль - обращайся...
nany
23.01.2007 1:51
А как в паскале написать календарь событий состоит: код события и время когда оно произойдет и чтобы он был постоянно разным в зависимости от открытия магазина
Добавлено: Извини а как можно формировать очередь при 3 продавцах
volvo
23.01.2007 2:24
Цитата
как можно формировать очередь при 3 продавцах
Точно так же, как и в банке при трех кассирах... Очередь клиентов-то одна, а вот направляется тот, чья очередь подошла, к свободному (одному из трех) продавцу...
nany
23.01.2007 17:17
А как в паскале написать календарь событий состоит: код события и время когда оно произойдет и чтобы он был постоянно разным в зависимости от открытия магазина
for i:=0 To n do //код события (количество клиентов, кот. пришли в магазин ) Begin X[i]:=random; MX:=MX+X[i]; End;
А как сюда добавить время открытия магазина и время закрытия. Пример: и как вещественные числа преобразовать во время? n X[i] 1 9:30 2 15:30 3 21:50
volvo
23.01.2007 17:40
Ты программу, ссылку на которую я тебе дал, смотрела? Зачем тебе привязываться ко времени? Открывается магазин в 9:30 - прекрасно! Внутри магазина это время = 0 минут работы... 9:31 - отработали 1 минуту... Не надо все привязывать к какой-то глобальной системе отсчета, работай в своей, а КОГДА ПОНАДОБИТСЯ - ты по внутреннему времени магазина всегда сможешь определить текущее время в ЧЧ:ММ...
nany
23.01.2007 17:46
просто у меня по заданию дальше идет открытие магазина и закрытие его, а по ссылке я вроде бы там все поняла.Вот я и не знаю как эти числа преобразовать, как требует преподаватель
nany
29.01.2007 23:04
Помнишь ты мне давал ссылку на задачу моделирование банка, не мог бы ты мне помочь перевести ее на Паскаль, а то я этот С не очень хорошо понимаю, заранее спасибо))
volvo
29.01.2007 23:40
Ну, вот так, например:
Добавлено через 25 сек. Вроде, работает...
nany
30.01.2007 17:41
Спасибо тебе большое за помощь))))
nany
2.02.2007 2:59
Извини, пожалуйста. У меня почему то сортировка не работает в этом кусочке: var a:array[1..n] of double; k:integer; i:integer; changed:boolean; buf:double;
begin randomize(); for i:=1 to n do a[i] := random;
repeat changed:=FALSE; for k:=1 to n do if a[k] > a[k+1] then begin buf := a[k]; a[k] := a[k+1]; a[k+1] := buf; changed := TRUE; end; until not changed; end;
volvo
2.02.2007 3:18
Во-первых, как именно это связано с "Моделированием"? Во-вторых, почему без тегов? А в третьих - у тебя выход за пределы массива:
for k:=1to n doif a[k] > a[k+1] then ... { <--- Здесь !!! Если K = n ... }
Сколько раз говорить, отлаживайте программы с ключом {$R+}, помогает находить ошибки...
nany
2.02.2007 12:17
for k:=1to n-1doif a[k] > a[k+1] then
Цитата
Сколько раз говорить, отлаживайте программы с ключом {$R+}, помогает находить ошибки...
- это как делать или где это можно посмотреть У меня почему то 2 раза повторяет: вот массив 2,1389853709164 1,25032955248215 а вот то что он отсортировал: 1,25032955248215 2,1389853709164 1,25032955248215 2,1389853709164 мне сортировка нужна для поиска медианы // ой извини я нашла это моя была ошибка
nany
3.02.2007 19:27
подскажите пожалуйста как можно придумать, если идут числа 2 7 1 3 мы их осортировали и получили: 1 2 3 7 И у нас есть ячейка, в котрую нужно записать место как они стояли в списке: Элемент Место 2 2 7 4 1 1 3 3
volvo
3.02.2007 19:33
Не сортировать сами элементы, а воспользоваться сортировкой по индексам... Посмотри на форуме, я где-до делал такое, если не найдешь - покажу, как...
Смысл в том, что заводится еще один целочисленный массив того же размера, что и исходный, изначально в него заносятся по порядку числа 1 .. N, а при сравнении и обмене элементов (в процессе сортировки) сами элементы остаются на своих местах, а все операции производятся именно ЧЕРЕЗ доп. массив...
nany
3.02.2007 20:45
я не могу найти по поиску
volvo
3.02.2007 22:17
Ты про это:
const
n = 4;
a: array[1 .. n] of integer = (2, 7, 1, 3);
var
T_index, index: array[1 .. n] of integer;
buf: integer;
i, k: integer;
changed: boolean;
beginfor i := 1to n dobeginindex[i] := i; T_index[i] := i;
end;
repeat
changed := False;
for k := 1to n - 1doif a[index[k]] > a[index[k+1]] thenbegin
buf := index[k]; index[k] := index[k+1]; index[k+1] := buf;
changed := True;
end;
untilnot changed;
{ А теперь индексируем сами индексы... }repeat
changed := False;
for k := 1to n - 1doifindex[T_index[k]] > index[T_index[k+1]] thenbegin
buf := T_index[k]; T_index[k] := T_index[k+1]; T_index[k+1] := buf;
changed := True;
end;
untilnot changed;
for i := 1to n do writeln(a[i]:6, ' #', T_index[i]);
end.
?
nany
4.02.2007 0:35
Да я про это, спасибо тебе большое -))
nany
6.02.2007 17:50
Извини, а как числа в массиве возводить в степень, power или нет?
volvo
6.02.2007 18:10
Ты точнее можешь выражаться? Какие числа, в каком массиве, какая степень? Надо ВЕСЬ массив возводить в эту степень, или только четные элементы? А может вообще только первый и последний? Я не телепат, в конце-то концов... Приводи исходные данные, и ЧТО ты хочешь получить...
nany
6.02.2007 18:15
извини, каждый элемент массива. например: массив 0,3434 0,2534 и получилось: 0,11792356 0,06421156 т.е. 0,3434^2=0,11792356 и т.д. sqr - это квадрат, а если в 3 степень это как
Никаких предаоложений делать не могу - в стандартном Паскале нет функции Power, я не знаю, как она у тебя реализована, и будет ли то, что ты привела правильным... Картинку неплохо было бы и побольше сделать - показателей степени практически не видно...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.