Ñáîðíèê ðåôåðàòîâ

Êóðñîâàÿ ðàáîòà: Ðàçðàáîòêà ñðåäñòâ ìîäåëèðîâàíèÿ ñèñòåì

    GENERATE  10

L3  QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1              

L1  QUEUE     1

    SEIZE     B2

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,6))

    RELEASE   B2

    TRANSFER  0.9,L2,L1

   

L2  QUEUE     1

    SEIZE     B3

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,10))

    RELEASE   B3

    TRANSFER  0.9,L4,L3

L4  TERMINATE 1

    START     1000

7  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ âåðîÿòíîñòíûì óçëîì


                           Â2

Â1                                                                                                       Â4

                                     

Â3      

Ðèñóíîê 7  Óñëîâíîå ãðàôè÷åñêîå îáîçíà÷åíèåîäíîêàíàëüíîé ðàçîìêíóòîé ñìî ñ âåðîÿòíîñòíûì óçëîì

Ñèñòåìà âêëþ÷àåò: îäíîêàíàëüíûå óñòðîéñòâà (B1, B2, B3, B4).

Ñèñòåìà îáñëóæèâàåò âõîäíîé ïðîöåññ îäíîãî òèïà.

Çàêîí ïîñòóïëåíèÿ çàÿâîê – ñëó÷àéíûé.

 ïðîöåññå îáñëóæèâàíèÿ çàÿâêè ïîñòóïàþò:

- íà óçåë B1;

- èç óçëà Â1 ñ âåðîÿòíîñòüþ 0,3 íà óçåë Â2, ñ âåðîÿòíîñòüþ 0,7 íà óçåë Â3;

- èç óçëà Â2 è óçëà Â3 íà óçåë Â4;

- ïîñëå ïðîõîæäåíèÿ óçëà Â4 îáñëóæèâàíèå çàâåðøàåòñÿ.

Âðåìÿ îáñëóæèâàíèÿ çàÿâîê íà ðàñïðåäåëåíî ïî – ñëó÷àéíîìó çàêîíó.

    GENERATE  10,3

    QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   8,4

    RELEASE   B1

    TRANSFER  0.3,L_2,L_1

   

L_1 QUEUE     2

    SEIZE     B2

    DEPART    2

    ADVANCE   6,4

    RELEASE   B2

   

    QUEUE     4

    SEIZE     B4

    DEPART    4

    ADVANCE   6,4

    RELEASE   B4

L_2 QUEUE     3

    SEIZE     B3

    DEPART    3

    ADVANCE   8,6

    RELEASE   B3

    QUEUE     4

    SEIZE     B4

    DEPART    4

    ADVANCE   6,4

    RELEASE   B4

    TERMINATE 1

    START     10000

8  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ äâóìÿ âõîäíûìè ïîòîêàìè


                              B1

Ðèñóíîê 8  Óñëîâíîå ãðàôè÷åñêîå îáîçíà÷åíèåîäíîêàíàëüíîé ðàçîìêíóòîé ñìî ñ äâóìÿ âõîäíûìè ïîòîêàìè

Ñèñòåìà âêëþ÷àåò: îäíîêàíàëüíîå óñòðîéñòâî (B1).

Ñèñòåìà îáñëóæèâàåò âõîäíûå ïðîöåññû äâóõ òèïîâ.

Çàêîí ïîñòóïëåíèÿ çàÿâîê íà ïåðâîì è íà âòîðîì êàíàëå – ñëó÷àéíûé.

 ïðîöåññå îáñëóæèâàíèÿ çàÿâêè ïîñòóïàþò:

- íà óçåë B1;

- ïîñëå ïðîõîæäåíèÿ óçëà B1 îáñëóæèâàíèå çàâåðøàåòñÿ.

Âðåìÿ îáñëóæèâàíèÿ çàÿâîê ðàñïðåäåëåíî ïî – ñëó÷àéíîìó çàêîíó.


GENERATE      30,2

QUEUE                          OHER1

SEIZE                          B1

DEPART        OHER1

ADVANCE       (Exponential(1,0,2.5))

RELEASE       B1

TERMINATE    

GENERATE      15,5.5

QUEUE                          OHER2

SEIZE                          B1

ADVANCE       (Exponential(4,0,2.5))

DEPART        OHER2

RELEASE       B1

TERMINATE     1

START                          1000

9  ÌíîãîêàíàëüíàÿçàìêíóòàÿÑÌÎ

                                                B1

                            

                                             Â2

                                  

Ðèñóíîê 9Óñëîâíîå ãðàôè÷åñêîå îáîçíà÷åíèåìíîãîêàíàëüíîé çàìêíóòîé ñìî

Ñèñòåìà âêëþ÷àåò: îäíîêàíàëüíûå óñòðîéñòâà (B1, B2) è ìíîãîêàíàëüíîå óñòðîéñòâî.

Ñèñòåìà îáñëóæèâàåò âõîäíîé ïðîöåññ îäíîãî òèïà.

Çàêîí ïîñòóïëåíèÿ çàÿâîê – ýêñïîíåíöèàëüíûé.

 ïðîöåññå îáñëóæèâàíèÿ çàÿâêè ïîñòóïàþò:

- íà ìíîãîêàíàëüíîå óñòðîéñòâî;

- ñ ìíîãîêàíàëüíîãî óçåë Â1, åñëè Â1 çàíÿò, òî íà óçåë Â2;

- èç óçëà Â1 è óçëà Â2 íà ìíîãîêàíàëüíîå;

Âðåìÿ îáñëóæèâàíèÿ çàÿâîê íà ðàñïðåäåëåíî ïî – ýêñïîíåíöèàëüíîìó çàêîíó.


NAK                                                   STORAGE     3

              GENERATE         (Exponential(1,0,10))

L1            ADVANCE          (Exponential(4,0,7))

              ENTER            NAK

              TRANSFER         BOTH,KAN1,KAN2

KAN1          SEIZE            B1

              QUEUE            1

              ADVANCE          (EXPONENTIAL(8,0,4))

              RELEASE          B1

              DEPART           1

              TRANSFER         ,COME

KAN2          SEIZE            B2

    QUEUE                      2

    ADVANCE                    1,0

    RELEASE                    B2

    DEPART                     2   

