Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
02.05.2014
Размер:
9.69 Кб
Скачать
#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();
}

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