Выяснение количества книг, выданных в библиотеке за час.

Страницы работы

Содержание работы

Министерство образования  и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение
высшего профессионального образования

«Комсомольский-на-Амуре государственный технический университет»

Факультет Компьютерных технологий

Кафедра математического обеспечения и применения ЭВМ

Лабораторная работа №4

По курсу «Компьютерное моделирование»

Выполнил:                                                                                                                                                      Казаков М.Ю.

Проверил:                                                                                                                                                          Петров Ю.А.

Комсомольск-на-Амуре

2007

Задание:

В библиотеку заходят студенты с интенсивностью 1,5 – 5 минут, затем за 23 – 45 сек. объясняет оператору компьютера свои требования. Оператор ищет литературу 2 – 11 сек. Затем за 1 – 15 сек печатается листок требований, и за 1 – 17 сек. уточняется запрос. С этим листком студент идет к библиотекарю, который за 2,5 – 9 мин. находит необходимые книги. Начиная с момента времени 13.30, в библиотеку заходят дипломники. Становятся в очередь к оператору и получают книги по общей схеме, затем работают в читальном зале 3 – 3,5 часа. 6 % вошедших дипломников берут книги и идут в отдел дипломного проектирования на 0,5 – 2 часа, остальные направляются в научно-технический отдел на 1 – 6 мин.  6 % вошедших студентов идут в читальный зал, не обращаясь за справкой и книгой. Каждый студент запрашивает разное количество книг с вероятностью: 1 – 0,1; 2 – 0,5; 3 – 0,1; 4 – 0,1; 5 – 0,1; 6 – 0,1.Студенты имеют приоритет 0, а дипломники – 1. После работы в читальном зале все читатели возвращают книги библиотекарю за 1 – 5 сек. вне очереди. Выяснить количество книг, выданных в библиотеке за час.

Текст программы.

savevalue book_nums,0                       ; Переменная для хранения

; количества взятых книг

ch_zal    storage   30                      ; Накопитель - читальный зал

odp_      storage   30                      ; Накопитель - отдел дипломного

; проектирования

nto_      storage   30                      ; Накопитель - научно; технический отдел

book_num  function  rn1,d6                  ; Функция - генерирует                                                       ; количество книг, взятых                                               ; студентом

0.1,1/0.6,2/0.7,3/0.8,4/0.9,5/1,6

book_num_dipl function rn2,d4               ; Функция - генерирует

; количество книг, взятых

; дипломником

0.25,1/0.5,2/0.75,3/1,4

work_time variable  p$bn#11700              ; Среднее время работы студентов

; в читальном зале

work_otk  variable  p$bn#900                ; Допустимые отклонения этого

; времени

start 1                                     ; В начале программы счетчик

; транзактов устанавливаем в

; единицу,

; то есть моделирование будет

; происходить на один час

generate  195, 105                ; В библиотеку заходят студенты

transfer  .06,operat1,chit_zal    ; 6% идут в читальный зал, минуя

; библиотеку

operat1   seize     oper1                   ; Оператор компьютера начинает

; обслуживание студента

advance   34,11                   ; Принимает требования

advance   6,5                     ; Ищет литературу

advance   8,7                     ; Печатает листок требований

advance   9,8                     ; Уточняет запрос

release   oper1                   ; Оператор компьютера

; освобождается

lib1      seize     librarian               ; Библиотекарь начинает

; обслуживание студента

advance   345,195                 ; Ищет книги

release   librarian               ; Библиотекарь освобождается

assign    bn,fn$book_num          ; Получаем количество книг,

; взятых студентом

book1     savevalue book_nums+,p$bn         ; Увеличиваем переменную на это

; значение

chit_zal  enter     ch_zal                  ; Студент идет в читальный зал

advance   work_time,work_otk      ; И работает там

leave     ch_zal                  ; А затем уходит

prior     priority  5                       ; И сдает книги без очереди

lib2      seize     librarian               ; Занимает библиотекаря

advance   3,2                     ; Сдает книги

release   librarian               ; Уходит от библиотекаря

terminate                         ; Покидает библиотеку

generate  195,105,1800,,1         ; Заходят дипломники

transfer  .06,nto,odp             ; 6% идут в ОДП, а остальные в НТО

odp       seize     oper1                   ; Оператор компьютера начинает

; обслуживание дипломника

advance   6,5                     ; Ищет литературу

advance   8,7                     ; Печатает листок требований

advance   9,8                     ; Уточняет запрос

release   oper1                   ; Оператор компьютера

; освобождается

seize     librarian               ; Дипломник идет к библиотекарю

advance   345,195                 ; Который ищет ему литературу

release   librarian               ; И освобождается

assign    bn,fn$book_num_dipl     ; Получаем количество книг,

; взятых дипломником

book2     savevalue book_nums+,p$bn         ; Увеличиваем переменную на это

; значение

enter     odp_                    ; Дипломник идет в ОДП

advance   4500,2700               ; Работает там

leave     odp_                    ; И выходит

transfer  ,prior                  ; Отправляется сдавать книги

nto       enter     nto_                    ; Часть дипломников идет в НТО

advance   210,150                 ; Работает там

leave     nto_                    ; И выходит

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
54 Kb
Скачали:
0