COME                           LEAVE  NAK

              ADVANCE          (Exponential(1,0,2))

              TRANSFER         ,L1

              GENERATE         480

              TERMINATE        1

              START            1

10  Ìíîãîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ

               Â1

B2                              

Ðèñóíîê10 Óñëîâíîå ãðàôè÷åñêîå îáîçíà÷åíèå ìíîãîêàíàëüíîé ðàçîìêíóòîé ñìî


Ñèñòåìà âêëþ÷àåò: îäíîêàíàëüíûå óñòðîéñòâà (B1, B2) è ìíîãîêàíàëüíîå óñòðîéñòâî.

Ñèñòåìà îáñëóæèâàåò âõîäíîé ïðîöåññ îäíîãî òèïà.

Çàêîí ïîñòóïëåíèÿ çàÿâîê – ýêñïîíåíöèàëüíûé.

 ïðîöåññå îáñëóæèâàíèÿ çàÿâêè ïîñòóïàþò:

- íà ìíîãîêàíàëüíîå óñòðîéñòâî;

- ñ ìíîãîêàíàëüíîãî íà óçåë Â1, åñëè Â1 çàíÿò, òî íà óçåë Â2;

- ïîñëå ïðîõîæäåíèÿ óçëà Â1 è óçëà Â23 îáñëóæèâàíèå çàêàí÷èâàåòñÿ;

Âðåìÿ îáñëóæèâàíèÿ çàÿâîê íà ðàñïðåäåëåíî ïî – ýêñïîíåíöèàëüíîìó çàêîíó.

NAK           STORAGE          3

              GENERATE         (Exponential(1,0,10))

              ENTER            NAK

              TRANSFER         BOTH,KAN1,KAN2

KAN1          SEIZE            B1

              QUEUE            1

    ADVANCE                    (EXPONENTIAL(8,0,4))

              RELEASE          B1

    DEPART                     1

              TRANSFER         ,COME

KAN2          SEIZE            B2

    QUEUE                      2

    ADVANCE                    1,0

    RELEASE                    B2

    DEPART                     2   

COME                           LEAVE  NAK

              ADVANCE          (Exponential(1,0,2))

              TERMINATE        1

              START            1000


Ïðèëîæåíèå Á

2  Îäíîêàíàëüíàÿ çàìêíóòàÿ ÑÌÎ ñ îäíèì óñòðîéñòâîì

Ïîëó÷åííûé îò÷¸ò:

GPSS World Simulation Report - Untitled Model 1.2.1

                   Wednesday, December 15, 2010 10:09:06 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    10        1          0

              NAME                       VALUE 

          B1                          10001.000

          L1                              2.000

          OHER                        10000.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            47             0       0

L1                  2    ADVANCE            232             1       0

                    3    QUEUE              231            45       0

                    4    SEIZE              186             0       0

                    5    DEPART             186             0       0

                    6    ADVANCE            186             1       0

                    7    RELEASE            185             0       0

                    8    TRANSFER           185             0       0

                    9    GENERATE             1             0       0

                   10    TERMINATE            1             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1                 186    0.912       2.353  1       34    0    0     0   45

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 OHER               46   45    231     15    18.194     37.807     40.432   0

CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

    49    0         480.000     49      0      1

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

    34    0         483.814     34      6      7

    33    0         513.195     33      2      3

    50    0         960.000     50      0      9

3  Îäíîêàíàëüíàÿ çàìêíóòàÿ ÑÌÎ ñ íåñêîëüêèìè óñòðîéñòâàìè

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.2.1

                   Friday, December 10, 2010 10:30:48 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    15        2          0

              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000

          L1                              2.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            48             0       0

L1                  2    ADVANCE            115             2       0

                    3    QUEUE              113             0       0

                    4    SEIZE              113             0       0

                    5    DEPART             113             0       0

                    6    ADVANCE            113             1       0

                    7    RELEASE            112             0       0

                    8    QUEUE              112            44       0

                    9    SEIZE               68             0       0

                   10    DEPART              68             0       0

                   11    ADVANCE             68             1       0

                   12    RELEASE             67             0       0

                   13    TRANSFER            67             0       0

                   14    GENERATE             1             0       0

                   15    TERMINATE            1             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                 113    0.571       2.426  1       48    0    0     0   0

B2                  68    0.909       6.419  1        8    0    0     0   44

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                  45   44    225     47    19.896     42.444     53.651   0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

     8    0         480.784      8     11     12

    48    0         480.880     48      6      7

    49    0         485.117     49      2      3

    29    0         489.126     29      2      3

    50    0         490.000     50      0      1

    51    0         960.000     51      0     14

4  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ îäíèì óñòðîéñòâîì

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.3.1

                   Wednesday, December 15, 2010 10:19:02 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         100007.316     7        1          0

              NAME                       VALUE 

          B1                          10000.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10000             0       0

                    2    QUEUE            10000             0       0

                    3    SEIZE            10000             0       0

                    4    DEPART           10000             0       0

                    5    ADVANCE          10000             0       0

                    6    RELEASE          10000             0       0

                    7    TERMINATE        10000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1               10000    0.800       8.002  1       0    0    0     0      0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0  10000   6937     0.041      0.408      1.331   0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0      100010.000   10001      0      1

5  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ íåñêîëüêèìè óñòðîéñòâàìè

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.4.1

                   Wednesday, December 15, 2010 10:21:47 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          99971.786    12        2          0

              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10001             0       0

                    2    QUEUE            10001             0       0

                    3    SEIZE            10001             0       0

                    4    DEPART           10001             0       0

                    5    ADVANCE          10001             1       0

                    6    RELEASE          10000             0       0

                    7    QUEUE            10000             0       0

                    8    SEIZE            10000             0       0

                    9    DEPART           10000             0       0

                   10    ADVANCE          10000             0       0

                   11    RELEASE          10000             0       0

                   12    TERMINATE        10000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1               10001    0.798       7.973  1    10001   0    0     0     0

B2               10000    0.600       5.995  1        0   0    0     0     0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   3    0  20001  15110     0.101      0.504      2.060   0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0       99974.589   10001      5      6

 10002    0       99975.330   10002      0      1


6  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ îáðàòíîé ñâÿçüþ

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.5.1

                   Wednesday, December 15, 2010 10:23:37 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         798179.384     7        1          0

              NAME                       VALUE 

          B1                          10000.000

          L_1                             3.000

          L_2                             7.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         79800             0       0

                    2    QUEUE            79800         32845       0

