
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (54) « Первая ... 45 46 [47] 48 49 ... 53 54 ( Перейти к последнему сообщению ) |
Сообщ.
#691
,
|
|
|
Возвращаясь к задаче про фирму с дедами морозами и снегурочкой. Прога с горем пополам и с божьей помощью но написана.
ded STORAGE 5; Количество актеров, играющих роль Деда Мороза sneg STORAGE 3; Количество актрис, играющих роль Снегурочки INITIAL X$SUM,0; INITIAL X$SUM1,0; INITIAL X$SUM2,0; INITIAL X$SUM3,0; zp VARIABLE 8#300; Заработная плата GF FUNCTION RN1,D3 .5,u_ded/.7,u_sneg/1,u_des; Функция задания распределения числа GENERATE (Exponential(1,0,8.33) + Exponential(2,0,8.33) + Exponential(3,0,8.33)); генерация транзактов по закону эрланга 3го порядка TRANSFER ,FN$GF Переход транзактов в блок функции u_ded TEST GE ded,1,u_ded; Проверяем устройство, если свободно, то можно занять QUEUE Qded; Занимаем очередь MARK 1; Ставим метку 1 ENTER ded; Занимаем дедушку DEPART Qded; Покидаем очередь ADVANCE 60,15; Обслуживаем 45-75 минут LEAVE ded; Освобождаем дедушку TEST L MP1,160,minus1; Сравниваем время в метке 1 с желаемым сроком выполнения, если больше то переходим к minus1 чтобы посчитать скидку savevalue sum1+,1; Увеличиваем сумму на единицу TERMINATE 0 u_sneg TEST GE sneg,1,u_sneg; Проверяем устройство, если свободно, то можно занять QUEUE Qsneg; Занимаем очередь MARK 2; Ставим метку 2 ENTER sneg; Занимаем снегурочку DEPART Qsneg; Покидаем очередь ADVANCE 50,11; Обслуживание 39-61 минут LEAVE sneg; Освобождение снегурочки TEST L MP2,160,minus2; Сравниваем время в метке 2 с желаемым сроком выполнения, если больше то переходим к minus2 чтобы посчитать скидку savevalue sum2+,1; Увеличиваем сумму на единицу TERMINATE 0 u_des TEST GE ded,1,u_des; Проверяем устройство, если свободно, то можно занять TEST GE sneg,1,u_des; Проверяем устройство, если свободно, то можно занять QUEUE Qds; Постановка в очередь MARK 3; Ставим метку 2 ENTER ded ENTER sneg; Занимаем дедушку и снегурочку DEPART Qds; Покидаем очередь ADVANCE 90,12; Обслуживание 78-102 минуты LEAVE ded; Освобождение актеров LEAVE sneg; TEST L MP3,160,minus3; Сравниваем время в метке 3 с желаемым сроком выполнения, если больше то переходим к minus3 чтобы посчитать скидку savevalue sum3+,1; Увеличиваем сумму на единицу TERMINATE 0 minus1 savevalue sum1+,0.8; учитываем скидку 20% TERMINATE 0 minus2 savevalue sum2+,0.8 TERMINATE 0 minus3 savevalue sum3+,0.8 TERMINATE 0 GENERATE 18000; Модельное время 1 минута. 30 рабочих дней по 10 часов. nss VARIABLE (X$sum1#50) + (X$sum2#33) + (X$sum3#90) SAVEVALUE SUM,V$nss; Вычет зарплаты из общей суммы SAVEVALUE SUM-,V$zp; Вычет зарплаты из общей суммы TERMINATE 1 START 1 Понятно практически все, за исключением пары моментов. Если кто может помочь, объясните пожалуйста как работают эти моменты. По какому принципу работает распределение чисел в функции и как работает последний кусок проги со слова "nss". |
Сообщ.
#692
,
|
|
|
программа generate 21000,5 transfer 2,,Kassao Kassa queue kas seize kass depart kas advance 50 release kass terminate generate 35,5 queue kass seize kas depart kass advance 5 release kas queue ocher seize prod depart ocher advance 40 release prod terminate generate 480 terminate 1 start 365 помогите пожалуйста! Есть программа, но она работает неправильно, помогите доработать. Идея такая: Касса за год ломается 8 раз, из-за этого необслужено н-покупателей. Потом по просьбе преподавателя нужно сделать так, чтобы касса ломалась допустим 4 раза и необслуженных клиентов было в 2 раза меньше. как это реализовать? |
Сообщ.
#693
,
|
|
|
kant1288
Привет. ТЫ как-то писал на этом форуме по поводу задачи по gpss. Цитата Здравствуйте! Моё задание:В специализированной вычислительной системе периодически выполняется три вида заданий, которые характеризуются уровнями приоритета: нулевым, первым и вторым. Каждый новый запуск задания оператор производит при помощи дисплея, работая на нем 20-80 секунд. После запуска задания оно требует для своего выполнения 50-150 секунд времени работы процессора, причем задания более высокого приоритета прерывают выполнение задач более низкого приоритета. Результаты обработки задания выводятся на печать без прерываний в течение 20-40 секунд, после чего производится их анализ в течение 40-80 секунд, и задание запускается снова. Можно считать, что при работе дисплея и при выводе результатов на печать процессор не используется. Смоделировать процесс работы системы при условии, что задание второго уровня приоритета выполняется 100 раз. Подсчитать число циклов выполнения остальных заданий и определить коэффициенты загрузки технических средств системы. У тебя не осталось чего-нибудь по ней? у меня курсач по этой задаче. |
Сообщ.
#694
,
|
|
|
Здравствуйте, помогите пожалуйста с программой. не знаю как сделать следующий кусочек:
в систему на обработку поступает заявка, которая разбивается на случайное количество заявок, из которых 10% обрабатываются первым устройством, 40% - вторым и 50% - третьим. после обслуживания тремя устройствами, все части этой заявки собираются воедино. как это реализовать? посоветуйте пожалуйста, если кто-то знает |
Сообщ.
#695
,
|
|
|
Помогите пожалуйста!!!Как задать модель регулируемого перекрестка? Их надо по отодельности задавать или компоновать? У меня не хочет работать одновременно 2 дороги одного направления.
|
Сообщ.
#696
,
|
|
|
Доброго времени суток, ув. форумчане. Если написал не в ту тему, просьба тапками не швырять. Появилась небольшая загвоздка со сбором статистики. Необходимо в ниже приведённой программе собрать статистику входа транзактов, времени пребывания, и т.п. Проблема состоит в том, что блок, с которого необходимо собрать статистику - Transfer. Как понимаете, простым объектом QUEUE не обойтись, ибо будет регистрироваться вход, а выход транзакты "пролетают". Пробовал сразу же перенаправлять на DEPART, но статистика в итоге какая-то непонятная получается. Блок TABULATE по моему, мне необходимой информации не соберёт, или я ошибаюсь? В общем, буду рад даже если меня просто пнут в нужном направлении.
Цитата 1 SIMULATE 10 OLD STORAGE 2 15 NEW STORAGE 5 20 GENERATE 5,3 30 TRANSFER BOTH,OLDPR,NEWPR 40 OLDPR ENTER OLD 50 ADVANCE 40,10 60 LEAVE OLD 70 TRANSFER ,BYE 80 NEWPR ENTER NEW 90 ADVANCE 20,5 100 LEAVE NEW 110 TRANSFER ,BYE 120 BYE TERMINATE 1 130 START 300 |
Сообщ.
#697
,
|
|
|
Здравствуйте, нужна Ваша помощь и опыт в решении задачи.
К миниЭВМ подключено четыре терминала, с ко¬торых осуществляется решение задач. По команде с терминала выполняют операции редактирования, трансляции, планирова¬ния и решения. Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать из-за нехват¬ки оперативной памяти. Если два терминала выдают требование на решение, то оставшиеся два простаивают, и если работают три терминала, выдающих задания на трансляцию, то оставший¬ся терминал блокируется. Интенсивности поступления задач раз¬личных типов равны. Задачи одного типа от одного терминала поступают через экспоненциально распределенные интервалы времени со средним значением 160 с. Выполнение любой опера¬ции длится 10 с. Смоделировать работу миниЭВМ в течение 4 ч. Определить загрузку процессора, вероятности простоя терминалов и частоту одновременного выполнения трансляции с трех терминалов. GENERATE ,,,4 REDAKT ADVANCE 160 QUEUE OBRABOTKA SEIZE TERMINAL DEPART OBRABOTKA ADVANCE 10 RELEASE TERMINAL TERMINATE ******************************************** GENERATE ,,,1 PLAN FUNAVAIL TERMINAL,RE,TRANS,,RE,REDAKT,RE,RESHENIE ADVANCE 160 FAVAIL TERMINAL TERMINATE ******************************************** GENERATE ,,,3 TRANS FUNAVAIL TERMINAL,RE,PLAN,,RE,REDAKT,RE,RESHENIE ADVANCE 160 FAVAIL TERMINAL TERMINATE ******************************************** GENERATE ,,,2 RESHENIE FUNAVAIL TERMINAL,RE,PLAN,,RE,TRANS,RE,REDAKT ADVANCE 160 FAVAIL TERMINAL TERMINATE GENERATE 14400 TERMINATE 1 START 1 как видно по заданию нужно определить загрузку процессора, вероятности простоя терминалов и частоту одновременного выполнения трансляции с трех терминалов. в отчете такого не происходит. Подскажите. как и что мне надо сделать, чтоб результат был нужным. |
Сообщ.
#698
,
|
|
|
День добрый знатоки!
Вот кто мне поможет с таким вопросиком. Есть параллельно работающие ПРИБОРЫ, у каждого СВОЯ СОБСТВЕННАЯ очередь. в модели выглядит так - Дак в этом ХХХХХХ, мне нужна знать размер текущей очереди т.е. поидее это Q$P5 - но так записать нельзя, т.к. требуется жёсткое определение типа Q$10. С EQU тут тоже непрокатит, я же незнаю название того прибора в котором крутится заяка, темболее приборов может быть много. Подскажите как выкрутиться из этой ситуации. |
Сообщ.
#699
,
|
|
|
Вообще-то в ADVANCE задается время работы прибора. Зачем задавать размер текущей очереди в этом операторе?
Т.е, Вы хотите сказать что время работы прибора = длине очереди? Мне кажется это не корректно. |
Сообщ.
#700
,
|
|
|
Время обслуживания зависит от длины очереди ( классика) . Чем длиннее очередь, тем прибор работает быстрее. Мне нужна длина очереди для формирования сложной зависимости. - Как вариант ставить ещё одну БОЛЬШУЮ ОБЩУЮ очередь для всех этих приборов, а потом её значение /(делить) на кол-во приборов - получим среднее значение на прибор - но это не красиво в моей модели, и может нарушить логику функционирования.
|
Сообщ.
#701
,
|
|
|
Если задать перед advance оператор savevalue 1,q$P5 а потом advance x1
Попробуйте. |
Сообщ.
#702
,
|
|
|
Говорю же, не хочет он структуру Q$P5 кушать (P5 он вычислять не хотит!!!), ему подавай прямое только - например Q$1, Q$WAIT i t.d.
![]() ![]() 09/06/11 16:26:13 Line 29, Col 14. Invalid SNA Entity Specifier. 09/06/11 16:26:13 SAVEVALUE 1,Q$P1 09/06/11 16:26:13 **** Model Translation Aborted **** GPSS 5.1.1 |
Сообщ.
#703
,
|
|
|
Тогда задайте savevalue 1,q$5 потом advance x1
Я так понимаю, что в параметре P5 хранится номер прибора. |
Сообщ.
#704
,
|
|
|
Да в параметре ТРАНЗАКТА (P5) хранится номер прибора, очереди который он займёт. Если указать Q$5 - это будет 5ый прибор, мне он не нужен. У меня есть 10 обслуживающих приборов(с очередями) - P5, мне чётко нужно знать транзакт такойто - длинна очереди онлайн такаято. ещё раз повторяю как перезаписать структуру Q$P5!!!
|
Сообщ.
#705
,
|
|
|
А Вы можете дать полное условие Вашей задачи?
|