home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 349_01 / sss.arc / EX_0601.BAS < prev    next >
BASIC Source File  |  1991-04-10  |  1KB  |  66 lines

  1. ' Program EX_0601.BAS
  2. ' Listing 12B - see documentation in TUTOR.SSS
  3.  
  4. const ARRIVL = 1, STARTA = 2, ENDACT = 3, NEXTAC = 4
  5.  
  6. common shared id, server, ecode
  7.  
  8. declare sub prime ()
  9.  
  10. rem $include: 'SSSB.H'
  11.  
  12.   call prime
  13.  
  14.   do
  15.     ecode = NEXTEV
  16.     if ecode > 0 then
  17.       select case ecode
  18.  
  19.       case ARRIVL
  20.              id = id + 1
  21.              CREATE EX(1), id
  22.              SETA 1, T
  23.              SETA 2, 1 + EX(2)
  24.              SETA 3, RN(.66667, .16667)
  25.              SCHED 0, NEXTAC, IDE
  26.  
  27.       case NEXTAC
  28.              if server > 0 then
  29.                SCHED 0, STARTA, IDE
  30.              else
  31.                QUEUE 1, A(3) / A(2)
  32.              end if
  33.  
  34.       case STARTA
  35.              SCHED A(3), ENDACT, IDE
  36.              server = server - 1
  37.  
  38.       case ENDACT
  39.              TALLY 1, (T - A(1)) * A(2)
  40.              DISPOS
  41.              server = server + 1
  42.              if NQ(1) > 0 then
  43.                REMVFQ 1, 1
  44.                SCHED 0, STARTA, IDE
  45.              end if
  46.  
  47.       end select
  48.     end if
  49.   loop while ecode > 0
  50.  
  51.   title$ = "  "
  52.   SUMRY sadd(title$)
  53.  
  54. sub prime
  55.   server = 1
  56.   id = 0
  57.   INIQUE 1, 3, 1
  58.   SIMEND 24
  59.   CREATE 0, 0
  60.   title$ = "Cost                   "
  61.   INISTA 1, sadd(title$), 0, 0, 0, 0
  62.   title$ = "SVF     "
  63.   SETQDC 1, sadd(title$)
  64. end sub
  65.  
  66.