Лабораторная работа №1
.Необходимо смоделировать работу виртуального банка. Клиент, приходя в банк встает в одну из касс для обслуживания. У кассы может стоять очередь из других клиентов пришедших ранее. Если у всех касс очередь, тогда клиент встает в одну из них по своему усмотрению. У каждого клиента есть время ожидания, и время обслуживания. Клиент, прождав свое время ожидания(простояв в очереди) уходит не обслуженным. После того как клиент начал обслуживаться, его время ожидания останавливается и соответственно меняется время обслуживания. В каждой кассе по одному кассиру. Кассир может находится в 3 состояниях:
1) занят клиентом,
2) свободен,
3) занят начальником.
Начальник в банке один. Он по своему усмотрению может подойти к любому кассиру и отвлечь его на некоторое время. При этом независимо от того занят был кассир клиентом или свободен, он вынужден прервать свою работу и начать работу с начальником. После того как начальник ушел, кассир возобновляет свою работу. У клиента кассира, к которому пришел начальник при этом время обслуживания приостанавливается, а время ожидания наоборот продолжает убывать. Даже возможна ситуация, когда клиент, начав обслуживаться и быв прерван пришедшим начальником уходит не дождавшись окончания обслуживания (т.е. истекло время ожидания). Клиент кассира, которого отвлек начальник после того как начальник ушел, продолжает обслуживаться кассиром в том случае если у него не истекло время ожидания.
Замечание по реализации
Весь процесс работы банка отобразить на экране схематически:
1) Отображать кассы, очереди клиентов в кассы, начальника
2) У начальника показывать время его работы (меняющиеся динамически)
3) У каждого клиента показывать текущее время ожидания с текущим временем обслуживания (меняющиеся динамически)
4) Отображать текущее состояние банка 1 раз в секунду.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.