L_1                 3    SEIZE            99679             1       0

                    4    ADVANCE          99678             0       0

                    5    RELEASE          99678             0       0

                    6    TRANSFER         99678         36954       0

L_2                 7    TERMINATE        10000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               99679    1.000       8.007  1    46955    0    0     0   69799

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                79800 79800  79800      0  39916.720 399256.926 399256.926   0

CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 46955    0      469374.841   46955      3      4

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 79801    0      798181.975   79801      0      1

7  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ îáðàòíûìè ñâÿçÿìè è íåñêîëüêèìè óñòðîéñòâàìè

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.6.1

                   Wednesday, December 15, 2010 10:26:07 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         607511.412    19        3          0

              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000

          B3                          10002.000

          L1                              7.000

          L2                             13.000

          L3                              2.000

          L4                             19.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         60751             0       0

L3                  2    QUEUE            69769             0       0

                    3    SEIZE            69769             0       0

                    4    DEPART           69769             0       0

                    5    ADVANCE          69769             0       0

                    6    RELEASE          69769             0       0

L1                  7    QUEUE           161335         59750       0

                    8    SEIZE           101585             0       0

                    9    DEPART          101585             0       0

                   10    ADVANCE         101585             1       0

                   11    RELEASE         101584             0       0

                   12    TRANSFER        101584             0       0

L2                 13    QUEUE            10018             0       0

                   14    SEIZE            10018             0       0

                   15    DEPART           10018             0       0

                   16    ADVANCE          10018             0       0

                   17    RELEASE          10018             0       0

                   18    TRANSFER         10018             0       0

L4                 19    TERMINATE         1000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               69769    0.242       2.109  1        0    0    0     0    0

 B2               101585   1.000       5.980  1    38150    0    0    0 59750

 B3               10018    0.166      10.062  1        0    0    0     0    0

QUEUE             MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

1               59750 59750 241122  73236  29884.081 75293.505 108138.382   0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 38150    0      607513.718   38150     10     11

 60752    0      607520.000   60752      0      1

Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ÑÌÎ ñ âåðîÿòíîñòíûì óçëîì

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.7.1

                   Wednesday, December 15, 2010 10:34:47 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         100163.273    28        4          0

              NAME                       VALUE 

          B1                          10000.000

          B2                          10003.000

          B3                          10001.000

          B4                          10002.000

          L_1                             8.000

          L_2                            18.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10002             0       0

                    2    QUEUE            10002             0       0

                    3    SEIZE            10002             0       0

                    4    DEPART           10002             0       0

                    5    ADVANCE          10002             0       0

                    6    RELEASE          10002             0       0

                    7    TRANSFER         10002             0       0

L_1                 8    QUEUE             2975             0       0

                    9    SEIZE             2975             0       0

                   10    DEPART            2975             0       0

                   11    ADVANCE           2975             1       0

                   12    RELEASE           2974             0       0

                   13    QUEUE             2974             0       0

                   14    SEIZE             2974             0       0

                   15    DEPART            2974             0       0

                   16    ADVANCE           2974             0       0

                   17    RELEASE           2974             0       0

L_2                18    QUEUE            10001             0       0

                   19    SEIZE            10001             0       0

                   20    DEPART           10001             0       0

                   21    ADVANCE          10001             0       0

                   22    RELEASE          10001             0       0

                   23    QUEUE            10001             0       0

                   24    SEIZE            10001             1       0

                   25    DEPART           10000             0       0

                   26    ADVANCE          10000             0       0

                   27    RELEASE          10000             0       0

                   28    TERMINATE        10000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               10002    0.802       8.035  1        0    0    0     0    0

 B3               10001    0.796       7.971  1        0    0    0     0    0

 B4               12975    0.777       5.996  1    10001    0    0     0    0

 B2                2975    0.179       6.032  1    10002    0    0     0    0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   2    0  10002   6398     0.084      0.840      2.331   0

 2                   1    0   2975   2816     0.003      0.108      2.016   0

 3                   5    0  10001   3377     0.536      5.366      8.102   0

 4                   5    1  12975   5439     0.412      3.182      5.479   0

CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0      100144.295   10001     24     25

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10003    0      100166.033   10003      0      1

 10002    0      100168.677   10002     11     12

9  Îäíîêàíàëüíàÿ ðàçîìêíóòàÿ ñìî ñ äâóìÿ âõîäíûìè ïîòîêàìè

Ïîëó÷åííûé îò÷¸ò:

GPSS World Simulation Report - Untitled Model 1.13.1

                   Wednesday, December 15, 2010 10:45:04 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          14938.999    14        1          0

              NAME                       VALUE 

          B1                          10001.000

          OHER1                       10002.000

          OHER2                       10000.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE           497             0       0

                    2    QUEUE              497             0       0

                    3    SEIZE              497             0       0

                    4    DEPART             497             0       0

                    5    ADVANCE            497             0       0

                    6    RELEASE            497             0       0

                    7    TERMINATE          497             0       0

                    8    GENERATE          1000             0       0

                    9    QUEUE             1000             0       0

                   10    SEIZE             1000             0       0

                   11    ADVANCE           1000             0       0

                   12    DEPART            1000             0       0

                   13    RELEASE           1000             0       0

                   14    TERMINATE         1000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                1497    0.258       2.572  1        0    0    0     0     0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 OHER2               2    0   1000      0     0.189      2.823      2.823   0

 OHER1               1    0    497    427     0.015      0.450      3.193   0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

  1499    0       14949.557   1499      0      8

1498       0       14957.992   1498      0      1

10  Ìíîãîêàíàëüíàÿ çàìêíóòàÿ ñìî

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.37.1

                   Wednesday, December 15, 2010 11:58:09 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    20        2          1

              NAME                       VALUE 

          B1                          10001.000

          B2                          10002.000

          COME                           16.000

          KAN1                            5.000

          KAN2                           11.000

          L1                              2.000

          NAK                         10000.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            36             0       0

L1                  2    ADVANCE            526            29       0

                    3    ENTER              497             0       0

                    4    TRANSFER           497             1       0

