Моделирование вычислительной системы
Построение формальной схемы вычислительной системы, ее параметры и переменные. Описание программных средств. Моделирование случайных возможностей с равномерным и неравномерным распределением. Построение детерминированной и стохастической моделей.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.07.2015 |
Размер файла | 36,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Государственный комитет Российской Федерации по высшему образованию
Казанский Государственный Технический Университет имени А.Н. Туполева
Кафедра Электронно - вычислительных машин
Пояснительная записка
к курсовой работе по дисциплине “Моделирование”
Выполнил : студент группы 4301 Базуев Ю.А.
Руководитель : доцент кафедры ЭВМ Захаров В.М.
Оценка:5(отл.)
Казань 1996
Содержание
1. Формализация концептуальной модели
1.1 Построение формальной схемы функционирования системы
1.2 Определение параметров и переменных модели
1.3 Определение единицы модельного времени
1.4 Определение закона функционирования системы
2. Алгоритмизация модели и ее машинная реализация
2.1 Выбор программных средств моделирования
2.2 Описание моделирующей программы
2.3 Проверка достоверности программы
2.4 Моделирование случайных воздействий
2.4.1 Моделирование случайных воздействий, имеющих равномерное распределение
2.4.1.1 Аппаратный способ
2.4.1.2 Программный способ
2.4.1.3 Выбор генератора РРПСЧ
2.4.2 Моделирование случайных воздействий, имеющих неравномерное распределение
2.5 Описание моделирующей программы для стохастической модели
3. Получение и интерпретация результатов моделирования
Литература
Приложение №1
Приложение №2
Приложение №3
Приложение №4
1. Формализация концептуальной модели
1.1 Построение формальной схемы системы
Построим формальную схему (Q-схему) заданной вычислительной системы.
И1
О
И2 К
И3
Рис. 1 Q - схема вычислительной системы
Здесь:
К - ЭВМ
О - Очередь
И1 - И3 - Сетевые машины
1.2 Определение параметров и переменных модели
tp - интервал между приходами пользователей
tgz1 - время подготовки задания 1-ым пользователем
tgz2 - время подготовки задания 2-ым пользователем
tgz3 - время подготовки задания 3-им пользователем
tm - время выполнения задания на ЭВМ
k - количество промоделированных на ЭВМ заданий
nz - наличие заявки на входе системы:
nz=0 - нет заявок
nz=i - наличие заявки на i-ой сетевой машине ( i=1-3 )
pz1 - подготовка задания сетевой машине 1
pz1=1 - идет подготовка задания на сетевой машине 1
pz1=0 - сетевая машина 1 не занята
pz2 - подготовка задания сетевой машине 2
pz2=1 - идет подготовка задания на сетевой машине 2
pz2=0 - сетевая машина 2 не занята
pz3 - подготовка задания сетевой машине 3
pz3=1 - идет подготовка задания на сетевой машине 3
pz3=0 - сетевая машина 3 не занята
znw - наличие заявки на выполнение задания
znw=0 - заявки отсутствуют
znw=i - наличие заявки от сетевой машины i ( i=1-3 )
wz - выполнение задания на ЭВМ
wz=0 - ЭВМ свободна
wz=i - ЭВМ выполняет заявку i
ocher[50] - очередь
в очереди хранятся номера сетевых машин с которых заявки
n - индекс свободного элемента в очереди
w2 - количество вып. заданий от 2-го пользователя
На первом этапе имитационного моделирования создадим детерминированную модель заданной вычислительной системы, заменяя стохастические потоки их математическими ожиданиями:
- интервал между приходами пользователей 10 мин
- вероятность прихода каждого из пользователей 0.33
- время подготовки задания 1-ым пользователем 16 мин
- время подготовки задания 2-ым пользователем 17 мин
- время подготовки задания 3-им пользователем 18 мин
- время выполнения задания на ЭВМ 0.8 мин
1.3 Определение единицы модельного времени
За единицу модельного времени (emb) принимается минимальный интервал реального времени, в течение которого система не меняет своего состояния. В данной задаче за emb целесообразно принять время равное 0.1 мин. моделирование вычислительный детерминированный стохастический
1.4 Определение закона функционирования системы
Работу данной вычислительной системы отразим временными диаграммами.
пользователь
emb
160
И1
170
И2
180
И3
ЭВМ
Рис 2. Временные диаграммы работы системы
В машинный зал с интервалом 100 emb приходит один из пользователей.
В начале приходит первый, и начинает подготовку своего задания на это ему потребуется 160 emb. Через 100 emb приходит второй пользователь и тоже начинает подготовку задания на это ему отведено 170 emb. Вскоре после прихода 2-го пользователя (через 60 emb) заканчивает подготовку задания первый пользователь и выполняет его на ЭВМ в течении 8 emb. Через 100 emb после прихода второго пользователя приходит третий пользователь, при этом второй продолжает подготовку. Спустя 70 emb после прихода третьего пользователя заканчивает подготовку второй и выполняет свое задание на ЭВМ за 8 emb. Третий пользователь заканчивает подготовку спустя 180 emb после своего прихода, в это время снова приходит первый пользователь на этом заканчивается первый цикл работы системы и все повторяется снова.
Таким образом за каждый цикл с периодом Т=300 emb выполняется три задания от каждого пользователя. Все они выполняются сразу же после подготовки и не задерживают друг друга, т. к. ЭВМ к моменту поступления этих заявок свободна. Все время работы очередь остается пустой. За время цикла выполняется одно задание от 2-го пользователя, следовательно процент выполненных заданий, поступивших от второго пользователя равен 33,3 %.
Нам нужно смоделировать выполнение 500 заданий, следовательно общее время работы системы равно (500/3)*300=50.000 emb. За это время ЭВМ проработала 500*8=4000 emb , следовательно загрузка ЭВМ равна 8%.
2. Алгоритмизация модели и ее машинная реализация
2.1 Выбор программных средств моделирования
Для написания программы мы выбираем язык программирования Borland C++. Этот язык хорошо зарекомендовал себя эффективностью, лаконичностью, стройностью программ. Во многих случаях программы, написанные на языке С++ сравнимы по скорости с программами, написанными на языке Ассемблера, при этом они более наглядны и просты в сопровождении. В системное окружение языка С++ входит много библиотек, в том числе библиотеки нужных нам стандартных функций.
Программа для детерминированной модели приведена в Приложении № 1.
2.2 Описание моделирующей программы для детерминированного варианта модели
Параметры и переменные данной программы описаны в пункте 2.2.
Так как в выбранном языке программирования нельзя создать параллельные процессы, то мы применим принцип псевдораспараллеливания.
В программе организуем очередь ocher[50] в ячейках которой мы запоминаем адрес заявки (номер сетевой машины). Также вводим ряд вспомогательных переменных ( ztgz1, ztgz2, ztgz3, ztm, zk ) необходимых для хранения значений исходных параметров системы.
Данная моделирующая программа работает следующим образом:
Вначале программа запрашивает значения параметров системы. Далее организуется основной цикл, который выполняется k раз. Первым действием в цикле является оператор прибавления единицы машинного времени t=t+emb. После проверяем не пришел ли пользователь, если пришел то определяем какой ( конструкция switch (cikl) ). Далее в программе идет конструкция switch (nz) устанавливающая соответствующие флажки подготовки задания. После идет группа условий выполняющая уменьшение времени подготовки задания. Если задание подготовлено то подается запрос на выполнение. В этом блоке программы определяется не пуста ли очередь, если не пуста то выполняем задание из очереди иначе выполняем заявку с сетевой машины. Перед выполнением заявки проверяем занята ли ЭВМ, если занята то ставим заявку в очередь. Далее если на ЭВМ выполняемся задача то уменьшаем время выполнения этой задачи. После чего цикл повторяется. После завершения цикла производим подсчет процента выполненных заданий, поступивших от второго пользователя.
2.3 Проверка достоверности программы
Смоделируем работу системы с параметрами указанными в задании.
Протокол работы программы:
Введите интервал между приходами пользователей 100
Введите время подготовки задания 1-ым пользователем 160
Введите время подготовки задания 2-ым пользователем 170
Введите время подготовки задания 3-ым пользователем 180
Введите время выполнения задания на ЭВМ 8
Введите количество промоделированных на ЭВМ заданий 500
Процент вып. заданий, поступ. от 2-го польз.= 33%
Вывод:
Результаты работы моделирующей программы совпадают с рассчитанными теоретически, следовательно программа написана и работает правильно.
Определим оптимальную структуру вычислительной системы: оптимальная структура вычислительной системы обеспечивающая минимальное время простоя оборудования достигается при следующих параметрах: интервал между приходами пользователей 2
время подготовки задания 1-ым пользователем 1
время подготовки задания 2-ым пользователем 1
время подготовки задания 3-ым пользователем 1
время выполнения задания на ЭВМ 1
2.4 Моделирование случайных воздействий
2.4.1 Моделирование случайных воздействий имеющих равномерное распределение
2.4.1.1 Аппаратный способ
При аппаратном способе случайные или псевдослучайные числа вырабатываются специальной электронной приставкой - генератором, который является внешним устройством ЭВМ либо входит в состав процессора. Наибольшее распространение на практике нашли генераторы псевдослучайных чисел (ГПСЧ), построенные на основе регистра сдвига с реализацией некоторой логической функции в цепи обратной связи (ОС) (в нашем случае это сумматор по модулю два).
Поскольку проведение натуральных опытов с разными схемами ГПСЧ трудоемко, то мы будем использовать программное средство позволяющее строить и исследовать различные ГПСЧ на программных моделях. Для этих целей подходят автоматизированная система подготовки и обработки статистической информации (АСПОСИ), которая представляет собой комплекс программных средств, позволяющих строить математические модели различных ГПСЧ и исследовать их характеристики.
Для получения ПСЧ будем пользоваться программой gener.
Работая в диалоговом режиме с ПВМ мы определяем структуру генератора, т. е. некоторую исходную информацию: разрядность регистра сдвига ГПСЧ, вид ОС, количество и номера подключенных в цепь ОС разрядов регистра, количество генерируемых чисел и др.
Полученные числа записываются в файл и анализируются (строится гистограмма) с помощью программы analize.
Для генерации чисел мы выбрали 3 различные структуры ГПСЧ:
1) Файл vihod1.dat
Разрядность: 50
Обратная связь: 30
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 2
2) Файл vihod2.dat
Разрядность: 50
Обратная связь: 30
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 3
3) Файл vihod3.dat
Разрядность: 70
Обратная связь: 35
Количество чисел: 1000
Разрядность числа: 25
Число сдвигов: 6
Проверим качество чисел в файлах программой analize.
Построим гистограммы:
vihod1.dat
vihod2.dat
vihod3.dat
Проверка соответствия чисел в последовательностях требуемому распределению дает следующие результаты: теоретические и статистические данные во всех 3-х файлах по критериям Колмогорова и Х2 не согласуются.
Определение числовых характеристик
№ |
Характеристика |
vihod1.dat |
vihod2.dat |
vihod3.dat |
|
1 |
наименьшее значение |
0.02 |
0.005 |
0.00059 |
|
2 |
наибольшее значение |
0.96 |
0.996 |
0.999 |
|
3 |
Мат. ожидание |
0.39 |
0.51 |
0.49 |
|
4 |
Дисперсия |
0.078 |
0.086 |
0.085 |
|
5 |
Среднеквадратич.отклон. |
0.279 |
0.294 |
0.292 |
|
6 |
Эксцесс |
-1.92 |
-1.024 |
-1.12 |
Определение характеристик корреляции
----r(t) r(t)
1 1
0 t 0 t
5 5
vihod1.dat vihod2.dat
r(t)
1
0 t
5
vihod3.dat
Вывод:
1) С увеличением числа сдвигов характеристики чисел улучшаются.
2) Из приведенных 3-ех файлов самые качественные числа находятся в файле vihod3.dat , т. к. числа в последовательности достаточно независимы. Но в то же время нет согласованности по обеим критериям.
2.4.1.2 Программный способ
При программном способе псевдослучайные числа нам необходимо сформировать методом умножения.
Суть метода: выбирается два n - разрядных числа X1 и X2. X1><0, X2><0. Затем X1 умножаем на X2 и получаем некоторое значение Y , у которого 2n - разрядов: Y=X1*X2. Из 2n - разрядного Y выбираем n - разрядное Х1 и Х2 и вновь полученные Х1, Х2 умножаем друг на друга. Далее все повторяется до тех пор пока не будет сформировано необходимое количество чисел.
Программа формирования ГСК на основе метода умножения приведена в Приложении № 2.
Полученные числа записываются в файл vi_gpsc1.dat и анализируются с помощью программы analize.
Определение числовых характеристик
№ |
Характеристика |
Теоретич. значение |
Статистич. значение |
|
1 |
Мин.значение совокуп. |
0.00068 |
||
2 |
Макс.значение совокуп |
0.99995 |
||
3 |
Математич. ожидание |
0.5 |
0.4928 |
|
4 |
Дисперсия |
0.083 |
0.07822 |
|
5 |
Сред.квад.отклонение |
0.1887 |
0.2796 |
Аппроксимация статистического распределения теоретической функцией
Проверка соответствия чисел последовательности требуемому распределению дает следующие результаты:
Критерий Хи-Квадрат:
Х2=12.9
С доверительной вероятностью 0.166 можно утверждать о согласованности теоретических и статистических данных.
Критерий Колмогорова:
Максимальная разность max| F(x)-F*(x) | = 0.0885
С доверительной вероятностью 0.999 можно утверждать о согласованности теоретических и статистических данных.
Определение характеристик корреляции
r(t)
1
0 t
5
Рис. 3. График изменения коэфф. корреляции
Вывод:
Полученная по методу умножения последовательность СЧ, имеющих равномерный закон распределения удовлетворяет предъявленным требованиям по качеству и может быть использован в задачах моделирования, т. к.:
1) есть согласованность по критерию Колмогорова
2) числа не зависят друг от друга, о чем говорит график (Рис. 3.)
2.4.1.3 Выбор генератора РРПСЧ
Эффективность статистического моделирования и достоверность полученных результатов находятся в прямой зависимости от качества используемых в модели случайных последовательностей. Под качеством здесь понимается соответствие чисел последовательности заданной функции распределения (плотности распределения) и ее параметрам: М.О. и т.д.; независимость чисел последовательности друг от друга, т.е. отсутствие автокорреляции в последовательности случайных чисел.
Выберем генератор РРПСЧ, который используется для генерации времени между поступлениями заявок от пользователей.
Последовательность чисел, полученных аппаратным способом и хранящихся в файле vihod3.dat не совсем удовлетворяет предъявленным требованиям по качеству, т.к. нет согласия по критериям теоретических и статистических данных.
В пункте 3.4.1.2. мы делая вывод уже говорили о том, что генератор РРПСЧ сформированный программным способом (по методу умножения) можно использовать в задачах моделирования, но для простоты будем использовать встроенную функцию random( ), простую в программировании и имеющую хорошие характеристики.
2.4.2 Моделирование случайных воздействий, имеющих неравномерное распределение
Для стохастической модели требуются числа распределенные по нормальному закону и по экспоненциальному закону.
Напишем функции формирования чисел по требуемому закону распределения. Эти числа запишем в файл. Оценим качество полученных последовательностей ПСЧ, пользуясь автоматизированной системой analize. Проанализируем результаты исследования и сделаем вывод о качестве каждой последовательности и о возможности их использования в стохастической модели.
Сведения о непрерывных случайных величинах
Закон распределения случайных величин |
Нормальный N(m,s) |
Экспоненц-ый s(1,1/l)=Э(l) |
|
Аналитическое выражение плотности вероятности f(x) |
1 -(x-m) f(x)=-------- e 2s ------------------sЦ2p |
-lx f(x)=l--e |
|
Определяющие параметры |
| m | < s-- > 0 |
l--> 0 |
|
Числовые m характеристики D |
m s |
1/l 1/l |
|
Алгоритм получения случайной величины |
______ xi=Ц-2--ln z1 cos2p--z2 xi+1=Ц-2--ln z1 cos2p--z2 ( m=0; D=1 ) |
1 xi=- ---- ln zi l |
|
Область значений случайной величины |
Исследование последовательности нормально распределенных ПСЧ. (Программа в приложении № 3)
Определение числовых характеристик
№ |
Характеристика |
Теоретическое значение |
Статистическое значение |
|
1 |
Мин.знач.совокупности |
11 |
12.31 |
|
2 |
Макс.знач.совокуп-ти |
24 |
25.23 |
|
3 |
Мат. ожидание |
16 |
16.02 |
|
4 |
Дисперсия |
2 |
2.07 |
|
5 |
Сред.квадр.отклонение |
1 |
1.439 |
|
6 |
Коэфф.ассиметрии |
0 |
0.35 |
|
7 |
Эксцесс |
0 |
2.716 |
Аппроксимация стат. распределения теоретической функцией.
Проверка соответствия чисел последовательности требуемому распределению дает следующие результаты:
Критерий Хи-Квадрат:
Х2=0.0000813
С доверительной вероятностью 0.999 можно утверждать о согласованности теоретических и статистических данных.
Критерий Колмогорова:
Максимальная разность max| F(x)-F*(x) | = 0.0823
С доверительной вероятностью 0.999 можно утверждать о согласованности теоретических и статистических данных.
Определение характеристик корреляции
r(t)
1
0 t
5
Рис. 4. График изменения коэффициента корреляции.
Вывод:
Полученная последовательность ПСЧ, имеющая нормальный закон распределения, удовлетворяет предъявленным требованиям по качеству и может быть использована в задачах моделирования, т. к.
- числовые характеристики имеют незначительное отклонение от теоретических значений,
- по критериям согласия получены удовлетворительные значения доверительных вероятностей,
- числа последовательности достаточно независимы, о чем свидетельствует график (Рис. 4.)
Последовательности ПСЧ для 2-го и 3-го пользователей генерируются аналогично, с той лишь разницей, что мат. ожидание у них 17 и 18 соответственно.
Исследование последовательности экспоненциально распределенных ПСЧ (Программа в приложении № 3)
Определение числовых характеристик
№ |
Характеристика |
Теоретическое значение |
Статистическое значение |
|
1 |
Мин.знач.совокупности |
0.5 |
0.8 |
|
2 |
Макс.знач.совокуп-ти |
3.5 |
2.358 |
|
3 |
Мат. ожидание |
0.8 |
1.06 |
|
4 |
Дисперсия |
0.08 |
0.066 |
|
5 |
Сред.квадр.отклонение |
0.5 |
0.2575 |
|
6 |
Коэфф.ассиметрии |
0 |
1.682 |
|
7 |
Эксцесс |
0 |
1.097 |
Аппроксимация стат. распределения теоретической функцией
Проверка соответствия чисел последовательности требуемому закону распределения дает следующие результаты:
Критерий Хи-Квадрат:
Значение Х2=2310
С доверительной вероятностью 0.999 можно утверждать о согласованности теоретических и статистических данных.
Критерий Колмогорова:
Максимальная разность max| F(x)-F*(x) | = 0.023
С доверительной вероятностью 0.91 можно утверждать о согласованности теоретических и статистических данных.
Определение характеристик корреляции
r(t)
1
0 t
5
Рис. 5. График изменения коэффициента корреляции.
Вывод:
Полученная последовательность ПСЧ, имеющих экспоненциальный закон распределения, удовлетворяет предъявленным требованиям по качеству и может быть использована в задачах моделирования, т. к.
- числовые характеристики имеют незначительное отклонение от теоретических значений,
- по критериям согласия получены удовлетворительные значения доверительных вероятностей,
- числа последовательности достаточно независимы, о чем свидетельствует график (Рис. 5.)
2.5 Описание моделирующей программы для стохастической модели
Преобразуем ранее созданную детерминированную модель вычислительной системы в стохастическую модель. Для этого потребуются следующие изменения детерминированной программы:
- вставим программный генератор РРПСЧ - встроенную функцию random( ) возвращающую РРПСЧ в интервале (0,1) - для определения времени между приходами пользователей.
- файл norm-1.dat , имеющий нормальный закон распределения с m=16, D=2 для определения времени подготовки задания на 1-ой сетевой машине.
- файл norm-2.dat , имеющий нормальный закон распределения с m=17, D=2 для определения времени подготовки задания на 2-ой сетевой машине.
- файл norm-3.dat , имеющий нормальный закон распределения с m=18, D=2 для определения времени подготовки задания на 3-ей сетевой машине.
- файл expon.dat , имеющий экспоненциальный закон распределения с m=0.8 для определения времени выполнения задания на ЭВМ.
- уберем функции ввода с клавиатуры которые использовались для ввода параметров системы.
Стохастическая моделирующая программа приведена в Приложении № 4.
3. Получение и интерпретация результатов моделирования
Значения выходных характеристик, полученные при прогонках модели с различными случайными воздействиями.
№ прогона |
% выполненных заданий, поступ. от 2-го пользователя |
|
1 |
9 % |
|
2 |
9 % |
|
3 |
9 % |
|
4 |
9 % |
|
5 |
9 % |
|
6 |
9 % |
|
7 |
9 % |
|
8 |
9 % |
|
9 |
9 % |
|
10 |
9 % |
|
сред.зн. |
9 % |
Вывод:
Усредненные значения выходной характеристики подтверждают данные детерминированной модели т.к. с введением вероятности прихода второго пользователя равной 0.1 в детерминированную модель теоретическое значение процента выполненных заданий поступивших от второго пользователя становится равным 10 %.
Литература
1. Разработка САПР. № 9 В.М. Черненький. Имитационное моделирование.
2. Лекции по курсу “Моделирование”.
3. Б. Страуструп. Язык программирования С++.
4. Шрайбер Г.Д. Моделирование на GPSS.
5. Е.И. Козелл. от Си к С++.
Приложение № 1
// ЗАДАНИЕ 15. Детерминированная модель системы.
#include<stdio.h>
#include<conio.h>
const emb=1; //единица машинного времени
main()
{ int tp=100; //интервал между приходами пользователей
int tgz1=160; //время подготовки задания 1-ым пользователем
int tgz2=170; //время подготовки задания 2-ым пользователем
int tgz3=180; //время подготовки задания 3-им пользователем
int tm=8; //время выполнения задания на ЭВМ
int k=500; //количество промоделированных на ЭВМ заданий
int t=0; //время
char nz=0; //наличие заявки на входе системы
char cikl=0; //цикл прихода заявок
char pz1=0; //подготовка задания на сетевой машине 1
char pz2=0; //подготовка задания на сетевой машине 1
char pz3=0; //подготовка задания на сетевой машине 1
char znw=0; //наличие заявки на выполнение задания
char wz=0; //выполнение задания на ЭВМ
char ocher[50]; //очередь
char n=0; //индекс свободного элемента в очереди
int w2=0; //количество вып. заданий от 2-го пользователя
int ztgz1,ztgz2,ztgz3,ztm,zk; //перем.для запоминания параметров системы
printf("Введите интервал между приходами пользователей "); scanf("%d",&tp);
printf("Введите время подготовки задания 1-ым пользователем ");
scanf("%d",&tgz1); ztgz1=tgz1;
printf("Введите время подготовки задания 2-ым пользователем ");
scanf("%d",&tgz2); ztgz2=tgz2;
printf("Введите время подготовки задания 3-ым пользователем ");
scanf("%d",&tgz3); ztgz3=tgz3;
printf("Введите время выполнения задания на ЭВМ "); scanf("%d",&tm); ztm=tm;
printf("Введите количество промоделированных на ЭВМ заданий ");
scanf("%d",&k); zk=k;
//----------- моделирующий цикл -----------------------------------
while (k!=0)
{ t=t+emb;
//появление пользователя
if (t%tp==0)
switch (cikl)
{ case 0: nz=1; cikl=1; break;
case 1: nz=2; cikl=2; break;
case 2: nz=3; cikl=3; break;
case 3: nz=1; cikl=0;
}
//начало подготовки задания
switch (nz)
{ case 1: pz1=1; nz=0; break;
case 2: pz2=1; nz=0; break;
case 3: pz3=1; nz=0;
}
//подготовка задания
if (pz1==1)
if (tgz1==0) {pz1=0; znw=1; tgz1=ztgz1;} else tgz1=tgz1-emb;
if (pz2==1)
if (tgz2==0) {pz2=0; znw=2; tgz2=ztgz2;} else tgz2=tgz2-emb;
if (pz3==1)
if (tgz3==0) {pz3=0; znw=3; tgz3=ztgz3;} else tgz3=tgz3-emb;
// запрос на выполнение
if (n!=0 && wz==0) { wz=ocher[n-1]; n--; } //если очередь не пуста а ЭВМ свобода
// то выпол. заявку из очереди
if (znw!=0) //если имеется заявка на выполнение
if (wz==0) { wz=znw; znw=0; } //если ЭВМ не занята
else //если ЭВМ занята, то ставим заявку в очередь
{ if (n>=50) { printf("\nПереполнение очереди!\n"); return 0; }
else { ocher[n]=znw; znw=0; n++; }
}
//выполнение задания на ЭВМ
switch (wz)
{ case 1: if (tm==0) {wz=0; k--; tm=ztm; } else tm=tm-emb; break;
case 2: if (tm==0) {wz=0; k--; w2++; tm=ztm; } else tm=tm-emb; break;
case 3: if (tm==0) {wz=0; k--; tm=ztm; } else tm=tm-emb;
}
}
printf("\nПроцент вып. заданий, поступ. от 2-го польз.=%d%",100*w2/zk);
}
Приложение № 2
//Генерирование равномерно распределенных случайных величин
#include<stdio.h>
long x=7533; //псевдослучайное число
long Rnd(long x) // процедура формирования очередного псевдослучайного числа
{ int l=5169;
long k=65536;
return (l*x)%k;
}
void main()
{ FILE *fout; //выходной файл случайных величин
int i; //параметр цикла
fout=fopen("vi_gpsc1.dat","w");
for(i=1; i<=1000; i++) fprintf(fout,"%f ",float((x=Rnd(x)))/65536);
fclose(fout);
}
Приложение № 3
uses crt;
var f1,f2,f3,f4:text;
i:integer;
x,z1,z2,y1,y2,a,y3,y4,y5,y6:real;
procedure norm1(var x1,x2:real);
begin
z1:=random;
z2:=random;
x1:=sqrt(-2*ln(z1))*cos(2*pi*z2);
x2:=sqrt(-2*ln(z1))*sin(2*pi*z2);
x1:=sqrt(2)*x1+16;
x2:=sqrt(2)*x2+16;
end;
procedure norm2(var x1,x2:real);
begin
z1:=random;
z2:=random;
x1:=sqrt(-2*ln(z1))*cos(2*pi*z2);
x2:=sqrt(-2*ln(z1))*sin(2*pi*z2);
x1:=sqrt(2)*x1+17;
x2:=sqrt(2)*x2+17;
end;
procedure norm3(var x1,x2:real);
begin
z1:=random;
z2:=random;
x1:=sqrt(-2*ln(z1))*cos(2*pi*z2);
x2:=sqrt(-2*ln(z1))*sin(2*pi*z2);
x1:=sqrt(2)*x1+18;
x2:=sqrt(2)*x2+18;
end;
procedure expon (a:real ; var x: real);
begin
z1:=random;
x:=-(1/a)*ln(z1);
x:=sqrt(1/sqr(a))*x+0.8;
end;
Begin
clrscr;
assign(f1,'d:\tp\norm-1.dat');
rewrite(f1);
assign(f3,'d:\tp\norm-2.dat');
rewrite(f3);
assign(f4,'d:\tp\norm-3.dat');
rewrite(f4);
writeln(' Нормальный закон:');
for i:=1 to 500 do
begin
norm1(y1,y2); write(f1,y1,' ');write(f1,y2,' ');
norm2(y3,y4); write(f3,y3,' ');write(f3,y4,' ');
norm3(y5,y6); write(f4,y5,' ');write(f4,y6,' ');
end;
close (f1); close (f3); close (f4);
assign(f2,'d:\tp\exp.dat');
rewrite(f2);
writeln('Экспоненциальный закон ');
writeln('Введите параметр a: '); readln(a);
for i:=1 to 500 do begin expon(a,x);write(f2,x,' '); end;
close(f2);
End.
Приложение № 4
//стохастическая модель системы
#include<stdio.h>
#include<conio.h>
const emb=1; //единица машинного времени
FILE *ravn, *norm1, *norm2, *norm3, *exp;
float a;
int ravnom()
{ fscanf(ravn,"%f ",&a);
return int(a*5);
}
int normal1()
{ fscanf(norm1,"%f ",&a);
return int(a*10);
}
int normal2()
{ fscanf(norm2,"%f ",&a);
return int(a*10);
}
int normal3()
{ fscanf(norm3,"%f ",&a);
return int(a*10);
}
int expon()
{ fscanf(exp,"%f ",&a);
return int(a*10);
}
//------------------------- основная программа ----------------------
main()
{ int tp=100; //интервал между приходами пользователей
int tgz1=160; //время подготовки задания 1-ым пользователем
int tgz2=170; //время подготовки задания 2-ым пользователем
int tgz3=180; //время подготовки задания 3-им пользователем
int tm=8; //время выполнения задания на ЭВМ
int k=500; //количество промоделированных на ЭВМ заданий
int t=0; //время
char nz=0; //наличие заявки на входе системы
char cikl=0; //цикл прихода заявок
char pz1=0; //подготовка задания на сетевой машине 1
char pz2=0; //подготовка задания на сетевой машине 1
char pz3=0; //подготовка задания на сетевой машине 1
char znw=0; //наличие заявки на выполнение задания
char wz=0; //выполнение задания на ЭВМ
char ocher[50]; //очередь
char n=0; //индекс свободного элемента в очереди
int w2=0; //количество вып. заданий от 2-го пользователя
ravn=fopen("ravnomer.dat","r");
norm1=fopen("norm1.dat","r");
norm2=fopen("norm2.dat","r");
norm3=fopen("norm3.dat","r");
exp=fopen("exp.dat","r");
tgz1=normal1();
tgz2=normal2();
tgz3=normal3();
tm=expon();
tp=10+ravnom();
//----------- моделирующий цикл -----------------------------------
while (k!=0)
{ t=t+emb;
//появление пользователя
if (t%tp==0)
{ tp=10+ravnom();
fscanf(ravn,"%f ",&a);
if (a<0.4) nz=1;
if (a>0.4 && a<0.5) nz=2;
if (a>0.5) nz=3;
}
//начало подготовки задания
switch (nz)
{ case 1: pz1=1; nz=0; break;
case 2: pz2=1; nz=0; break;
case 3: pz3=1; nz=0;
}
//подготовка задания
if (pz1==1)
if (tgz1==0) {pz1=0; znw=1; tgz1=normal1();} else tgz1=tgz1-emb;
if (pz2==1)
if (tgz2==0) {pz2=0; znw=2; tgz2=normal2();} else tgz2=tgz2-emb;
if (pz3==1)
if (tgz3==0) {pz3=0; znw=3; tgz3=normal3();} else tgz3=tgz3-emb;
// запрос на выполнение
if (n!=0 && wz==0) { wz=ocher[n-1]; n--; } //если очередь не пуста а ЭВМ свобода
// то выпол. заявку из очереди
if (znw!=0) //если имеется заявка на выполнение
if (wz==0) { wz=znw; znw=0; } //если ЭВМ не занята
else //если ЭВМ занята, то ставим заявку в очередь
{ if (n>=50) { printf("\nПереполнение очереди!\n"); return 0; }
else { ocher[n]=znw; znw=0; n++; }
}
//выполнение задания на ЭВМ
switch (wz)
{ case 1: if (tm==0) {wz=0; k--; tm=expon(); } else tm=tm-emb; break;
case 2: if (tm==0) {wz=0; k--; w2++; tm=expon(); } else tm=tm-emb; break;
case 3: if (tm==0) {wz=0; k--; tm=expon(); } else tm=tm-emb;
}
}
printf("\nПроцент вып. заданий, поступ. от 2-го польз.=%d%",100*w2/500);
fclose(ravn);
fclose(norm1);
fclose(norm2);
fclose(norm3);
fclose(exp);
}
Размещено на Allbest.ru
...Подобные документы
Построение информационной системы для автоматизации документооборота. Основные параметры будущей локальной вычислительной сети. Схема расположения рабочих станций при построении. Протокол сетевого уровня. Интеграция с глобальной вычислительной сетью.
курсовая работа [330,8 K], добавлен 03.06.2013Понятие компьютерных сетей, их виды и назначение. Разработка локальной вычислительной сети технологии Gigabit Ethernet, построение блок-схемы ее конфигурации. Выбор и обоснование типа кабельной системы и сетевого оборудования, описание протоколов обмена.
курсовая работа [2,0 M], добавлен 15.07.2012Особенности проектирования и модернизация корпоративной локальной вычислительной сети и способы повышения её работоспособности. Физическая структура сети и сетевое оборудование. Построение сети ГУ "Управление Пенсионного фонда РФ по г. Лабытнанги ЯНАО".
дипломная работа [259,1 K], добавлен 11.11.2014Передаточные функции замкнутой и разомкнутой САУ. Построение АХЧ, ФЧХ, АФЧХ, ЛАЧХ, ЛФЧХ системы в замкнутом состоянии. Расчет запасов устойчивости замкнутой системы по годографу Найквиста. Исследование качества переходных процессов и моделирование САУ.
курсовая работа [1,2 M], добавлен 21.10.2013Описание языка программирования GPSS. Моделирование системы обработки информации содержащей мультиплексный канал. Словесное описание системы и схема модели. Текст программы, имитирующей работу модели на GPSS World. Проверка стабильности работы системы.
курсовая работа [280,0 K], добавлен 15.06.2014Формирование функциональной схемы системы автоматической стабилизации (САС). Построение линеаризованной математической модели САС. Определение передаточных функций элементов САС. Статический и динамический системы, ее моделирование на лабораторном стенде.
курсовая работа [861,2 K], добавлен 24.02.2012Структурная схема системы электросвязи, назначение отдельных элементов. Статистические характеристики и параметры передаваемого сообщения. Оценка помехоустойчивости и эффективности приема сигналов дискретной модуляции. Моделирование системы электросвязи.
курсовая работа [1,3 M], добавлен 14.01.2018Анализ эксплуатации средств вычислительной техники и факторов, влияющих на их работоспособность. Требования к функциональным характеристикам и конструкции элементов вычислительной техники. Качества транспортируемой, морской, бортовой, портативной техники.
курсовая работа [750,0 K], добавлен 05.05.2013Микрооперации над кодовыми словами, которые выполняют в цифровых схемах счетчики. Структурная схема триггера К155ТВ1, электрические параметры. Принцип работы цифрового счетчика, построение таблицы истинности, моделирование в программе Micro-Cap.
курсовая работа [747,2 K], добавлен 11.03.2013Моделирование функций заданных математическим выражением и объектов, описанных дифференциальными уравнениями. Параметры блока "Генератор импульсов". Построение графиков для каждой модели периодических сигналов с различными временными интервалами.
курсовая работа [329,1 K], добавлен 19.12.2016Применение усилителей в сфере вычислительной техники и связи. Проектирование многокаскадного усилителя с обратной отрицательной связью. Статические и динамические параметры, моделирование на ЭВМ с использованием программного продукта MicroCap 9.
курсовая работа [3,2 M], добавлен 21.12.2012Принципы построения структурированных кабельных систем. Разработка схемы подключения в пакете Cisco Packet Tracer, обзор стандартов. Построение локальной вычислительной сети административного здания. Современные методы построения и создания сети.
контрольная работа [300,6 K], добавлен 16.02.2016Назначение, функции и основные требования к комплексу технических и программных средств локальной вычислительной сети. Разработка трехуровневой структуры сети для организации. Выбор оборудования и программного обеспечения. Проектирование службы каталогов.
курсовая работа [1,1 M], добавлен 24.11.2014Расчет каскада предварительного усиления, работающего на входную цепь следующего потока, выполненного на транзисторе с общим эмиттером. Компьютерное моделирование и исследование схемы, построение временных диаграмм с помощью программы "Microcap".
курсовая работа [214,6 K], добавлен 12.09.2010Математическая модель технологического процесса. Структурная схема микропроцессорной системы. Алгоритм работы цифровой вычислительной машины. Расчет параметров устройства управления. Моделирование динамики системы с применением ППП "MatLab/Simulink".
курсовая работа [1016,6 K], добавлен 21.11.2012Построение модели с помощью программы OrCAD Capture. Моделирование схемы с помощью программы PSpice. График амплитудно-частотной характеристики Ku(f). Определение полосы частот настройки. Зависимость максимального ослабления сигналов от CL и RL.
реферат [466,4 K], добавлен 24.12.2011Проектирование структурной схемы электромеханического релейного следящего привода. Составление дифференциальных уравнений замкнутой нелинейной системы автоматического управления, построение ее фазового портрета. Гармоническая линеаризация нелинейности.
курсовая работа [2,9 M], добавлен 26.02.2014Назначение, типы и аппроксимация характеристик цифровых и аналоговых фильтров. Разработка на языке MATLAB программы моделирования ФВЧ методом Баттерворта, построение графиков амплитудно- и фазо-частотной характеристик; построение Simulink – модели.
курсовая работа [883,8 K], добавлен 17.06.2011Разработка вычислительной сети, объединяющей в себе филиалы библиотеки, имеющей в своей структуре, главное здание, филиал и два хранилища, осуществляющих доступ к информации, выдачу книг и доступ к электронной библиотеке. Средства доступа к сети Интернет.
курсовая работа [5,9 M], добавлен 23.06.2011Основные характеристики технологического объекта управления. Выбор средств автоматизации для подсистемы вывода командной информации. Моделирование системы автоматического регулирования в динамическом режиме. Выбор параметров настройки контроллера.
курсовая работа [1,2 M], добавлен 08.03.2014