Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа2 / мой отчет по Мс.doc
Скачиваний:
13
Добавлен:
02.05.2014
Размер:
197.12 Кб
Скачать

4.2 Блок-схема программы:

4.3 Листинг программы:

#include "math.h"

#include "iostream.h"

#include "stdio.h"

#include "stdlib.h"

#include "conio.h"

void main()

{

randomize();

double lyambda=0, mu=0, time, Tobsl=0, t=0,Ivh,Iobsl,Po,A,KolKan,Potk,Q;

int Cz=0,Co=0,Cobsl=0,S=0,kol,Lo=0;

cout<<"Vvedite intensivnost vhodnogo potoka: ";

cin>>Ivh;

cout<<"Vvedite intensivnost potoka obsluzhivaniya: ";

cin>>Iobsl;

cout<<"Vvedite kolichestvo progonov: ";

cin>>kol;

cout<<"\n";

for(int i=1; i<=kol; i++)

{

cout<<"Progon "<<i<<":\n";

cout<<"Vvedite vremya raboti sistemi: ";

cin>>time;

do

{

if(S==0)

{

for(int j=1; j<=2; j++)

{

lyambda=(1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

S=1;

t+=lyambda;

Cz++;

Cobsl++;

}

if(S==1)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=2;

t+=lyambda;

Cz++;

Cobsl++;

Tobsl+=lyambda;

}

else

{

S=0;

t+=mu;

Tobsl+=mu;

}

}

if(S==2)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=3;

t+=lyambda;

Cz++;

Cobsl++;

Tobsl+=lyambda;

}

else

{

S=1;

t+=mu;

Tobsl+=mu;

}

}

if(S==3)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=4;

t+=lyambda;

Cz++;

Cobsl++;

Tobsl+=lyambda;

}

else

{

S=2;

t+=mu;

Tobsl+=mu;

}

}

if(S==4)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=5;

t+=lyambda;

Cz++;

Cobsl++;

Lo++;

Tobsl+=lyambda;

}

else

{

S=3;

t+=mu;

Tobsl+=mu;

}

}

if(S==5)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=6;

t+=lyambda;

Cz++;

Lo++;

Cobsl++;

Tobsl+=lyambda;

}

else

{

S=4;

t+=mu;

Tobsl+=mu;

}

}

if(S==6)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=7;

t+=lyambda;

Cz++;

Lo++;

Cobsl++;

Tobsl+=lyambda;

}

else

{

S=5;

t+=mu;

Tobsl+=mu;

}

}

if(S==7)

{

for(int j=1; j<=2; j++)

{

lyambda=(-1)*log(random(1000)/1000.0+0.001)/Ivh*j;

lyambda+=lyambda;

}

mu=(-1)*log(random(1000)/1000.0+0.001)/Iobsl;

if(lyambda<mu)

{

S=7;

t+=lyambda;

Cz++;

Co+=Lo-4;

Tobsl+=lyambda;

}

else

{

S=6;

t+=mu;

Tobsl+=mu;

}

}

}

while(t<time);

Po=(time -Tobsl)/2/time;

Potk=(double)Co/(double)Cz;

Q=(double)Cobsl/(double)Cz;

A=(double)Cobsl/time;

KolKan=(time-Tobsl)/time;

cout<<"Kolichestvo zayavok: "<<Cz<<"\n";

cout<<"Kolichestvo obsluzhennih zayavok: "<<Cobsl<<"\n";

cout<<"Otkazano "<<Co<<" zayavke(am)\n";

cout<<"Veroyatnost prostoya: "<<Po<<"\n";

cout<<"Veroyatnost otkaza: "<<Potk<<"\n";

cout<<"Dolya obsluzhennih zayavok: "<<Q<<"\n";

cout<<"Absolyutnaya propusknaya sposobnost: "<<A<<"\n";

cout<<"Srednee chislo zanyatih kanalov: "<<KolKan<<"\n\n";

cout<<"Otkaz: "<<Lo<<"\n\n";

}

getch();

}

14

Соседние файлы в папке Курсовая работа2