KAN1                5    SEIZE               96             0       0

                    6    QUEUE               96             0       0

                    7    ADVANCE             96             1       0

                    8    RELEASE             95             0       0

                    9    DEPART              95             0       0

                   10    TRANSFER            95             0       0

KAN2               11    SEIZE              400             0       0

                   12    QUEUE              400             0       0

                   13    ADVANCE            400             1       0

                   14    RELEASE            399             0       0

                   15    DEPART             399             0       0

COME               16    LEAVE              494             0       0

                   17    ADVANCE            494             4       0

                   18    TRANSFER           490             0       0

                   19    GENERATE             1             0       0

                   20    TERMINATE            1             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                 96    0.923       4.616  1       20    0    0     1      0

B2                400    0.832       0.998  1        8    0    0     1      0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    1     96      0     0.923      4.616      4.616   0

 2                   1    1    400      0     0.832      0.998      0.998   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

 NAK                 3    0   0     3      497   1    2.489  0.830    0   18

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

     8    0         480.824      8     13     14

    30    0         480.990     30     17     18

    25    0         481.107     25     17     18

    36    0         481.248     36      2      3

    26    0         481.450     26      2      3

    35    0         482.385     35      2      3

    16    0         482.428     16      2      3

    27    0         482.811     27     17     18

    10    0         483.213     10     17     18

    12    0         483.510     12      2      3

    20    0         484.129     20      7      8

    38    0         484.447     38      0      1

    31    0         485.206     31      2      3

    34    0         487.010     34      2      3

    32    0         488.225     32      2      3

    21    0         489.152     21      2      3

    15    0         493.694     15      2      3

     6    0         498.098      6      2      3

39      0         960.000     39      0     19

11  Ìíîãîêàíàëüíàÿ ðàçîìêíóòàÿ ñìî

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.35.1

                   Wednesday, December 15, 2010 11:28:56 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           9865.175    17        2          1

              NAME                       VALUE 

          B1                          10001.000

          B2                          10002.000

          COME                           15.000

          KAN1                            4.000

          KAN2                           10.000

          NAK                         10000.000

 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

                    2    ENTER             1000             0       0

                    3    TRANSFER          1000             0       0

KAN1                4    SEIZE              712             0       0

                    5    QUEUE              712             0       0

                    6    ADVANCE            712             0       0

                    7    RELEASE            712             0       0

                    8    DEPART             712             0       0

                    9    TRANSFER           712             0       0

KAN2               10    SEIZE              288             0       0

                   11    QUEUE              288             0       0

                   12    ADVANCE            288             0       0

                   13    RELEASE            288             0       0

                   14    DEPART             288             0       0

COME               15    LEAVE             1000             0       0

                   16    ADVANCE           1000             0       0

                   17    TERMINATE         1000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                712    0.300       4.162  1        0    0    0     0      0

B2                288    0.029       1.000  1        0    0    0     0      0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0    712      0     0.300      4.162      4.162   0

 2                   1    0    288      0     0.029      1.000      1.000   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

NAK                 3    3   0     3     1000   1    0.331  0.110    0    0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

1001      0        9906.107   1001      0      1

12  Ìíîãîêàíàëüíàÿ ðàçîìêíóòàÿ ñìî ñ íåñêîëüêèìè óñòðîéñòâàìè

Ïîëó÷åííûé îò÷¸ò:

              GPSS World Simulation Report - Untitled Model 1.36.1

                   Wednesday, December 15, 2010 11:41:57 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          10288.629    27        4          1

              NAME                       VALUE 

          B1                          10003.000

          B2                          10004.000

          CAN1                        10001.000

          CAN2                        10002.000

          COME                           25.000

          KAN1                            4.000

          KAN2                           15.000

          NAK                         10000.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

                    2    ENTER             1000             0       0

                    3    TRANSFER          1000             0       0

KAN1                4    SEIZE              646             0       0

                    5    QUEUE              646             0       0

                    6    ADVANCE            646             0       0

                    7    DEPART             646             0       0

                    8    RELEASE            646             0       0

                    9    QUEUE              646             0       0

                   10    SEIZE              646             0       0

                   11    DEPART             646             0       0

                   12    ADVANCE            646             0       0

                   13    RELEASE            646             0       0

                   14    TRANSFER           646             0       0

KAN2               15    SEIZE              354             0       0

                   16    QUEUE              354             0       0

                   17    ADVANCE            354             0       0

                   18    DEPART             354             0       0

                   19    RELEASE            354             0       0

                   20    QUEUE              354             0       0

                   21    SEIZE              354             0       0

                   22    DEPART             354             0       0

                   23    ADVANCE            354             0       0

                   24    RELEASE            354             0       0

COME               25    LEAVE             1000             0       0

                   26    ADVANCE           1000             0       0

                   27    TERMINATE         1000             0       0

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

CAN1              646    0.503       8.016  1        0    0    0     0      0

CAN2              354    0.341       9.913  1        0    0    0     0      0

B1                646    0.369       5.875  1        0    0    0     0      0

B2                354    0.275       7.982  1        0    0    0     0      0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0    646      0     0.503      8.016      8.016   0

 2                   1    0    646    597     0.007      0.111      1.461   0

 3                   1    0    354      0     0.341      9.913      9.913   0

 4                   1    0    354    334     0.002      0.065      1.146   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

 NAK                 3    3   0     3     1000   1    1.540  0.513    0    0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

  1001    0       10298.607   1001      0      1


Ïðèëîæåíèå B

Ëèñòèíã ïðîãðàììû:

#include "stdafx.h"

#include <iostream>

#include <sstream>

#include <string>

#include <fstream>

#include <vector>

using namespace std;

ofstream file("GPSStext.txt");

class FuncStandart

{

public:

