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.FOR
< prev
next >
Wrap
Text File
|
1991-04-10
|
2KB
|
72 lines
C Program EX_0601.FOR
C Listing 12F - see documentation in TUTOR.SSS
$include:'SSSF1.H'
subroutine prime
$include:'SSSF2.H'
call INIQUE(1, 3, 1)
call SIMEND(24.0)
call CREATE(0.0, 0)
call inista(1,'Cost ',0, 0, 0, 0)
call SETQDC(1, 'SVF ')
return
end
Program EX_0601
$include:'SSSF2.H'
integer ARRIVL, STARTA, ENDACT, NEXTAC,
+ id, server, ecode
data ARRIVL/1/, STARTA/2/, ENDACT/3/, NEXTAC/4/
data id/0/, server/1/
call prime
99 ecode = NEXTEV()
if (ecode.gt.0) then
goto (101, 102, 103, 104) ecode
C ARRIVL
101 continue
id = id + 1
call CREATE(EX(1.0), id)
call SETA(1, T())
call SETA(2, 1 + EX(2.0))
call SETA(3, RN(.66667, .16667))
call SCHED(0.0, NEXTAC, IDE())
goto 99
C NEXTAC
104 continue
if (server.gt.0) then
call SCHED(0.0, STARTA, IDE())
else
call QUEUE(1, A(3)/A(2))
endif
goto 99
C STARTA
102 continue
call SCHED(A(3), ENDACT, IDE())
server = server - 1
goto 99
C ENDACT
103 continue
call TALLY(1, (T() - A(1))*A(2))
call DISPOS
server = server + 1
if (NQ(1).gt.0) then
call REMVFQ(1, 1)
call SCHED(0.0, STARTA, IDE())
endif
goto 99
else
call SUMRY(' ')
stop 'End of simulation'
endif
end