Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Построение и реализация моделирующих алгоритмов Q - схем. Отчет

.doc
Скачиваний:
16
Добавлен:
25.05.2014
Размер:
38.91 Кб
Скачать

Уфимский Государственный Авиационный Технический Университет

Кафедра ТК

ОТЧЕТ

По лабораторной работе №1

по предмету «Моделирование Систем»

на тему

Построение и реализация моделирующих

алгоритмов Q - схем

Выполнили: студенты гр Т28-319

Андреяшкин И.В.

Сивокобыленко О.В.

Плюхин В.

Проверила: Валеева Г.Р.

УФА 2004

Цель работы - изучение способов формализации процессов функционирования систем с использованием Q-схем.

Исходные данные.

Особенности формализации систем с помощью Q-схем рассмотрим на примере решения задачи исследования вероятностно-временных характеристик процесса функционирования вычислительного центра (ВЦ).

В ВЦ приходят пользователи через интервалы времени 102 мин. Если все 3 устройства подготовки данных (УПД) заняты, пользователю отказывают в обслуживании. Устройства имеют разную производительность и могут обеспечить обслуживание средней программы пользователя за 205, 4010 и 4020 мин.

Пользователи стремятся занять свободное УПД с максимальной производи-тельностью. Полученные программы сдаются в приемный накопитель, откуда выбираются для обработки на первую ЭВМ - программы с первого и второго устройства, на вторую ЭВМ - программы с третьего УПД. Времена обработки программ на первой и второй ЭВМ равны 15 и 30 мин. соответственно.

Смоделировать процесс обработки 300 заданий. Определить вероятность отказа в обслуживании пользователя ВЦ.

Для составления детальной схемы алгоритма используем следующие иден-тификаторы переменных:

- массив состояния УПД nz(3);

- время занятия УПД tz(3);

- массив состояния ЭВМ np(2);

- время занятия ЭВМ tp(2);

- массив состояния накопителей n(2);

- число отказов not;

- число обслуженных заявок nend;

- интервал t dt;

- массивы задания параметров времени обслуживания на УПД a(3), b(3);

- массив задания параметров времени обслуживания на ЭВМ to(2);

- вероятность отказа в обслуживании pot;

- переменные для задания параметров времени поступления заявок tа, tb.

Исходные данные, вводимы в программу:

a(3)={15,30,20}

b(3)={10,20,40}

ta=8, tb=4, dt=0,2

Код алгоритма на языке С++:

#include <iostream.h>

#include <conio.h>

#include <math.h>

#include <stdlib.h>

float DAT (double a, double b)

{

double c;

// cout<<a<<";"<<b<<";"<<c<<endl;

return c=random(b)+a;

}

void main()

{randomize();

float i,i1,if1,not,nend;

float ta,tb,dt,t,pot;

float a[3],b[3],to[2],tz[3],tp[2];

int nz[3],np[2],n[2];

for(i=0;i<3;i++)

cin>>a[i]>>b[i];

cin>>ta>>tb>>dt;

for(i=0;i<3;i++)

{nz[i]=0;

n[i]=0;

np[i]=0;

tz[i]=0;

tp[i]=0;

}//for(i=0;i<3;i++)

nend=0;not=0;t=0;

while(nend<300)

{for(i=0;i<2;i++)

if(np[i]==1)

if(tp[i]<=0)

{np[i]=0;

nend++;

}//if if for

if1=0;

for(i=0;i<3;i++)

if(nz[i]==1)

if(tz[i]<=0)

{if1=1;

nz[i]=0;

if(i==3) n[2]++;

else n[1]++;

}//if if for

for(i=0;i<2;i++)

if(n[i]>0)

if(np[i]==0)

{n[i]--;

np[i]=1;

tp[i]=to[i];

}//if if for

if(t<=0)

{if1=0;

for(i=0;i<3;i++)

if(if1==0)

if(nz[i]==0)

{nz[i]=1;

tz[i]=DAT(a[i],b[i]);

if1=1;

}//if if for

if(if1==0) not++;

t=DAT(ta,tb);

}//if(t<=0)

t=t-dt;

for(i=0;i<3;i++)

{tp[i]=tp[i]-dt;

tz[i]=tz[i]-dt;

}//for(i=0;i<3;i++)

}//while

pot=not/(nend+not);

cout<<nend<<","<<not<<","<<pot<<endl;

}

Результаты работы программы:

300, 84, 0.21875

300, 90, 0.230769

300, 79, 0.208443

300, 88, 0.226804

300, 83, 0.21671

300, 91, 0.232737

300, 84, 0.21875

300, 88, 0.226804

300, 92, 0.234694

300, 84, 0.21875

300, 84, 0.21875

300, 79, 0.208443

Вывод: В данной работе мы изучили способы формализации процессов функционирования систем с использованием Q-схем. Из 300 заявок, отказ получают не более 3%