      string fBETA()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(BETA("<<x<<",";

            cout<<"Min (âåùåñòâåííîå, ìåíüøå ÷åì Max): ";

            cin>>x;

            S<<x<<",";

            cout<<"Max (âåùåñòâåííîå, áîëüøå ÷åì Min): ";

            cin>>x;

            S<<x<<",";

            cout<<"Shape1 (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Shape2 (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fBINOMIAL()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(BINOMIAL("<<x<<",";

            cout<<"TrialCount (ïîëîæèòåëüíîå öåëîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Probability (âåùåñòâåííîå îò 0 äî 1): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fDUNIFORM()

      {

            float x;

            ostringstream S;

            cout<<"Strea m(öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(DUNIFORM("<<x<<",";

            cout<<"Min (öåëîå, ìåíüøå ëèáî ðàâíî Max): ";

            cin>>x;

            S<<x<<",";

            cout<<"Max (öåëîå, áîëüøå ëèáî ðàâíî Min): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string f_1()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<x<<",";

            cout<<"Locate (âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Scale (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string f_2()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<x<<",";

            cout<<"Locate (âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Scale (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Shape (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fGEOMETRIC()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(GEOMETRIC("<<x<<",";

            cout<<"Probability (âåùåñòâåííîå îò 0 äî 1): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fNEGBINOM()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(NEGBINOM("<<x<<",";

            cout<<"SuccessCount (ïîëîæèòåëüíîå öåëîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Probability (âåùåñòâåííîå îò 0 äî 1): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fNORMAL()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<"(NORMAL("<<x<<",";

            cout<<"Mean (âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"StdDev (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fPARETO()

      {

            float x;

            ostringstream S;

            cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

            cin>>x;

            S<<x<<",";

            cout<<"Locate (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<",";

            cout<<"Scale (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

            cin>>x;

            S<<x<<"))";

            return S.str();

      }

      string fPEARSON6()

{

      float x;

      ostringstream S;

      cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

      cin>>x;

      S<<"(PEARSON6("<<x<<",";

      cout<<"Locate (âåùåñòâåííîå): ";

      cin>>x;

      S<<x<<",";

      cout<<"Scale (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

      cin>>x;

      S<<x<<",";

      cout<<"Shape1 (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

      cin>>x;

      S<<x<<",";

      cout<<"Shape2 (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

      cin>>x;

      S<<x<<"))";

      return S.str();

}

      string fPOISSON()

{

      float x;

      ostringstream S;

      cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

      cin>>x;

      S<<"(POISSON("<<x<<",";

      cout<<"Mean (ïîëîæèòåëüíîå âåùåñòâåííîå): ";

      cin>>x;

      S<<x<<"))";

      return S.str();

}

      string fTRIANGULAR()

{

      float x;

      ostringstream S;

      cout<<"Stream (öåëîå, áîëüøå ëèáî ðàâíî 1): ";

      cin>>x;

      S<<"(TRIANGULAR("<<x<<",";

      cout<<"Min(âåùåñòâåííîå, ìåíüøå ÷åì Mode): ";

      cin>>x;

      S<<x<<",";

      cout<<"Max(âåùåñòâåííîå, áîëøå ÷åì Mode): ";

      cin>>x;

      S<<x<<",";

      cout<<"Mode(âåùåñòâåííî áîëüøå Min è ìåíüøå Max): ";

      cin>>x;

      S<<x<<"))";

      return S.str();

}

      string fUNIFORM()

{

      float x;

      ostringstream S;

      cout<<"Stream(öåëîå, áîëüøå ëèáî ðàâíî 1): ";

      cin>>x;

      S<<"(UNIFORM("<<x<<",";

      cout<<"Min(âåùåñòâåííîå, ìåíüøå ÷åì Max): ";

      cin>>x;

      S<<x<<",";

      cout<<"Max(âåùåñòâåííîå, áîëøå ÷åì Min): ";

      cin>>x;

      S<<x<<"))";

      return S.str();

}

};

class GPSSOperatori:public FuncStandart

{

public:

      int nF,nST,nFas,nQ;

      string GENERATE()

      {

            int n,k,m,l;

            float x,K,M,L;

            ostringstream S;

            S<<"GENERATE ";

            M7:

            cout<<"Ïðîìåæóòîê âðåìåíè ìåæäó ïîÿâëåíèÿìè òðàíçàêòîâ: \n";

            cout<<"1 - Ïîñòîÿííûé;\n";

            cout<<"2 - Ñëó÷àéíûé;\n";

            cout<<"3 - Çàäàí ôóíêöèåé;\n";

            cout<<"4 - Çàâèñèò îò ôóíêöèè;\n";

            cout<<"5 - Íå çàäàí;\n";

            M1:

            cout<<"Âàø âûáîð:";

            cin>>n;

            switch (n)

            {

            case 1:

                  cout<<"Âðåìÿ ìåæäó ïîÿâëåíèÿìè òðàíçàêòîâ: ";

                  cin>>x;

                  S<<x;

                  break;

            case 2:

                  cout<<"Ñðåäíåå âðåìÿ ìåæäó ïîÿâëåíèÿìè òðàíçàêòîâ: ";

                  cin>>x;

                  S<<x<<",";

                  cout<<"+/-: ";

                  cin>>x;

                  S<<x;

                  break;

            case 3:

                  cout<<"1 - Ñòàíäàðòíàÿ ôóíêöèÿ;\n";

                  cout<<"2 - Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ;\n";

                  M2:

                  cout<<"Âàø âûáîð: ";

                  cin>>k;

                  switch (k)

                  {

                  case 1:

                        S<<FStand();

                        break;

                  case 2:

                        FUNCTION();

                        S<<"FN$F_"<<nF;

                        break;

                  default:

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M2;

                        break;

                  }

                  break;

            case 4:

                  cout<<"Ïîñòîÿííîå çíà÷åíèå, çàâèñÿùåå îò ôóíêöèè: ";

                  cin>>x;

                  S<<x<<",";

                  cout<<"Ôóíêöèÿ:\n";

                  cout<<"1 - Ñòàíäàðòíàÿ ôóíêöèÿ;\n";

                  cout<<"2 - Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ;\n";

                  M3:

                  cout<<"Âàø âûáîð: ";

                  cin>>k;

                  switch (k)

                  {

                  case 1:          

                        S<<FStand();

                        break;

                  case 2:

                        FUNCTION();

                        S<<"FN$F_"<<nF;

                        break;

                  default:

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M3;

                        break;

                  }

                  break;

            case 5:

                  break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

            cout<<"Âðåìÿ çàäåðæêè ïîÿâëåíèÿ ïåðâîãî òðàíçàêòà:\n";

            cout<<"1 - çàäàíî;\n";

            cout<<"2 - íå çàäàíî;\n";

            M4:

            cout<<"Âàø âûáîð: ";

            cin>>k;

            switch(k)

            {

            case 1:

                  cout<<"Âðåìÿ: ";

                  cin>>K;

                  break;

            case 2: break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M4;

                  break;

            }

            cout<<"Ïðåäåëüíîå ÷èñëî òàðàíçàêòîâ:\n";

            cout<<"1 - çàäàíî;\n";

            cout<<"2 - íå çàäàíî;\n";

            M5:

            cout<<"Âàø âûáîð: ";

            cin>>m;

            switch(m)

            {

            case 1:

                  cout<<"Êîëè÷åñòâî òðàíçàêòîâ: ";

                  cin>>M;

                  break;

            case 2: break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M5;

                  break;

            }

            cout<<"Ïðèîðèòåò òðàíçàêòîâ:\n";

            cout<<"1 - çàäàí;\n";

            cout<<"2 - íå çàäàí;\n";

            M6:

            cout<<"Âàø âûáîð: ";

            cin>>l;

            switch(l)

            {

            case 1:

                  cout<<"Ïðèîðèòåò: ";

                  cin>>L;

                  break;

            case 2: break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M6;

                  break;

            }

            if((k==1)||(m==1)||(l==1))

            {

                  if(n%2==1) S<<",,";

                  else S<<",";

                  if((m==1)||(l==1))

                  {

                        if(k==1) S<<K<<",";

                        else S<<",";

                        if(l==1)

                              if(m==1) S<<M<<","<<L;

                              else S<<","<<L;

                        else S<<M;

                  }

                  else S<<K;

            }

            else

                  if(n==5)

                  {

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M7;

                  }

            S<<endl;

            system("cls");

            return S.str();

      }

      string ADVANCE()

      {

            int n,k;

            float x;

            ostringstream S;

            S<<"ADVANCE ";

            cout<<"Âðåìÿ çàäåðæêè òðàíçàêòà: \n";

            cout<<"1 - Ïîñòîÿííîå;\n";

            cout<<"2 - Ñëó÷àéíîå;\n";

            cout<<"3 - Çàäàíî ôóíêöèåé;\n";

            cout<<"4 - Çàâèñèò îò ôóíêöèè;\n";

            M1:

            cout<<"Âàø âûáîð:";

            cin>>n;

            switch (n)

            {

            case 1:

                  cout<<"Âðåìÿ çàäåðæêè: ";

                  cin>>x;

                  S<<x<<endl;

                  break;

            case 2:

                  cout<<"Ñðåäíåå âðåìÿ çàäåðæêè: ";

                  cin>>x;

                  S<<x<<",";

                  cout<<"+/-: ";

                  cin>>x;

                  S<<x<<endl;

                  break;

            case 3:

                  cout<<"1 - Ñòàíäàðòíàÿ ôóíêöèÿ;\n";

                  cout<<"2 - Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ;\n";

                  M2:

                  cout<<"Âàø âûáîð: ";

                  cin>>k;

                  switch (k)

                  {

                  case 1:

                        S<<FStand()<<endl;

                        break;

                  case 2:

                        FUNCTION();

                        S<<"FN$F_"<<nF<<endl;

                        break;

                  default:

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M2;

                        break;

                  }

                  break;

            case 4:

                  cout<<"Ïîñòîÿííîå çíà÷åíèå, çàâèñÿùåå îò ôóíêöèè: ";

                  cin>>x;

                  S<<x<<",";

                  cout<<"Ôóíêöèÿ:\n";

                  cout<<"1 - Ñòàíäàðòíàÿ ôóíêöèÿ;\n";

                  cout<<"2 - Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ;\n";

                  M3:

                  cout<<"Âàø âûáîð: ";

                  cin>>k;

                  switch (k)

                  {

                  case 1:          

                        S<<FStand()<<endl;

                        break;

                  case 2:

                        FUNCTION();

                        S<<"FN$F_"<<nF<<endl;

                        break;

                  default:

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M3;

                        break;

                  }

                  break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

            return S.str();

      }

      string ENTER(int ukaz)

      {

            nST++;

            int n,x;

            ostringstream S,Enter,Advance,Buf;

            if(ukaz!=0) S<<"U_"<<ukaz<<" ";

            cout<<"×èñëî êàíàëîâ: ";

            cin>>x;

            file<<"St_"<<nST<<" STORAGE "<<x<<endl;

            cout<<"×èñëî çàõâà÷èâàåìûõ êàíàëîâ: ";

            cin>>x;

            Enter<<"ENTER St_"<<nST<<","<<x<<endl;

            Advance<<ADVANCE();

            M2:

            cout<<"Ñáîð ñòàòèñòèêè:\n";        

            cout<<"1 - íàõîæäåíèå â î÷åðåäè ïåðåä ÎÓ;\n";

            cout<<"2 - íàõîæäåíèå â ÎÓ;\n";

            cout<<"3 - îáùåå âðåìÿ îáðàáîòêè òðàíçàêòà (1+2);\n";

            cout<<"4 - íå òðåáóåòñÿ;\n";

            M1:

            cout<<"Âàø âûáîð: ";

            cin>>n;

            switch(n)

            {

            case 1:

                  nQ++;

                  Buf<<Enter.str();

                  Enter.str("");

                  Enter<<"QUEUE Q_"<<nQ<<endl<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 2:

                  nQ++;

                  Buf<<Advance.str();

                  Advance.str("");

                  Advance<<"QUEUE Q_"<<nQ<<endl<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 3:

                  nQ++;

                  Buf<<Enter.str();

                  Enter.str("");

                  Enter<<"QUEUE Q_"<<nQ<<endl<<Buf.str();

                  Buf.str("");

                  Buf<<Advance.str();

                  Advance.str("");

                  Advance<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 4:

                  break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

            S<<Enter.str()<<Advance.str()<<"LEAVE St_"<<nST<<","<<x<<endl;

            system("cls");

            return S.str();

      }

      string SEIZE(int ukaz)

      {

            nFas++;

            int n;

            ostringstream S,Seize,Advance,Buf;

            if(ukaz!=0) S<<"U_"<<ukaz<<" ";

            Seize<<"SEIZE F_"<<nFas<<endl;

            Advance<<ADVANCE();

            M2:

            cout<<"Ñáîð ñòàòèñòèêè:\n";        

            cout<<"1 - íàõîæäåíèå â î÷åðåäè ïåðåä ÎÓ;\n";

            cout<<"2 - íàõîæäåíèå â ÎÓ;\n";

            cout<<"3 - îáùåå âðåìÿ îáðàáîòêè òðàíçàêòà (1+2);\n";

            cout<<"4 - íå òðåáóåòñÿ;\n";

            M1:

            cout<<"Âàø âûáîð: ";

            cin>>n;

            switch(n)

            {

            case 1:

                  nQ++;

                  Buf<<Seize.str();

                  Seize.str("");

                  Seize<<"QUEUE Q_"<<nQ<<endl<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 2:

                  nQ++;

                  Buf<<Advance.str();

                  Advance.str("");

                  Advance<<"QUEUE Q_"<<nQ<<endl<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 3:

                  nQ++;

                  Buf<<Seize.str();

                  Seize.str("");

                  Seize<<"QUEUE Q_"<<nQ<<endl<<Buf.str();

                  Buf.str("");

                  Buf<<Advance.str();

                  Advance.str("");

                  Advance<<Buf.str()<<"DEPART Q_"<<nQ<<endl;

                  Buf.str("");

                  goto M2;

                  break;

            case 4:

                  break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

            S<<Seize.str()<<Advance.str()<<"RELEASE F_"<<nFas<<endl;

            system("cls");

            return S.str();

      }

      string TRANSFER(int ukaz,float ver,int uzel1,int uzel2)

      {

            ostringstream S;

            if(ukaz!=0) S<<"U_"<<ukaz<<" ";

            S<<"TRANSFER "<<ver<<",U_"<<uzel2<<",U_"<<uzel1<<endl;

            system("cls");

            return S.str();

      }

      string TERMINATE(int ukaz)

      {

            int x;

            ostringstream S;

            if(ukaz!=0) S<<"U_"<<ukaz<<" ";

            cout<<"Ñêîëüêî òðàçàêòîâ èçâëå÷ü: ";

            cin>>x;

            S<<"TERMINATE "<<x<<endl;

            system("cls");

            return S.str();

      }

      void FUNCTION()

      {

            nF++;

            int n;

            float x;

            cout<<"Íîìåð ãåíåðàòîðà(àðãóìåíò ô-èè): ";

            cin>>n;

            file<<"F_"<<nF<<" FUNCTION RN"<<n<<",";

            cout<<"Òèï ôóíêöèè:\n";

            cout<<"1 - Ñ êóñî÷íî-ëèíåéíîé (íåïðåðûâíîé) àïïðîêñèìàöèåé (Ñ);\n";

            cout<<"2 - Ñ ñòóïåí÷àòîé (äèñêðåòíîé) àïïðîêñèìàöèåé (D);\n";

            cout<<"3 - Òàáëè÷íîå, òî÷å÷íîå çàäàíèå ôóíêöèè áåç àïïðîêñèìàöèè (L);\n";

            cout<<"4 - Çàäàíèå äèñêðåòíîé àòðèáóòèâíîé (E)\n";

            cout<<"5 - Çàäàíèå òàáëè÷íîé àòðèáóòèâíîé (M)\n";

            M1:

            cout<<"Âàø âûáîð: ";

            cin>>n;

            switch (n)

            {

            case 1:file<<"C";break;

            case 2:file<<"D";break;

            case 3:file<<"L";break;

            case 4:file<<"E";break;

            case 5:file<<"M";break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

            cout<<"×èñëî òî÷åê: ";

            cin>>n;

            file<<n<<endl;

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

            {

                  cout<<"X["<<i<<"]=";

                  cin>>x;

                  file<<x<<",";

                  cout<<"Y["<<i<<"]=";

                  cin>>x;

                  file<<x;

                  if(i<n)

                        file<<"/";

            }

            file<<endl;

      }

      string FStand()

      {

            int n;

            string S;

            cout<<"1 - BETA(Stream,Min,Max,Shape1,Shape2);\n";

            cout<<"2 - BINOMIAL(Stream,TrialCount,Probability);\n";

            cout<<"3 - DUNIFORM(Stream,Min,Max);\n";

            cout<<"4 - EXPONENTIAL(Stream,Locate,Scale);\n";

            cout<<"5 - EXTVALA(Stream,Locate,Scale);\n";

            cout<<"6 - EXTVALB(Stream,Locate,Scale);\n";

            cout<<"7 - GAMMA(Stream,Locate,Scale,Shape);\n";

            cout<<"8 - GEOMETRIC(Stream,Probability);\n";

            cout<<"9 - INVGAUSS(Stream,Locate,Scale,Shape);\n";

            cout<<"10 - INVWEIBULL(Stream,Locate,Scale,Shape);\n";

            cout<<"11 - LAPLACE(Stream,Locate,Scale);\n";

            cout<<"12 - LOGISTIC(Stream,Locate,Scale);\n";

            cout<<"13 - LOGLAPLACE(Stream,Locate,Scale,Shape);\n";

            cout<<"14 - LOGLOGIS(Stream,Locate,Scale,Shape);\n";

            cout<<"15 - LOGNORMAL(Stream,Locate,Scale,Shape);\n";

            cout<<"16 - NEGBINOM(Stream,SuccessCount,Probability);\n";

            cout<<"17 - NORMAL(Stream,Mean,StdDev);\n";

            cout<<"18 - PARETO(Stream,Locate,Scale );\n";

            cout<<"19 - PEARSON5(Stream,Locate,Scale,Shape);\n";

            cout<<"20 - PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );\n";

            cout<<"21 - POISSON(Stream,Mean);\n";

            cout<<"22 - TRIANGULAR(Stream,Min,Max,Mode);\n";

            cout<<"23 - UNIFORM(Stream,Min,Max );\n";

            cout<<"24 - WEIBULL(Stream,Locate,Scale,Shape );\n";

            M1:

            cout<<"Âàø âûáîð: ";

            cin>>n;

            switch(n)

            {

            case 1:return fBETA();break;

            case 2:return fBINOMIAL();break;

            case 3:return fDUNIFORM();break;

            case 4:return S="(EXPONENTIAL("+f_1();break;

            case 5:return S="(EXTVALA("+f_1();break;

            case 6:return S="(EXTVALB("+f_1();break;

            case 7:return S="(GAMMA("+f_2();break;

            case 8:return fGEOMETRIC();break;

            case 9:return S="(INVGAUSS("+f_2();break;

            case 10:return S="(INVWEIBULL("+f_2();break;

            case 11:return S="(LAPLACE("+f_1();break;

            case 12:return S="(LOGISTIC("+f_1();break;

            case 13:return S="(LOGLAPLACE("+f_2();break;

            case 14:return S="(LOGLOGIS("+f_2();break;

            case 15:return S="(LOGNORMAL("+f_2();break;

            case 16:return fNEGBINOM();break;

            case 17:return fNORMAL();break;

            case 18:return fPARETO();break;

            case 19:return S="(PEARSON5("+f_2();break;

            case 20:return fPEARSON6();break;

            case 21:return fPOISSON();break;

            case 22:return fTRIANGULAR();break;

            case 23:return fUNIFORM();break;

            case 24:return S="(WEIBULL("+f_2();break;

            default:

                  cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                  goto M1;

                  break;

            }

      }

};

class GPSSText:public GPSSOperatori

{

      vector<int> oper,ukazat;

      vector<float> matrix;

public:

      GPSSText()

      {

            nF=0;nST=0;nFas=0;nQ=0;

      }

      void Matrix()

      {

            int k,n,m,uzel;

            float x;

            cout<<"Êîëè÷åñòâî óçëîâ: ";

            cin>>uzel;

            system("cls");

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

            {

                  M1:

                  cout<<"Ââåäèòå îïåðàòîð "<<i<<" óçëà:\n";

                  cout<<"1 - ãåíåðàòîð;\n";

                  cout<<"2 - îäíîêàíàëüíîå óñòðîéñòâî;\n";

                  cout<<"3 - ìíîãîêàíàëüíîå óñòðîéñòâî;\n";

                  cout<<"4 - âåðîÿòíîñòíûé óçåë;\n";

                  cout<<"5 - òåðìèíàòîð;\n";

                  cout<<"Âàø âûáîð: ";

                  cin>>n;

                  if((n<1)&&(n>5))

                  {

                        cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                        goto M1;

                  }

                  oper.push_back(n);

                  if(n==4)

                  {

                        M2:

                        cout<<"Íà êàêîé óçåë èäåò (ïî âîçðàñòàíèþ): ";

                        cin>>m;

                        if(m>uzel)

                        {

                              cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                              goto M2;

                        }

                        for(int i=1;i<m;i++) matrix.push_back(0);

                        cout<<"Âåðîÿòíîñòü: ";

                        cin>>x;

                        matrix.push_back(x);

                        M3:

                        cout<<"Âòîðîé óçåë: ";

                        cin>>k;

                        if(k>uzel)

                        {

                              cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                              goto M3;

                        }

                        for(int i=m+1;i<k;i++) matrix.push_back(0);

                        matrix.push_back(1-x);

                        for(int i=k+1;i<=uzel;i++) matrix.push_back(0);

                  }

                  else

                  if(n==5)

                        for(int i=0;i<uzel;i++) matrix.push_back(0);

                  else

                  {

                        M4:

                        cout<<"Íà êàêîé óçåë èäåò: ";

                        cin>>m;

                        if(m>uzel)

                        {

                              cout<<"ÂÂåäåíî íåâåðíî!!!\n";

                              goto M4;

                        }

                        for(int i=1;i<m;i++) matrix.push_back(0);

                        matrix.push_back(1);

                        for(int i=m+1;i<=uzel;i++) matrix.push_back(0);

                  }

                  system("cls");

            }

      }

      void Programma()

      {

            int n,uzel1=0,uzel2=0,uzel;

            float ver;

            bool b;

            ostringstream Proga;

            Matrix();

            uzel=oper.size();

            for(int i=0;i<uzel;i++) ukazat.push_back(0);

            Proga<<GENERATE();

            for(int i=0;i<uzel;i++)

            {

                  if(matrix[(uzel-1)*uzel+i]>0)

                        ukazat[i]=i+1;

                  if(ukazat[i]==0)

                        for(int j=i;j<uzel;j++)

                              if(matrix[j*uzel+i]>0)

                                    ukazat[i]=i+1;

            }

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

            {                

                  cout<<"Óçåë "<<i+1<<endl;

                  switch(oper[i])

                  {

                  case 1:

                        break;

                  case 2:

                        Proga<<SEIZE(ukazat[i]);

                        break;

                  case 3:

                        Proga<<ENTER(ukazat[i]);

                        break;

                  case 4:

                        uzel1=0;

                        for(int j=0;j<uzel;j++)

                              if (matrix[i*uzel+j]>0)

                                    if(uzel1==0)

                                    {

                                          uzel1=j+1;

                                          ver=matrix[i*uzel+j];

                                    }

                                    else uzel2=j+1;

                        ukazat[uzel1-1]=uzel1;

                        ukazat[uzel2-1]=uzel2;

                        Proga<<TRANSFER(ukazat[i],ver,uzel1,uzel2);

                        break;

                  case 5:

                        Proga<<TERMINATE(ukazat[i]);

                        break;

                  default: break; 

                  }

                  if(oper[i]!=5)

                  {

                        n=0;

                        for(int j=0;j<uzel;j++)

                              if ((matrix[i*uzel+j]>0))

                                    for(int l=0;l<uzel;l++)

                                    {

                                          if((matrix[l*uzel+j]>0)&&(oper[l]!=4))

                                                n++;

                                          if(n>1)

                                          {

                                                Proga<<"TRANSFER ,U_"<<j+1<<endl;

                                                ukazat[j]=j+1;

                                                n=0;

                                          }

                                    }

                  }

            }

            file<<Proga.str();           

            file.close();

            cout<<"\n\n\n\n\n\n\n\n\t#####################################################\n";

            cout<<"\t##         Ðàáîòà ïðîãðàììû çàêîí÷åíà!             ##\n";

            cout<<"\t## Tåêñò ïðîãðàììû íàõîäèòñÿ â ôàéëå GPSStext.txt! ##\n";

            cout<<"\t#####################################################\n";

      }

};

int main()

{

      setlocale(LC_ALL,"");

      GPSSText T;

      T.Programma();

      system("pause");

      return 0;

}


Ñòðàíèöû: 1, 2, 3


© 2010 ÑÁÎÐÍÈÊ ÐÅÔÅÐÀÒÎÂ