Форум программистов, компьютерный форум, киберфорум
GPSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
1

Поведение заявки в зависимости от предыстории

20.12.2015, 23:12. Показов 1394. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Существует два типа заявок: А,В
Если в систему подряд поступает 3 заявки типа В, то след. заявка типа А направляется на устройство KAN4.
Код
	INITIAL	X$coutB,0
	;генерация зявок типа А
	generate	(Gamma(1,0,0.66,3))	;Генерация заявок (1/0.1)
	assign	1,1		;Заносим в ячейку тип 1
	assign	2,0		;Заносим в ячейку КИ двух устройств 0
	assign	3,0		;Заносим в ячейку КИ первого устройства 0
	assign	4,0		;Заносим в ячейку КИ второго устроства 0
	assign	5,0		;Заносим в ячейку время ожидания первых двух устройств
	transfer	0.3,KAN1,outZA		;Распределение запросов по типам

	;генерация заявок типа В
	generate	(Gamma(1,0,0.66,3))	;Генерация заявок (1/0.1)
	assign	1,2		;Заносим в ячейку тип 2
	assign	2,0		;Заносим в ячейку КИ 0
	assign	3,0		;Заносим в ячейку 0
	assign	4,0		;Заносим в ячейку 0
	assign	5,0		;Заносим в ячейку время ожидания первых двух устройств
	transfer	0.6,KAN1,outZA		;Распределение запросов по типам

KAN1	mark
	queue	s1_1		;Вход заявки в очередь
	seize	s1DEV		;Проверка занятости устройства "S1"
	depart	s1_1		;Выход из очереди
	assign	5,M1
	advance	(Exponential(1,0,1.42))	;Решение задачи в s1(1/0.7)
	release	s1DEV		;Особождение устройства "S1"
	assign	2,FR$s1DEV		;Заносим в ячейку КИ первого устройства
	assign	3,FR$s1DEV			
	transfer	,KAN2		;Переход на устройство s2

KAN2	mark
	queue	s2_1		;Вход заявки в очередь
	seize	s2DEV		;Проверка занятости устройства "s2"
	depart	s2_1		;Выход из очереди
	assign	5+,M1
	advance	(Exponential(1,0,1.42))	;Решение задачи в s2(1/0.7)
	release	s2DEV		;Особождение устройства "s2"
	assign	2+,FR$s2DEV		;Заносим в ячейку КИ второго устройства
	assign	4,FR$s2DEV			
	TEST NE	P1,2,KAN2_out		;Проверяем тип заявки
	savevalue	coutB+,1		;Если заявка типа В прибавляем к счетчику +1	
	TEST E	BV$provSumKI,1,KAN3	;Если КИ на каждом из двух устройствах больше 0.5 и сумма больше 1.4 то переход на третье устройство
	transfer	,out		;Переход на выход

KAN2_out	TEST LE	P5,0.3,KAN6		;Если время ожидании очереди в устройстве 1,2 больше 0.3 отправляем на устроство 6
	TEST E	coutB,3,KAN4		;Если заявок типа В равно 3, напрявлем в 3 устройство
	savevalue	coutB,0		;Округляем глоб. переменную
	transfer	,out1
Результат
Код
KAN2               25    MARK               560             0       0
                   26    QUEUE              560             2       0
                   27    SEIZE              558             0       0
                   28    DEPART             558             0       0
                   29    ASSIGN             558             0       0
                   30    ADVANCE            558             1       0
                   31    RELEASE            557             0       0
                   32    ASSIGN             557             0       0
                   33    ASSIGN             557             0       0
                   34    TEST               557             0       0
                   35    SAVEVALUE          349             0       0
                   36    TEST               349             0       0
                   37    TRANSFER           338             0       0
KAN2_OUT           38    TEST               208             0       0
                   39    TEST                 6             0       0
                   40    SAVEVALUE            0             0       0
                   41    TRANSFER             0             0       0
Я не думаю что все 6 заявок которые доходят, поступили сразу после заявок типа В. Где ошибка?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2015, 23:12
Ответы с готовыми решениями:

Поведение решения в зависимости от параметра
ma(t)=wv(t)+kx(t) m>0,w,k>0 - коэффициенты исследовать поведения решений в зависимости от...

Запрос, меняющий поведение, в зависимости от условий
Здравствуйте уважаемые знатоки. Возникла задача, но не совсем пока понимаю с какой стороны к...

Поведение функции в зависимости от количества переданных аргументов
Класс Point должен содержать новый метод, возвращающий расстояние от точки, которую он описывает,...

Поведение футера в зависимости от высоты блока основного контента
Здравствуйте. Обращаюсь опять, в надежде получить помощь. Возникла очередная проблема связаная с...

4
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
21.12.2015, 14:02 2
Добрый день.
А какое условие правильное будет, то которое в заголовке темы или в первом сообщении?


На вскидку по задаче вижу следующее
Код
TEST E  coutB,3,KAN4        ;Если заявок типа В равно 3, напрявлем в 3 устройство
coutB - имя сохраняемой величины,а значение X$coutB
Очень распространённая ошибка, когда уже глаз "замылился" на задаче.
0
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
21.12.2015, 14:05  [ТС] 3
Цитата Сообщение от Dukalys Посмотреть сообщение
А какое условие правильное будет, то которое в заголовке темы или в первом сообщении?
То которое в первом сообщении.
Цитата Сообщение от Dukalys Посмотреть сообщение
coutB - имя сохраняемой величины,а значение X$coutB
Т.е. везде где coutB нужно везде заменить на X$coutB?
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
21.12.2015, 14:10 4
Лучший ответ Сообщение было отмечено Vla00 как решение

Решение

Цитата Сообщение от Vla00 Посмотреть сообщение
Т.е. везде где coutB нужно везде заменить на X$coutB?
Не везде!

где-то вы работаете ТОЛЬКО с именем сохраняемой величины (только в savevalue)
во всех других случаях при получении значения необходимо использовать X$имя

аналогично как вы к параметрам обращаетесь - значения через P, а в блоке assign через имя (номер)
1
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 667
21.12.2015, 14:16  [ТС] 5
Цитата Сообщение от Dukalys Посмотреть сообщение
где-то вы работаете ТОЛЬКО с именем сохраняемой величины (только в savevalue)
во всех других случаях при получении значения необходимо использовать X$имя
Этого я не знал. Спасибо. Всё работает просто отлично.
0
21.12.2015, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2015, 14:16
Помогаю со студенческими работами здесь

Изменить поведение ActiveX-компонента в зависимости от нажатия кнопок
Нужно переделать под ActiveX и еще проблема c OptionButton

Чтение с .txt и различное поведение программы в зависимости от его содержимого
Ребят суть такая : Мне надо чтобы было считывание с файла 'settings.txt' Там будет находиться...

Различное поведение конструктора шаблонного класса в зависимости от типа параметра
Здравствуйте. Возникла проблема - при попытке изменить поведение конструктора шаблонного класса...

Непонятное поведение поведение TIM6 на STM32f4discovery
Вводные данные: SYSCLK=168Мгц; AHB Pressotir=1; APB1 Pressotir=4; TIM6_Pessotir=3; Т.о....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru