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_0505.BAS < prev    next >
BASIC Source File  |  1991-04-12  |  1KB  |  62 lines

  1. ' Program EX_0505.BAS
  2. ' Listing 10B - 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.              SCHED 0!, NEXTAC, IDE
  24.  
  25.       case NEXTAC
  26.              if server > 0 then
  27.                SCHED 0!, STARTA, IDE
  28.              else
  29.                QUEUE 1, 0!
  30.              end if
  31.  
  32.       case STARTA
  33.              SCHED RN(.66667, .16667), ENDACT, IDE
  34.              server = server - 1
  35.  
  36.       case ENDACT
  37.              TALLY 1, (T - A(1)) * (1 + EX(2))
  38.              DISPOS
  39.              server = server + 1
  40.              if NQ(1) > 0 then
  41.                REMVFQ 1, 1
  42.                SCHED 0!, STARTA, IDE
  43.              end if
  44.  
  45.       end select
  46.     end if
  47.   loop while ecode > 0
  48.  
  49.   title$ = "  "
  50.   SUMRY sadd(title$)
  51.  
  52. sub prime
  53.   server = 1
  54.   id = 0
  55.   INIQUE 1, 1, 1
  56.   SIMEND 24!
  57.   CREATE 0!, 0
  58.   title$ = "Cost                   "
  59.   INISTA 1, sadd(title$), 0, 0, 0!, 0!
  60. end sub
  61.  
  62.