QUEUES
FILE INFORMATION
FILENAME(S): QUEUES
FILE TYPE(S): PRG
FILE SIZE: 10.4K
FIRST SEEN: 2025-10-19 22:49:31
APPEARS ON: 1 disk(s)
FILE HASH
5d0ceb25eb888fad8edb1d3e0b9ad8c72afc45b850eb52eb5b5bcadeebb3d3a2
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| GOLD DISK 8 | QUEUES | PRG | Radd Maxx | 5 | 2 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 1D 08 01 00 8F 20 28 43 29 31 39 38 35 20 |....... (C)1985 |
00000010: 47 4F 4C 44 20 44 49 53 4B 20 49 4E 43 00 23 08 |GOLD DISK INC.#.|
00000020: 02 00 8F 00 30 08 03 00 8F 20 51 55 45 55 45 53 |....0.... QUEUES|
00000030: 00 36 08 04 00 8F 00 4A 08 05 00 97 20 35 33 32 |.6.....J.... 532|
00000040: 38 31 2C 30 3A 99 22 05 22 3B 00 50 08 06 00 8F |81,0:.".";.P....|
00000050: 00 74 08 07 00 8F 20 20 44 45 46 49 4E 45 20 4E |.t.... DEFINE N|
00000060: 45 43 43 45 53 53 41 52 59 20 46 55 4E 43 54 49 |ECCESSARY FUNCTI|
00000070: 4F 4E 53 3A 00 A5 08 08 00 8F 20 20 46 55 4E 43 |ONS:...... FUNC|
00000080: 54 49 4F 4E 20 54 4F 20 41 44 44 20 54 4F 20 54 |TION TO ADD TO T|
00000090: 48 45 20 43 49 52 43 55 4C 41 52 20 20 20 20 51 |HE CIRCULAR Q|
000000A0: 55 45 55 45 3A 00 CA 08 09 00 96 20 A5 20 41 44 |UEUE:...... . AD|
000000B0: 44 28 58 29 B2 28 58 AA 31 29 AA 28 58 AA 31 B1 |D(X).(X.1).(X.1.|
000000C0: 4E 51 29 AC 28 4E 51 AA 31 29 00 D0 08 0A 00 8F |NQ).(NQ.1)......|
000000D0: 00 08 09 0B 00 8F 20 20 46 55 4E 43 54 49 4F 4E |...... FUNCTION|
000000E0: 20 54 4F 20 44 45 54 45 52 4D 49 4E 45 20 49 46 | TO DETERMINE IF|
000000F0: 20 54 48 45 20 20 20 20 20 20 20 51 55 45 55 45 | THE QUEUE|
00000100: 20 49 53 20 46 55 4C 4C 00 31 09 0C 00 96 20 A5 | IS FULL.1.... .|
00000110: 20 46 55 4C 4C 28 58 29 B2 28 4C 41 B2 46 52 AB | FULL(X).(LA.FR.|
00000120: 31 29 B0 28 46 52 B2 30 20 AF 20 4C 41 B2 4E 51 |1).(FR.0 . LA.NQ|
00000130: 29 00 37 09 0D 00 8F 00 7F 09 0E 00 8F 20 20 4E |).7.......... N|
00000140: 45 58 54 20 57 45 20 48 41 56 45 20 41 20 46 55 |EXT WE HAVE A FU|
00000150: 4E 43 54 49 4F 4E 20 54 4F 20 47 49 56 45 20 20 |NCTION TO GIVE |
00000160: 20 20 52 41 4E 44 4F 4D 20 4E 55 4D 42 45 52 53 | RANDOM NUMBERS|
00000170: 2E 20 54 57 4F 20 46 55 4E 43 54 49 4F 4E 53 00 |. TWO FUNCTIONS.|
00000180: CA 09 0F 00 8F 20 20 41 52 45 20 50 52 4F 56 49 |..... ARE PROVI|
00000190: 44 45 44 2E 20 4F 4E 45 20 55 53 45 53 20 54 48 |DED. ONE USES TH|
000001A0: 45 20 4C 4F 47 20 20 20 20 20 46 55 4E 43 54 49 |E LOG FUNCTI|
000001B0: 4F 4E 20 54 4F 20 59 49 45 4C 44 20 4E 55 4D 42 |ON TO YIELD NUMB|
000001C0: 45 52 53 20 57 49 54 48 20 41 00 11 0A 10 00 8F |ERS WITH A......|
000001D0: 20 20 50 4F 49 53 53 4F 4E 20 44 49 53 54 52 49 | POISSON DISTRI|
000001E0: 42 55 54 49 4F 4E 2E 20 54 48 45 20 4F 54 48 45 |BUTION. THE OTHE|
000001F0: 52 20 20 20 20 59 49 45 4C 44 53 20 55 4E 49 46 |R YIELDS UNIF|
00000200: 4F 52 4D 4C 59 20 44 49 53 54 52 49 42 55 54 45 |ORMLY DISTRIBUTE|
00000210: 44 00 47 0A 11 00 8F 20 20 4E 55 4D 42 45 52 53 |D.G.... NUMBERS|
00000220: 2E 20 4F 4E 4C 59 20 4F 4E 45 20 4D 41 59 20 42 |. ONLY ONE MAY B|
00000230: 45 20 55 53 45 44 20 20 20 20 20 20 41 54 20 41 |E USED AT A|
00000240: 4E 59 20 54 49 4D 45 00 65 0A 12 00 8F 20 44 45 |NY TIME.e.... DE|
00000250: 46 20 46 4E 20 52 41 28 58 29 3D 52 4E 44 28 30 |F FN RA(X)=RND(0|
00000260: 29 2A 58 2A 32 00 7E 0A 13 00 96 20 A5 20 52 41 |)*X*2.~.... . RA|
00000270: 28 58 29 B2 AB 58 AC BC 28 BB 28 30 29 29 00 84 |(X)..X..(.(0))..|
00000280: 0A 14 00 8F 00 CC 0A 15 00 8F 20 20 4E 4F 57 20 |.......... NOW |
00000290: 57 45 20 4D 55 53 54 20 49 4E 49 54 49 41 4C 49 |WE MUST INITIALI|
000002A0: 5A 45 20 54 48 45 20 20 20 20 20 20 20 20 20 43 |ZE THE C|
000002B0: 4F 4E 53 54 41 4E 54 53 2E 20 4F 46 20 49 4D 50 |ONSTANTS. OF IMP|
000002C0: 4F 52 54 41 4E 43 45 20 41 52 45 3A 00 12 0B 16 |ORTANCE ARE:....|
000002D0: 00 8F 20 4E 54 3D 4E 55 4D 42 45 52 20 4F 46 20 |.. NT=NUMBER OF |
000002E0: 54 45 4C 4C 45 52 53 20 20 20 20 20 20 20 20 20 |TELLERS |
000002F0: 20 20 20 20 20 20 20 20 20 20 20 53 41 3D 41 56 | SA=AV|
00000300: 45 52 41 47 45 20 53 45 52 56 49 43 45 20 54 49 |ERAGE SERVICE TI|
00000310: 4D 45 00 5F 0B 17 00 8F 20 41 52 3D 41 56 45 52 |ME._.... AR=AVER|
00000320: 41 47 45 20 41 52 52 49 56 41 4C 20 54 49 4D 45 |AGE ARRIVAL TIME|
00000330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000340: 20 50 41 3D 4C 45 4E 47 54 48 20 4F 46 20 50 41 | PA=LENGTH OF PA|
00000350: 55 53 45 20 41 46 54 45 52 20 50 52 49 4E 54 00 |USE AFTER PRINT.|
00000360: AC 0B 18 00 8F 20 49 51 3D 4E 55 4D 42 45 52 20 |..... IQ=NUMBER |
00000370: 49 4E 49 54 49 41 4C 4C 59 20 49 4E 20 51 55 45 |INITIALLY IN QUE|
00000380: 55 45 20 20 20 20 20 20 20 20 20 20 20 20 4D 58 |UE MX|
00000390: 54 3D 43 4C 4F 53 49 4E 47 20 54 49 4D 45 20 28 |T=CLOSING TIME (|
000003A0: 54 48 45 52 45 20 41 52 45 20 4E 4F 00 F2 0B 19 |THERE ARE NO....|
000003B0: 00 8F 20 20 20 20 20 4E 45 57 20 41 52 52 49 56 |.. NEW ARRIV|
000003C0: 41 4C 53 20 41 46 54 45 52 20 4D 58 54 29 20 20 |ALS AFTER MXT) |
000003D0: 20 20 20 20 20 20 20 20 20 20 20 4E 51 3D 4C 45 | NQ=LE|
000003E0: 4E 47 54 48 20 4F 46 20 54 48 45 20 51 55 45 55 |NGTH OF THE QUEU|
000003F0: 45 2E 00 36 0C 1A 00 4E 51 B2 32 36 3A 20 4E 54 |E..6...NQ.26: NT|
00000400: B2 32 3A 20 53 41 B2 33 3A 20 41 52 B2 31 2E 34 |.2: SA.3: AR.1.4|
00000410: 3A 20 50 41 B2 30 3A 45 4D 50 54 59 B2 39 45 39 |: PA.0:EMPTY.9E9|
00000420: 3A 20 4D 58 54 B2 35 30 20 3A 20 49 51 B2 30 3A |: MXT.50 : IQ.0:|
00000430: 20 5A 5A B2 49 51 00 3C 0C 1B 00 8F 00 7E 0C 1C | ZZ.IQ.<.....~..|
00000440: 00 8F 20 20 49 4E 49 54 49 41 4C 49 5A 45 20 54 |.. INITIALIZE T|
00000450: 48 45 20 56 41 4C 55 45 53 20 55 53 45 44 20 54 |HE VALUES USED T|
00000460: 4F 20 20 20 20 20 20 44 45 54 45 52 4D 49 4E 45 |O DETERMINE|
00000470: 20 54 48 45 20 41 56 45 52 41 47 45 53 2E 00 84 | THE AVERAGES...|
00000480: 0C 1D 00 8F 00 A0 0C 1E 00 51 48 B2 30 3A 20 41 |.........QH.0: A|
00000490: 56 B2 30 3A 20 51 54 B2 30 3A 20 51 4E B2 49 51 |V.0: QT.0: QN.IQ|
000004A0: 00 A6 0C 1F 00 8F 00 EE 0C 20 00 8F 20 20 4E 4F |......... .. NO|
000004B0: 57 20 53 45 54 20 55 50 20 54 48 45 20 4E 45 43 |W SET UP THE NEC|
000004C0: 45 53 53 41 52 59 20 41 52 52 41 59 53 20 20 20 |ESSARY ARRAYS |
000004D0: 20 46 4F 52 20 54 48 45 20 51 55 45 55 45 20 41 | FOR THE QUEUE A|
000004E0: 4E 44 20 54 48 45 20 54 45 4C 4C 45 52 53 00 13 |ND THE TELLERS..|
000004F0: 0D 21 00 8F 20 20 41 4E 44 20 45 4D 50 54 59 20 |.!.. AND EMPTY |
00000500: 54 48 45 20 54 45 4C 4C 45 52 53 20 41 52 52 41 |THE TELLERS ARRA|
00000510: 59 53 2E 00 2D 0D 22 00 86 20 54 45 28 4E 54 29 |YS..-.".. TE(NT)|
00000520: 2C 54 46 28 4E 54 29 2C 51 28 4E 51 29 00 4C 0D |,TF(NT),Q(NQ).L.|
00000530: 23 00 81 20 49 B2 31 20 A4 20 4E 54 3A 20 54 45 |#.. I.1 . NT: TE|
00000540: 28 49 29 B2 45 4D 50 54 59 3A 20 82 00 52 0D 24 |(I).EMPTY: ..R.$|
00000550: 00 8F 00 9A 0D 25 00 8F 20 20 53 45 54 20 54 48 |.....%.. SET TH|
00000560: 45 20 54 57 4F 20 50 4F 49 4E 54 45 52 53 20 49 |E TWO POINTERS I|
00000570: 4E 54 4F 20 54 48 45 20 20 20 20 20 20 51 55 45 |NTO THE QUE|
00000580: 55 45 2C 46 52 20 41 4E 44 20 4C 41 2C 20 54 4F |UE,FR AND LA, TO|
00000590: 20 30 20 41 4E 44 20 54 48 45 00 E1 0D 26 00 8F | 0 AND THE...&..|
000005A0: 20 20 4E 55 4D 42 45 52 20 4F 46 20 50 45 4F 50 | NUMBER OF PEOP|
000005B0: 4C 45 20 49 4E 49 54 49 41 4C 4C 59 20 49 4E 20 |LE INITIALLY IN |
000005C0: 20 20 20 20 20 54 48 45 20 51 55 45 55 45 2E 20 | THE QUEUE. |
000005D0: 53 45 54 20 54 48 45 20 54 49 4D 45 20 54 4F 20 |SET THE TIME TO |
000005E0: 30 00 29 0E 27 00 8F 20 20 41 4E 44 20 54 48 45 |0.).'.. AND THE|
000005F0: 20 54 49 4D 45 20 4F 46 20 4E 45 58 54 20 41 52 | TIME OF NEXT AR|
00000600: 52 49 56 41 4C 20 54 4F 20 20 20 20 30 20 4F 52 |RIVAL TO 0 OR|
00000610: 20 41 20 52 41 4E 44 4F 4D 20 54 49 4D 45 2C 20 | A RANDOM TIME, |
00000620: 44 45 50 45 4E 44 49 4E 47 00 6B 0E 28 00 8F 20 |DEPENDING.k.(.. |
00000630: 20 4F 4E 20 57 48 45 54 48 45 52 20 54 48 45 52 | ON WHETHER THER|
00000640: 45 20 41 52 45 20 41 4E 59 20 50 45 4F 50 4C 45 |E ARE ANY PEOPLE|
00000650: 20 20 20 20 49 4E 20 54 48 45 20 51 55 45 55 45 | IN THE QUEUE|
00000660: 20 49 4E 49 54 49 41 4C 4C 59 2E 00 71 0E 29 00 | INITIALLY..q.).|
00000670: 8F 00 9F 0E 2A 00 46 52 B2 30 3A 20 4C 41 B2 49 |....*.FR.0: LA.I|
00000680: 51 3A 20 54 4D 45 B2 30 3A 20 4E 58 54 B2 AB 28 |Q: TME.0: NXT..(|
00000690: 49 51 B3 B1 30 29 AC A5 20 52 41 28 41 52 29 00 |IQ..0).. RA(AR).|
000006A0: A5 0E 2B 00 8F 00 ED 0E 2C 00 8F 20 20 49 46 20 |..+.....,.. IF |
000006B0: 54 48 45 52 45 20 41 52 45 20 50 45 4F 50 4C 45 |THERE ARE PEOPLE|
000006C0: 20 57 41 49 54 49 4E 47 2C 20 57 45 20 20 20 20 | WAITING, WE |
000006D0: 4D 55 53 54 20 50 55 54 20 54 48 45 4D 20 49 4E |MUST PUT THEM IN|
000006E0: 54 4F 20 54 48 45 20 51 55 45 55 45 2E 00 30 0F |TO THE QUEUE..0.|
000006F0: 2D 00 8F 20 20 54 48 45 59 20 41 52 45 20 49 4E |-.. THEY ARE IN|
00000700: 53 45 52 54 45 44 20 41 54 20 4C 41 53 54 2C 20 |SERTED AT LAST, |
00000710: 20 20 20 20 20 20 20 20 57 48 49 43 48 20 57 41 | WHICH WA|
00000720: 53 20 53 45 54 20 45 41 52 4C 49 45 52 20 54 4F |S SET EARLIER TO|
00000730: 00 65 0F 2E 00 8F 20 20 52 45 46 4C 45 43 54 20 |.e.... REFLECT |
00000740: 54 48 45 20 4E 55 4D 42 45 52 20 57 41 49 54 49 |THE NUMBER WAITI|
00000750: 4E 47 20 41 54 20 20 20 20 20 20 54 48 45 20 53 |NG AT THE S|
00000760: 54 41 52 54 2E 00 6B 0F 2F 00 8F 00 93 0F 30 00 |TART..k./.....0.|
00000770: 8B 20 49 51 B3 B1 30 20 A7 20 81 20 49 B2 46 52 |. IQ..0 . . I.FR|
00000780: 20 A4 20 4C 41 AB 31 3A 51 28 49 29 B2 49 AA 31 | . LA.1:Q(I).I.1|
00000790: 3A 20 82 00 99 0F 31 00 8F 00 BA 0F 32 00 8F 20 |: ....1.....2.. |
000007A0: 20 50 52 49 4E 54 20 4F 55 54 20 41 20 48 45 41 | PRINT OUT A HEA|
000007B0: 44 49 4E 47 53 20 45 54 43 2E 00 C0 0F 33 00 8F |DINGS ETC....3..|
000007C0: 00 F9 0F 34 00 99 22 93 22 3A 20 99 22 0E 0E 08 |...4..".": ."...|
000007D0: 08 22 3A 20 99 22 20 20 20 20 20 20 20 D4 48 45 |.": ." .HE|
000007E0: 20 C7 52 45 41 54 20 C2 41 4E 4B 20 D3 49 4D 55 | .REAT .ANK .IMU|
000007F0: 4C 41 54 49 4F 4E 22 3A 99 00 28 10 35 00 99 22 |LATION":..(.5.."|
00000800: 20 20 D4 48 45 20 44 49 53 50 4C 41 59 20 43 48 | .HE DISPLAY CH|
00000810: 41 4E 47 45 53 20 41 54 20 45 41 43 48 20 4E 45 |ANGES AT EACH NE|
00000820: 57 20 45 56 45 4E 54 22 00 6E 10 36 00 99 22 54 |W EVENT".n.6.."T|
00000830: 48 41 54 20 4F 43 43 55 52 53 2C 20 41 4E 44 20 |HAT OCCURS, AND |
00000840: 54 48 45 20 45 56 45 4E 54 20 49 53 20 48 49 47 |THE EVENT IS HIG|
00000850: 48 2D 22 3A 99 22 4C 49 47 48 54 45 44 2E 20 C1 |H-":."LIGHTED. .|
00000860: 20 53 50 41 43 45 20 49 4E 20 41 20 22 3B 00 AD | SPACE IN A ";..|
00000870: 10 37 00 99 22 54 45 4C 4C 45 52 27 53 20 53 50 |.7.."TELLER'S SP|
00000880: 4F 54 22 3A 99 22 49 4E 44 49 43 41 54 45 53 20 |OT":."INDICATES |
00000890: 54 48 41 54 20 54 48 45 20 54 45 4C 4C 45 52 20 |THAT THE TELLER |
000008A0: 49 53 20 46 52 45 45 2E 22 3A 99 3A 99 00 B3 10 |IS FREE.":.:....|
000008B0: 38 00 8F 00 D9 10 39 00 8F 20 20 50 52 4F 4D 50 |8.....9.. PROMP|
000008C0: 54 20 46 4F 52 20 54 48 45 20 43 41 52 52 49 41 |T FOR THE CARRIA|
000008D0: 47 45 2D 52 45 54 55 52 4E 00 DF 10 3A 00 8F 00 |GE-RETURN...:...|
000008E0: 20 11 3B 00 85 22 D0 52 45 53 53 20 3C C3 D2 3E | .;..".RESS <..>|
000008F0: 20 54 4F 20 42 45 47 49 4E 20 54 48 45 20 53 49 | TO BEGIN THE SI|
00000900: 4D 55 4C 41 54 49 4F 4E 22 3B 41 24 3A 20 99 22 |MULATION";A$: ."|
00000910: 91 22 3B 3A 20 81 20 49 B2 31 20 A4 20 33 35 3A |.";: . I.1 . 35:|
00000920: 00 33 11 3C 00 99 22 20 22 3B 3A 20 82 3A 20 99 |.3.<.." ";: .: .|
00000930: 22 91 22 00 39 11 3D 00 8F 00 6C 11 3E 00 8F 20 |".".9.=...l.>.. |
00000940: 20 50 52 49 4E 54 20 4F 55 54 20 54 48 45 20 48 | PRINT OUT THE H|
00000950: 45 41 44 49 4E 47 20 46 4F 52 20 54 48 45 20 20 |EADING FOR THE |
00000960: 20 20 20 20 44 49 53 50 4C 41 59 2E 00 72 11 3F | DISPLAY..r.?|
00000970: 00 8F 00 89 11 40 00 8B 20 4E 54 B1 32 20 A7 20 |.....@.. NT.2 . |
00000980: 99 20 A6 4E 54 AB 32 29 3B 00 BE 11 41 00 99 22 |. .NT.2);...A.."|
00000990: 20 20 20 20 20 20 D4 45 4C 4C 45 52 22 3A 20 99 | .ELLER": .|
000009A0: 22 20 20 D4 49 4D 45 20 22 3B 3A 81 20 49 B2 31 |" .IME ";:. I.1|
000009B0: 20 A4 20 4E 54 3A 20 41 24 B2 C4 28 49 29 00 DA | . NT: A$..(I)..|
000009C0: 11 42 00 99 20 C8 28 41 24 2C 32 29 3B 3A 82 3A |.B.. .(A$,2);:.:|
000009D0: 99 22 20 20 D1 55 45 55 45 22 00 E0 11 43 00 8F |." .UEUE"...C..|
000009E0: 00 26 12 44 00 8F 20 20 42 45 47 49 4E 20 54 48 |.&.D.. BEGIN TH|
000009F0: 45 20 53 49 4D 55 4C 41 54 49 4F 4E 2E 20 54 48 |E SIMULATION. TH|
00000A00: 49 53 20 49 53 20 20 20 20 20 20 42 45 46 4F 52 |IS IS BEFOR|
00000A10: 45 20 54 48 45 20 4D 41 49 4E 20 4C 4F 4F 50 2C |E THE MAIN LOOP,|
00000A20: 20 53 4F 20 57 45 00 69 12 45 00 8F 20 20 4D 55 | SO WE.i.E.. MU|
00000A30: 53 54 20 48 41 4E 44 4C 45 20 54 48 45 20 50 45 |ST HANDLE THE PE|
00000A40: 4F 50 4C 45 20 49 4E 20 54 48 45 20 20 20 20 20 |OPLE IN THE |
00000A50: 20 51 55 45 55 45 20 41 54 20 54 48 45 20 4F 55 | QUEUE AT THE OU|
00000A60: 54 53 45 54 20 4E 4F 57 2E 00 B1 12 46 00 8F 20 |TSET NOW....F.. |
00000A70: 20 49 46 20 54 48 45 52 45 20 41 52 45 20 4E 4F | IF THERE ARE NO|
00000A80: 4E 45 20 57 41 49 54 49 4E 47 2C 20 54 48 45 4E |NE WAITING, THEN|
00000A90: 20 20 20 20 43 4F 4E 54 49 4E 55 45 20 4F 4E 20 | CONTINUE ON |
00000AA0: 54 4F 20 54 48 45 20 4D 41 49 4E 20 4C 4F 4F 50 |TO THE MAIN LOOP|
00000AB0: 2E 00 B7 12 47 00 8F 00 C7 12 48 00 8B 20 49 51 |....G.....H.. IQ|
00000AC0: B2 30 20 89 20 38 37 00 CD 12 49 00 8F 00 14 13 |.0 . 87...I.....|
00000AD0: 4A 00 8F 20 20 46 49 4E 44 20 54 48 45 20 53 4D |J.. FIND THE SM|
00000AE0: 41 4C 4C 45 52 20 4F 46 20 54 48 45 20 4E 55 4D |ALLER OF THE NUM|
00000AF0: 42 45 52 20 20 20 20 20 4F 46 20 54 45 4C 4C 45 |BER OF TELLE|
00000B00: 52 53 20 41 4E 44 20 54 48 45 20 4E 55 4D 42 45 |RS AND THE NUMBE|
00000B10: 52 20 4F 46 00 5C 13 4B 00 8F 20 20 50 45 4F 50 |R OF.\.K.. PEOP|
00000B20: 4C 45 20 49 4E 49 54 49 41 4C 4C 59 20 49 4E 20 |LE INITIALLY IN |
00000B30: 54 48 45 20 51 55 45 55 45 2E 20 20 20 20 20 44 |THE QUEUE. D|
00000B40: 49 53 50 4C 41 59 20 54 48 45 20 51 55 45 55 45 |ISPLAY THE QUEUE|
00000B50: 20 41 4E 44 20 54 45 4C 4C 45 52 53 00 A1 13 4C | AND TELLERS...L|
00000B60: 00 8F 20 20 41 4E 44 20 54 48 45 4E 20 4D 4F 56 |.. AND THEN MOV|
00000B70: 45 20 50 45 4F 50 4C 45 20 46 52 4F 4D 20 54 48 |E PEOPLE FROM TH|
00000B80: 45 20 20 20 20 20 20 51 55 45 55 45 20 54 4F 20 |E QUEUE TO |
00000B90: 54 48 45 20 54 45 4C 4C 45 52 53 2E 20 54 48 49 |THE TELLERS. THI|
00000BA0: 53 00 E5 13 4D 00 8F 20 20 53 48 4F 55 4C 44 20 |S...M.. SHOULD |
00000BB0: 43 4F 4E 54 49 4E 55 45 20 55 4E 54 49 4C 20 57 |CONTINUE UNTIL W|
00000BC0: 45 20 52 55 4E 20 20 20 20 20 20 20 4F 55 54 20 |E RUN OUT |
00000BD0: 4F 46 20 50 45 4F 50 4C 45 20 4F 52 20 54 45 4C |OF PEOPLE OR TEL|
00000BE0: 4C 45 52 53 2E 00 EB 13 4E 00 8F 00 06 14 4F 00 |LERS....N.....O.|
00000BF0: 55 55 B2 49 51 3A 20 8B 20 4E 54 B3 49 51 20 A7 |UU.IQ: . NT.IQ .|
00000C00: 20 55 55 B2 4E 54 00 26 14 50 00 8D 20 32 30 38 | UU.NT.&.P.. 208|
00000C10: 3A 20 81 20 58 58 B2 31 20 A4 20 55 55 3A 8D 20 |: . XX.1 . UU:. |
00000C20: 31 37 37 3A 20 82 00 2C 14 51 00 8F 00 74 14 52 |177: ..,.Q...t.R|
00000C30: 00 8F 20 20 53 54 41 52 54 20 4F 46 20 54 48 45 |.. START OF THE|
00000C40: 20 4D 41 49 4E 20 4C 4F 4F 50 2E 20 46 49 52 53 | MAIN LOOP. FIRS|
00000C50: 54 20 20 20 20 20 20 57 45 20 44 49 53 50 4C 41 |T WE DISPLA|
00000C60: 59 20 54 48 45 20 57 48 4F 4C 45 20 54 48 49 4E |Y THE WHOLE THIN|
00000C70: 47 20 41 53 00 B8 14 53 00 8F 20 20 49 54 20 49 |G AS...S.. IT I|
00000C80: 53 20 50 52 45 53 45 4E 54 4C 59 2E 20 54 48 45 |S PRESENTLY. THE|
00000C90: 4E 20 57 45 20 47 4F 20 41 4E 44 20 20 20 20 46 |N WE GO AND F|
00000CA0: 49 4E 44 20 54 48 45 20 54 49 4D 45 20 4F 46 20 |IND THE TIME OF |
00000CB0: 54 48 45 20 4E 45 58 54 00 03 15 54 00 8F 20 20 |THE NEXT...T.. |
00000CC0: 49 4E 54 45 52 45 53 54 49 4E 47 20 45 56 45 4E |INTERESTING EVEN|
00000CD0: 54 2E 20 49 46 20 54 48 45 20 4E 45 58 54 20 20 |T. IF THE NEXT |
00000CE0: 20 20 20 45 56 45 4E 54 20 49 53 20 41 54 20 54 | EVENT IS AT T|
00000CF0: 49 4D 45 20 45 4D 50 54 59 2C 20 54 48 45 4E 20 |IME EMPTY, THEN |
00000D00: 54 48 45 00 4C 15 55 00 8F 20 20 53 49 4D 55 4C |THE.L.U.. SIMUL|
00000D10: 41 54 49 4F 4E 20 49 53 20 4F 56 45 52 20 41 4E |ATION IS OVER AN|
00000D20: 44 20 57 45 20 20 20 20 20 20 20 20 20 20 53 48 |D WE SH|
00000D30: 4F 55 4C 44 20 44 49 53 50 4C 41 59 20 54 48 45 |OULD DISPLAY THE|
00000D40: 20 53 54 41 54 49 53 54 49 43 53 2E 00 52 15 56 | STATISTICS..R.V|
00000D50: 00 8F 00 6C 15 57 00 8D 20 32 30 38 3A 20 8D 20 |...l.W.. 208: . |
00000D60: 31 33 36 3A 20 54 4D 45 B2 4D 49 4E 00 82 15 58 |136: TME.MIN...X|
00000D70: 00 8B 20 54 4D 45 B2 45 4D 50 54 59 20 89 20 31 |.. TME.EMPTY . 1|
00000D80: 38 37 00 88 15 59 00 8F 00 CF 15 5A 00 8F 20 20 |87...Y.....Z.. |
00000D90: 54 48 45 52 45 20 41 52 45 20 54 57 4F 20 44 49 |THERE ARE TWO DI|
00000DA0: 46 46 45 52 45 4E 54 20 20 20 20 20 20 20 20 20 |FFERENT |
00000DB0: 20 20 20 43 4F 55 52 53 45 53 20 54 4F 20 54 41 | COURSES TO TA|
00000DC0: 4B 45 20 44 45 50 45 4E 44 49 4E 47 20 4F 4E 00 |KE DEPENDING ON.|
00000DD0: F1 15 5B 00 8F 20 20 57 48 45 54 48 45 52 20 54 |..[.. WHETHER T|
00000DE0: 48 45 20 51 55 45 55 45 20 49 53 20 45 4D 50 54 |HE QUEUE IS EMPT|
00000DF0: 59 00 04 16 5C 00 8B 20 4C 41 B3 B1 46 52 20 89 |Y...\.. LA..FR .|
00000E00: 20 31 31 36 00 0A 16 5D 00 8F 00 52 16 5E 00 8F | 116...]...R.^..|
00000E10: 20 20 54 48 45 20 51 55 45 55 45 20 49 53 20 45 | THE QUEUE IS E|
00000E20: 4D 50 54 59 2E 20 57 45 20 53 45 52 56 49 43 45 |MPTY. WE SERVICE|
00000E30: 20 20 20 20 20 54 48 45 20 45 56 45 4E 54 20 4F | THE EVENT O|
00000E40: 46 20 49 4E 54 45 52 45 53 54 2E 20 49 46 20 54 |F INTEREST. IF T|
00000E50: 48 45 00 9A 16 5F 00 8F 20 20 56 41 52 49 41 42 |HE..._.. VARIAB|
00000E60: 4C 45 20 58 58 20 49 53 20 5A 45 52 4F 2C 20 54 |LE XX IS ZERO, T|
00000E70: 48 45 4E 20 54 48 45 20 20 20 20 20 20 45 56 45 |HEN THE EVE|
00000E80: 4E 54 20 49 53 20 41 20 54 45 4C 4C 45 52 20 46 |NT IS A TELLER F|
00000E90: 49 4E 49 53 48 49 4E 47 20 41 00 E0 16 60 00 8F |INISHING A...`..|
00000EA0: 20 20 43 55 53 54 4F 4D 45 52 2E 20 53 49 4E 43 | CUSTOMER. SINC|
00000EB0: 45 20 54 48 45 20 51 55 45 55 45 20 49 53 20 20 |E THE QUEUE IS |
00000EC0: 20 20 20 20 20 45 4D 50 54 59 2C 20 57 45 20 52 | EMPTY, WE R|
00000ED0: 45 4D 4F 56 45 20 54 48 45 20 50 45 52 53 4F 4E |EMOVE THE PERSON|
00000EE0: 00 29 17 61 00 8F 20 20 46 52 4F 4D 20 54 48 45 |.).a.. FROM THE|
00000EF0: 20 54 45 4C 4C 45 52 27 53 20 53 50 4F 54 2C 20 | TELLER'S SPOT, |
00000F00: 41 4E 44 20 20 20 20 20 20 20 20 4A 55 53 54 20 |AND JUST |
00000F10: 47 4F 20 42 41 43 4B 20 54 4F 20 54 48 45 20 4D |GO BACK TO THE M|
00000F20: 41 49 4E 20 4C 4F 4F 50 2E 00 2F 17 62 00 8F 00 |AIN LOOP../.b...|
00000F30: 49 17 63 00 8B 20 58 58 B3 B1 30 20 A7 20 8D 20 |I.c.. XX..0 . . |
00000F40: 31 34 34 3A 20 89 20 38 37 00 4F 17 64 00 8F 00 |144: . 87.O.d...|
00000F50: 95 17 65 00 8F 20 20 58 58 3D 30 20 4D 45 41 4E |..e.. XX=0 MEAN|
00000F60: 53 20 54 48 41 54 20 41 20 4E 45 57 20 43 55 53 |S THAT A NEW CUS|
00000F70: 54 4F 4D 45 52 20 20 20 20 20 48 41 53 20 41 52 |TOMER HAS AR|
00000F80: 52 49 56 45 44 2C 20 53 4F 20 50 55 54 20 54 48 |RIVED, SO PUT TH|
00000F90: 45 4D 20 49 4E 00 DA 17 66 00 8F 20 20 54 48 45 |EM IN...f.. THE|
00000FA0: 20 28 45 4D 50 54 59 29 20 51 55 45 55 45 2E 20 | (EMPTY) QUEUE. |
00000FB0: 4E 4F 57 20 43 48 45 43 4B 20 20 20 20 20 20 20 |NOW CHECK |
00000FC0: 57 48 45 54 48 45 52 20 4F 52 20 4E 4F 54 20 41 |WHETHER OR NOT A|
00000FD0: 20 54 45 4C 4C 45 52 20 49 53 00 21 18 67 00 8F | TELLER IS.!.g..|
00000FE0: 20 20 46 52 45 45 20 54 4F 20 53 45 52 56 49 43 | FREE TO SERVIC|
00000FF0: 45 20 54 48 45 20 43 55 53 54 4F 4D 45 52 2E 20 |E THE CUSTOMER. |
00001000: 20 20 20 20 20 49 46 20 4F 4E 45 20 49 53 2C 20 | IF ONE IS, |
00001010: 4D 4F 56 45 20 54 48 45 20 43 55 53 54 4F 4D 45 |MOVE THE CUSTOME|
00001020: 52 00 68 18 68 00 8F 20 20 4F 56 45 52 20 54 4F |R.h.h.. OVER TO|
00001030: 20 54 48 45 20 54 45 4C 4C 45 52 2C 20 41 4E 44 | THE TELLER, AND|
00001040: 20 46 4F 52 43 45 20 20 20 20 20 20 41 4E 20 45 | FORCE AN E|
00001050: 41 52 4C 59 20 45 58 49 54 20 46 52 4F 4D 20 54 |ARLY EXIT FROM T|
00001060: 48 45 20 4C 4F 4F 50 2E 00 AB 18 69 00 8F 20 20 |HE LOOP....i.. |
00001070: 46 49 4E 41 4C 4C 59 20 52 45 54 55 52 4E 20 54 |FINALLY RETURN T|
00001080: 4F 20 54 48 45 20 4D 41 49 4E 20 20 20 20 20 20 |O THE MAIN |
00001090: 20 20 20 4C 4F 4F 50 20 46 4F 52 20 54 48 45 20 | LOOP FOR THE |
000010A0: 4E 45 58 54 20 45 56 45 4E 54 2E 00 B1 18 6A 00 |NEXT EVENT....j.|
000010B0: 8F 00 E6 18 6B 00 8D 20 31 34 39 3A 20 81 20 58 |....k.. 149: . X|
000010C0: 58 B2 31 20 A4 20 4E 54 3A 8B 20 54 45 28 58 58 |X.1 . NT:. TE(XX|
000010D0: 29 B2 45 4D 50 54 59 20 A7 20 8D 20 31 37 37 3A |).EMPTY . . 177:|
000010E0: 20 58 58 B2 4E 54 00 F2 18 6C 00 82 3A 20 89 20 | XX.NT...l..: . |
000010F0: 38 37 00 F8 18 6D 00 8F 00 40 19 6E 00 8F 20 20 |87...m...@.n.. |
00001100: 54 48 45 20 51 55 45 55 45 20 49 53 20 4E 4F 54 |THE QUEUE IS NOT|
00001110: 20 45 4D 50 54 59 2E 20 41 47 41 49 4E 20 20 20 | EMPTY. AGAIN |
00001120: 20 20 20 57 45 20 4D 55 53 54 20 44 45 54 45 52 | WE MUST DETER|
00001130: 4D 49 4E 45 20 54 48 45 20 54 59 50 45 20 4F 46 |MINE THE TYPE OF|
00001140: 00 88 19 6F 00 8F 20 20 54 48 45 20 45 56 45 4E |...o.. THE EVEN|
00001150: 54 2E 20 49 46 20 41 20 54 45 4C 4C 45 52 20 48 |T. IF A TELLER H|
00001160: 41 53 20 20 20 20 20 20 20 20 20 46 49 4E 49 53 |AS FINIS|
00001170: 48 45 44 20 53 45 52 56 49 43 49 4E 47 20 41 20 |HED SERVICING A |
00001180: 43 55 53 54 4F 4D 45 52 00 CF 19 70 00 8F 20 20 |CUSTOMER...p.. |
00001190: 54 48 45 4E 20 52 45 4D 4F 56 45 20 54 48 45 20 |THEN REMOVE THE |
000011A0: 43 55 53 54 4F 4D 45 52 20 46 52 4F 4D 20 20 20 |CUSTOMER FROM |
000011B0: 20 20 20 54 48 45 20 54 45 4C 4C 45 52 27 53 20 | THE TELLER'S |
000011C0: 53 50 4F 54 2C 20 42 55 54 20 53 49 4E 43 45 00 |SPOT, BUT SINCE.|
000011D0: 15 1A 71 00 8F 20 20 54 48 45 20 51 55 45 55 45 |..q.. THE QUEUE|
000011E0: 20 49 53 20 4E 4F 54 20 45 4D 50 54 59 2C 20 54 | IS NOT EMPTY, T|
000011F0: 41 4B 45 20 41 20 20 20 20 20 4E 45 57 20 43 55 |AKE A NEW CU|
00001200: 53 54 4F 4D 45 52 20 46 52 4F 4D 20 54 48 45 20 |STOMER FROM THE |
00001210: 51 55 45 55 45 00 4E 1A 72 00 8F 20 20 41 4E 44 |QUEUE.N.r.. AND|
00001220: 20 53 45 52 56 49 43 45 20 54 48 45 4D 2E 20 54 | SERVICE THEM. T|
00001230: 48 45 4E 20 42 41 43 4B 20 54 4F 20 20 20 20 20 |HEN BACK TO |
00001240: 54 48 45 20 4D 41 49 4E 20 4C 4F 4F 50 2E 00 54 |THE MAIN LOOP..T|
00001250: 1A 73 00 8F 00 75 1A 74 00 8B 20 58 58 B3 B1 30 |.s...u.t.. XX..0|
00001260: 20 A7 20 8D 20 31 34 34 3A 20 8D 20 31 37 37 3A | . . 144: . 177:|
00001270: 20 89 20 38 37 00 7B 1A 75 00 8F 00 C2 1A 76 00 | . 87.{.u.....v.|
00001280: 8F 20 20 58 58 3D 30 20 4D 45 41 4E 53 20 54 48 |. XX=0 MEANS TH|
00001290: 41 54 20 54 48 45 52 45 20 49 53 20 41 20 4E 45 |AT THERE IS A NE|
000012A0: 57 20 20 20 20 20 41 52 52 49 56 41 4C 20 54 4F |W ARRIVAL TO|
000012B0: 20 54 48 45 20 51 55 45 55 45 2E 20 57 45 20 41 | THE QUEUE. WE A|
000012C0: 44 44 00 0A 1B 77 00 8F 20 20 54 48 45 20 4E 45 |DD...w.. THE NE|
000012D0: 57 20 41 52 52 49 56 41 4C 2C 20 42 55 54 20 53 |W ARRIVAL, BUT S|
000012E0: 49 4E 43 45 20 54 48 45 20 20 20 20 20 51 55 45 |INCE THE QUE|
000012F0: 55 45 20 49 53 4E 27 54 20 45 4D 50 54 59 2C 20 |UE ISN'T EMPTY, |
00001300: 57 45 20 4E 45 45 44 4E 27 54 00 52 1B 78 00 8F |WE NEEDN'T.R.x..|
00001310: 20 20 43 48 45 43 4B 20 54 48 45 20 54 45 4C 4C | CHECK THE TELL|
00001320: 45 52 53 2E 20 42 41 43 4B 20 54 4F 20 54 48 45 |ERS. BACK TO THE|
00001330: 20 20 20 20 20 4D 41 49 4E 20 4C 4F 4F 50 20 46 | MAIN LOOP F|
00001340: 4F 52 20 54 48 45 20 4E 45 58 54 20 45 56 45 4E |OR THE NEXT EVEN|
00001350: 54 2E 00 58 1B 79 00 8F 00 68 1B 7A 00 8D 20 31 |T..X.y...h.z.. 1|
00001360: 34 39 3A 20 89 20 38 37 00 6E 1B 7B 00 8F 00 B1 |49: . 87.n.{....|
00001370: 1B 7C 00 8F 20 20 54 48 49 53 20 53 55 42 52 4F |.|.. THIS SUBRO|
00001380: 55 54 49 4E 45 20 46 49 4E 44 53 20 54 48 45 20 |UTINE FINDS THE |
00001390: 20 20 20 20 20 20 20 20 20 53 4D 41 4C 4C 45 53 | SMALLES|
000013A0: 54 20 4F 46 20 54 48 45 20 54 49 4D 45 53 20 4F |T OF THE TIMES O|
000013B0: 46 00 F8 1B 7D 00 8F 20 20 43 4F 4D 50 4C 45 54 |F...}.. COMPLET|
000013C0: 49 4F 4E 20 4F 46 20 53 45 52 56 49 43 45 20 46 |ION OF SERVICE F|
000013D0: 4F 52 20 45 41 43 48 20 20 20 20 20 54 45 4C 4C |OR EACH TELL|
000013E0: 45 52 2C 20 41 4E 44 20 54 48 45 20 41 52 52 49 |ER, AND THE ARRI|
000013F0: 56 41 4C 20 54 49 4D 45 00 3E 1C 7E 00 8F 20 20 |VAL TIME.>.~.. |
00001400: 4F 46 20 54 48 45 20 4E 45 58 54 20 43 55 53 54 |OF THE NEXT CUST|
00001410: 4F 4D 45 52 2E 20 54 48 49 53 20 49 53 20 20 20 |OMER. THIS IS |
00001420: 20 20 20 54 48 45 20 4E 45 58 54 20 49 4E 54 45 | THE NEXT INTE|
00001430: 52 45 53 54 49 4E 47 20 45 56 45 4E 54 2E 00 86 |RESTING EVENT...|
00001440: 1C 7F 00 8F 20 20 54 48 45 20 56 41 52 49 41 42 |.... THE VARIAB|
00001450: 4C 45 20 4D 49 4E 20 49 53 20 53 45 54 20 54 4F |LE MIN IS SET TO|
00001460: 20 54 48 45 20 20 20 20 20 53 4D 41 4C 4C 45 53 | THE SMALLES|
00001470: 54 20 4F 46 20 54 48 45 20 54 49 4D 45 53 20 41 |T OF THE TIMES A|
00001480: 4E 44 20 54 48 45 00 CE 1C 80 00 8F 20 20 56 41 |ND THE...... VA|
00001490: 52 49 41 42 4C 45 20 58 58 20 49 53 20 53 45 54 |RIABLE XX IS SET|
000014A0: 20 54 4F 20 30 20 49 46 20 54 48 45 20 20 20 20 | TO 0 IF THE |
000014B0: 20 45 56 45 4E 54 20 49 53 20 41 20 4E 45 57 20 | EVENT IS A NEW |
000014C0: 43 55 53 54 4F 4D 45 52 20 4F 52 20 54 4F 00 16 |CUSTOMER OR TO..|
000014D0: 1D 81 00 8F 20 20 54 48 45 20 4E 55 4D 42 45 52 |.... THE NUMBER|
000014E0: 20 4F 46 20 54 48 45 20 54 45 4C 4C 45 52 20 49 | OF THE TELLER I|
000014F0: 46 20 20 20 20 20 20 20 20 54 48 45 20 45 56 45 |F THE EVE|
00001500: 4E 54 20 49 53 20 41 20 54 45 4C 4C 45 52 20 54 |NT IS A TELLER T|
00001510: 48 41 54 20 49 53 00 27 1D 82 00 8F 20 20 46 49 |HAT IS.'.... FI|
00001520: 4E 49 53 48 45 44 2E 00 6D 1D 83 00 8F 20 20 49 |NISHED..m.... I|
00001530: 4E 49 54 49 41 4C 49 5A 45 20 4D 49 4E 20 54 4F |NITIALIZE MIN TO|
00001540: 20 41 20 4C 41 52 47 45 20 20 20 20 20 20 20 20 | A LARGE |
00001550: 20 20 56 41 4C 55 45 20 41 4E 44 20 54 48 45 4E | VALUE AND THEN|
00001560: 20 4C 4F 4F 50 20 54 48 52 4F 55 47 48 00 B2 1D | LOOP THROUGH...|
00001570: 84 00 8F 20 20 54 48 45 20 54 45 4C 4C 45 52 53 |... THE TELLERS|
00001580: 2C 20 53 45 54 54 49 4E 47 20 4D 49 4E 20 45 51 |, SETTING MIN EQ|
00001590: 55 41 4C 20 20 20 20 20 54 4F 20 41 4E 59 20 4C |UAL TO ANY L|
000015A0: 4F 57 45 52 20 56 41 4C 55 45 2E 20 41 54 20 54 |OWER VALUE. AT T|
000015B0: 48 45 00 F9 1D 85 00 8F 20 20 53 41 4D 45 20 54 |HE...... SAME T|
000015C0: 49 4D 45 2C 20 53 45 54 20 58 58 20 54 4F 20 54 |IME, SET XX TO T|
000015D0: 48 45 20 4C 4F 4F 50 20 20 20 20 20 20 43 4F 55 |HE LOOP COU|
000015E0: 4E 54 45 52 2E 20 54 48 45 4E 20 43 48 45 43 4B |NTER. THEN CHECK|
000015F0: 20 54 48 45 20 54 49 4D 45 00 3F 1E 86 00 8F 20 | THE TIME.?.... |
00001600: 20 4F 46 20 41 52 52 49 56 41 4C 20 4F 46 20 54 | OF ARRIVAL OF T|
00001610: 48 45 20 4E 45 58 54 20 50 45 52 53 4F 4E 20 20 |HE NEXT PERSON |
00001620: 20 20 20 20 41 4E 44 20 52 45 53 45 54 20 4D 49 | AND RESET MI|
00001630: 4E 20 49 46 20 4E 45 43 45 53 53 41 52 59 2E 00 |N IF NECESSARY..|
00001640: 45 1E 87 00 8F 00 7F 1E 88 00 4D 49 4E B2 32 AC |E.........MIN.2.|
00001650: 45 4D 50 54 59 3A 20 81 20 49 B2 31 20 A4 20 4E |EMPTY: . I.1 . N|
00001660: 54 3A 8B 20 54 45 28 49 29 B3 4D 49 4E 20 A7 20 |T:. TE(I).MIN . |
00001670: 4D 49 4E B2 54 45 28 49 29 3A 20 58 58 B2 49 00 |MIN.TE(I): XX.I.|
00001680: 9F 1E 89 00 82 3A 20 8B 20 4E 58 54 B3 4D 49 4E |.....: . NXT.MIN|
00001690: 20 A7 20 4D 49 4E B2 4E 58 54 3A 58 58 B2 30 00 | . MIN.NXT:XX.0.|
000016A0: A5 1E 8A 00 8E 00 AB 1E 8B 00 8F 00 F1 1E 8C 00 |................|
000016B0: 8F 20 20 54 48 49 53 20 53 55 42 52 4F 55 54 49 |. THIS SUBROUTI|
000016C0: 4E 45 20 52 45 4D 4F 56 45 53 20 41 20 20 20 20 |NE REMOVES A |
000016D0: 20 20 20 20 20 20 43 55 53 54 4F 4D 45 52 20 46 | CUSTOMER F|
000016E0: 52 4F 4D 20 41 20 54 45 4C 4C 45 52 2E 20 54 48 |ROM A TELLER. TH|
000016F0: 45 00 33 1F 8D 00 8F 20 20 54 45 4C 4C 45 52 20 |E.3.... TELLER |
00001700: 49 53 20 53 45 54 20 54 4F 20 45 4D 50 54 59 2E |IS SET TO EMPTY.|
00001710: 20 54 48 45 20 20 20 20 20 20 20 20 4E 45 47 41 | THE NEGA|
00001720: 54 49 56 45 20 49 53 20 54 4F 20 54 45 4C 4C 20 |TIVE IS TO TELL |
00001730: 54 48 45 00 76 1F 8E 00 8F 20 20 44 49 53 50 4C |THE.v.... DISPL|
00001740: 41 59 20 52 4F 55 54 49 4E 45 20 54 48 41 54 20 |AY ROUTINE THAT |
00001750: 53 4F 4D 45 54 48 49 4E 47 20 20 20 20 20 48 41 |SOMETHING HA|
00001760: 50 50 45 4E 45 44 20 54 4F 20 54 48 49 53 20 54 |PPENED TO THIS T|
00001770: 45 4C 4C 45 52 2E 00 7C 1F 8F 00 8F 00 91 1F 90 |ELLER..|........|
00001780: 00 54 45 28 58 58 29 B2 AB 45 4D 50 54 59 3A 20 |.TE(XX)..EMPTY: |
00001790: 8E 00 97 1F 91 00 8F 00 D8 1F 92 00 8F 20 20 54 |............. T|
000017A0: 48 49 53 20 53 55 42 52 4F 55 54 49 4E 45 20 41 |HIS SUBROUTINE A|
000017B0: 44 44 53 20 41 20 50 45 52 53 4F 4E 20 20 20 20 |DDS A PERSON |
000017C0: 20 20 54 4F 20 54 48 45 20 43 49 52 43 55 4C 41 | TO THE CIRCULA|
000017D0: 52 20 51 55 45 55 45 2E 00 1E 20 93 00 8F 20 20 |R QUEUE... ... |
000017E0: 46 49 52 53 54 20 4D 41 4B 45 20 53 55 52 45 20 |FIRST MAKE SURE |
000017F0: 54 48 41 54 20 54 48 45 20 51 55 45 55 45 20 20 |THAT THE QUEUE |
00001800: 20 20 20 57 4F 4E 27 54 20 4F 56 45 52 46 4C 4F | WON'T OVERFLO|
00001810: 57 2E 20 49 46 20 49 54 20 57 49 4C 4C 2C 00 3D |W. IF IT WILL,.=|
00001820: 20 94 00 8F 20 20 54 48 45 4E 20 41 42 4F 52 54 | ... THEN ABORT|
00001830: 20 54 48 45 20 50 52 4F 47 52 41 4D 2E 00 6F 20 | THE PROGRAM..o |
00001840: 95 00 8B 20 A5 20 46 55 4C 4C 28 51 29 20 A7 20 |... . FULL(Q) . |
00001850: 99 3A 99 20 22 D1 55 45 55 45 20 CF 56 45 52 46 |.:. ".UEUE .VERF|
00001860: 4C 4F 57 2E 2E 2E C1 C2 CF D2 D4 22 3A 20 90 00 |LOW........": ..|
00001870: 75 20 96 00 8F 00 BB 20 97 00 8F 20 20 41 44 44 |u ..... ... ADD|
00001880: 20 4F 4E 45 20 54 4F 20 54 48 45 20 4E 55 4D 42 | ONE TO THE NUMB|
00001890: 45 52 20 4F 46 20 20 20 20 20 20 20 20 20 20 20 |ER OF |
000018A0: 50 45 4F 50 4C 45 20 54 48 41 54 20 43 41 4D 45 |PEOPLE THAT CAME|
000018B0: 2C 20 41 4E 44 20 50 55 54 20 41 00 02 21 98 00 |, AND PUT A..!..|
000018C0: 8F 20 20 4E 55 4D 42 45 52 20 49 4E 20 54 48 45 |. NUMBER IN THE|
000018D0: 20 51 55 45 55 45 20 54 48 41 54 20 57 49 4C 4C | QUEUE THAT WILL|
000018E0: 20 20 20 20 20 20 44 49 53 54 49 4E 47 55 49 53 | DISTINGUIS|
000018F0: 48 20 54 48 45 20 50 45 52 53 4F 4E 2E 20 45 41 |H THE PERSON. EA|
00001900: 43 48 00 45 21 99 00 8F 20 20 50 45 52 53 4F 4E |CH.E!... PERSON|
00001910: 20 49 53 20 47 49 56 45 4E 20 41 20 4E 55 4D 42 | IS GIVEN A NUMB|
00001920: 45 52 20 54 48 41 54 20 20 20 20 20 20 49 53 20 |ER THAT IS |
00001930: 42 45 54 57 45 45 4E 20 31 20 41 4E 44 20 32 36 |BETWEEN 1 AND 26|
00001940: 2E 20 54 48 45 00 88 21 9A 00 8F 20 20 4E 55 4D |. THE..!... NUM|
00001950: 42 45 52 20 49 53 20 4E 45 47 41 54 49 56 45 20 |BER IS NEGATIVE |
00001960: 49 4E 49 54 49 41 4C 4C 59 20 20 20 20 20 20 20 |INITIALLY |
00001970: 46 4F 52 20 54 48 45 20 44 49 53 50 4C 41 59 20 |FOR THE DISPLAY |
00001980: 52 4F 55 54 49 4E 45 2E 00 CA 21 9B 00 8F 20 20 |ROUTINE...!... |
00001990: 54 48 45 20 4E 55 4D 42 45 52 20 49 53 20 43 59 |THE NUMBER IS CY|
000019A0: 43 4C 45 44 20 41 52 4F 55 4E 44 20 20 20 20 20 |CLED AROUND |
000019B0: 20 20 20 31 2C 32 2C 2E 2E 2E 32 35 2C 32 36 2C | 1,2,...25,26,|
000019C0: 31 2C 32 2E 2E 2E 20 45 54 43 00 D0 21 9C 00 8F |1,2... ETC..!...|
000019D0: 00 0B 22 9D 00 5A 5A B2 5A 5A AA 31 3A 20 51 28 |.."..ZZ.ZZ.1: Q(|
000019E0: 4C 41 29 B2 AB 28 5A 5A AB B5 28 5A 5A AD 32 36 |LA)..(ZZ..(ZZ.26|
000019F0: 29 AC 32 36 29 3A 8B 20 51 28 4C 41 29 B2 30 20 |).26):. Q(LA).0 |
00001A00: A7 20 51 28 4C 41 29 B2 AB 32 36 00 11 22 9E 00 |. Q(LA)..26.."..|
00001A10: 8F 00 54 22 9F 00 8F 20 20 41 44 44 20 4F 4E 45 |..T"... ADD ONE|
00001A20: 20 28 43 49 52 43 55 4C 41 52 4C 59 29 20 54 4F | (CIRCULARLY) TO|
00001A30: 20 54 48 45 20 20 20 20 20 20 20 20 4C 41 53 54 | THE LAST|
00001A40: 20 50 4F 49 4E 54 45 52 2E 20 4D 41 4B 45 20 41 | POINTER. MAKE A|
00001A50: 20 4E 45 57 00 9C 22 A0 00 8F 20 20 52 41 4E 44 | NEW.."... RAND|
00001A60: 4F 4D 20 54 49 4D 45 20 46 4F 52 20 54 48 45 20 |OM TIME FOR THE |
00001A70: 4E 45 58 54 20 20 20 20 20 20 20 20 20 20 20 41 |NEXT A|
00001A80: 52 52 49 56 41 4C 2E 20 53 55 42 54 52 41 43 54 |RRIVAL. SUBTRACT|
00001A90: 20 54 48 45 20 50 52 45 53 45 4E 54 00 E0 22 A1 | THE PRESENT..".|
00001AA0: 00 8F 20 20 54 49 4D 45 20 46 52 4F 4D 20 54 48 |.. TIME FROM TH|
00001AB0: 45 20 51 55 45 55 45 20 54 49 4D 45 2C 20 41 4E |E QUEUE TIME, AN|
00001AC0: 44 20 20 20 20 20 20 41 44 44 20 4F 4E 45 20 54 |D ADD ONE T|
00001AD0: 4F 20 54 48 45 20 43 4F 55 4E 54 45 52 20 4F 46 |O THE COUNTER OF|
00001AE0: 00 22 23 A2 00 8F 20 20 50 45 4F 50 4C 45 20 49 |."#... PEOPLE I|
00001AF0: 4E 20 54 48 45 20 51 55 45 55 45 2E 20 28 54 48 |N THE QUEUE. (TH|
00001B00: 45 53 45 20 20 20 20 20 20 20 20 41 52 45 20 46 |ESE ARE F|
00001B10: 4F 52 20 54 48 45 20 53 54 41 54 49 53 54 49 43 |OR THE STATISTIC|
00001B20: 53 29 00 67 23 A3 00 8F 20 20 49 46 20 54 48 45 |S).g#... IF THE|
00001B30: 20 4E 45 58 54 20 54 49 4D 45 20 4F 46 20 41 52 | NEXT TIME OF AR|
00001B40: 52 49 56 41 4C 20 49 53 20 20 20 20 20 47 52 45 |RIVAL IS GRE|
00001B50: 41 54 45 52 20 54 48 41 4E 20 43 4C 4F 53 49 4E |ATER THAN CLOSIN|
00001B60: 47 20 54 49 4D 45 2C 00 AD 23 A4 00 8F 20 20 54 |G TIME,..#... T|
00001B70: 48 45 4E 20 44 4F 4E 27 54 20 41 4C 4C 4F 57 20 |HEN DON'T ALLOW |
00001B80: 41 4E 59 20 4D 4F 52 45 20 20 20 20 20 20 20 20 |ANY MORE |
00001B90: 20 20 50 45 4F 50 4C 45 20 54 4F 20 41 52 52 49 | PEOPLE TO ARRI|
00001BA0: 56 45 20 42 59 20 53 45 54 54 49 4E 47 00 ED 23 |VE BY SETTING..#|
00001BB0: A5 00 8F 20 20 54 48 45 20 4E 45 58 54 20 41 52 |... THE NEXT AR|
00001BC0: 52 49 56 41 4C 20 54 49 4D 45 20 54 4F 20 20 20 |RIVAL TIME TO |
00001BD0: 20 20 20 20 20 20 20 20 49 4E 46 49 4E 49 54 59 | INFINITY|
00001BE0: 2E 20 54 48 45 4E 20 52 45 54 55 52 4E 00 F3 23 |. THEN RETURN..#|
00001BF0: A6 00 8F 00 29 24 A7 00 4C 41 B2 A5 20 41 44 44 |....)$..LA.. ADD|
00001C00: 28 4C 41 29 3A 20 4E 58 54 B2 4E 58 54 AA A5 20 |(LA): NXT.NXT.. |
00001C10: 52 41 28 41 52 29 3A 51 54 B2 51 54 AB 54 4D 45 |RA(AR):QT.QT.TME|
00001C20: 3A 20 51 4E B2 51 4E AA 31 00 43 24 A8 00 8B 20 |: QN.QN.1.C$... |
00001C30: 4E 58 54 B1 4D 58 54 20 A7 20 4E 58 54 B2 45 4D |NXT.MXT . NXT.EM|
00001C40: 50 54 59 00 49 24 A9 00 8E 00 4F 24 AA 00 8F 00 |PTY.I$....O$....|
00001C50: 96 24 AB 00 8F 20 20 54 48 49 53 20 53 55 42 52 |.$... THIS SUBR|
00001C60: 4F 55 54 49 4E 45 20 4D 4F 56 45 53 20 41 20 50 |OUTINE MOVES A P|
00001C70: 45 52 53 4F 4E 20 20 20 20 20 46 52 4F 4D 20 46 |ERSON FROM F|
00001C80: 52 4F 4E 54 20 4F 46 20 54 48 45 20 51 55 45 55 |RONT OF THE QUEU|
00001C90: 45 20 54 4F 20 41 00 CD 24 AC 00 8F 20 20 54 45 |E TO A..$... TE|
00001CA0: 4C 4C 45 52 2C 20 41 4E 44 20 47 45 4E 45 52 41 |LLER, AND GENERA|
00001CB0: 54 45 53 20 54 48 45 20 54 49 4D 45 20 20 20 20 |TES THE TIME |
00001CC0: 20 46 4F 52 20 53 45 52 56 49 43 45 2E 00 14 25 | FOR SERVICE...%|
00001CD0: AD 00 8F 20 20 4D 4F 56 45 20 54 48 45 20 46 52 |... MOVE THE FR|
00001CE0: 4F 4E 54 20 50 45 52 53 4F 4E 20 54 4F 20 54 48 |ONT PERSON TO TH|
00001CF0: 45 20 20 20 20 20 20 20 54 45 4C 4C 45 52 2E 20 |E TELLER. |
00001D00: 53 45 54 20 54 48 45 20 53 45 52 56 49 43 45 20 |SET THE SERVICE |
00001D10: 54 49 4D 45 00 5C 25 AE 00 8F 20 20 54 4F 20 41 |TIME.\%... TO A|
00001D20: 20 52 41 4E 44 4F 4D 20 4E 55 4D 42 45 52 2E 20 | RANDOM NUMBER. |
00001D30: 41 44 44 20 54 48 45 20 20 20 20 20 20 20 20 53 |ADD THE S|
00001D40: 45 52 56 49 43 45 20 54 49 4D 45 20 54 4F 20 54 |ERVICE TIME TO T|
00001D50: 48 45 20 54 4F 54 41 4C 20 41 4E 44 00 A4 25 AF |HE TOTAL AND..%.|
00001D60: 00 8F 20 20 55 50 44 41 54 45 20 54 48 45 20 46 |.. UPDATE THE F|
00001D70: 52 4F 4E 54 20 50 4F 49 4E 54 45 52 20 54 4F 20 |RONT POINTER TO |
00001D80: 20 20 20 20 20 20 20 54 48 45 20 4E 45 58 54 20 | THE NEXT |
00001D90: 28 43 49 52 43 55 4C 41 52 29 20 50 4F 53 49 54 |(CIRCULAR) POSIT|
00001DA0: 49 4F 4E 2E 00 AA 25 B0 00 8F 00 F1 25 B1 00 54 |ION...%.....%..T|
00001DB0: 46 28 58 58 29 B2 51 28 46 52 29 3A 20 54 45 28 |F(XX).Q(FR): TE(|
00001DC0: 58 58 29 B2 54 4D 45 AA A5 20 52 41 28 53 41 29 |XX).TME.. RA(SA)|
00001DD0: 3A 41 56 45 B2 41 56 45 AA 54 45 28 58 58 29 AB |:AVE.AVE.TE(XX).|
00001DE0: 54 4D 45 3A 20 46 52 B2 A5 20 41 44 44 28 46 52 |TME: FR.. ADD(FR|
00001DF0: 29 00 F7 25 B2 00 8F 00 3E 26 B3 00 8F 20 20 55 |)..%....>&... U|
00001E00: 50 44 41 54 45 20 54 48 45 20 53 54 41 54 49 53 |PDATE THE STATIS|
00001E10: 54 49 43 20 46 4F 52 20 54 49 4D 45 2D 20 20 20 |TIC FOR TIME- |
00001E20: 20 20 49 4E 2D 51 55 45 55 45 20 41 4E 44 20 45 | IN-QUEUE AND E|
00001E30: 4E 53 55 52 45 20 54 48 41 54 20 54 48 45 00 79 |NSURE THAT THE.y|
00001E40: 26 B4 00 8F 20 20 54 45 4C 4C 45 52 20 49 53 20 |&... TELLER IS |
00001E50: 4E 45 47 41 54 49 56 45 20 46 4F 52 20 54 48 45 |NEGATIVE FOR THE|
00001E60: 20 20 20 20 20 20 20 20 20 44 49 53 50 4C 41 59 | DISPLAY|
00001E70: 20 52 4F 55 54 49 4E 45 2E 00 7F 26 B5 00 8F 00 | ROUTINE...&....|
00001E80: AA 26 B6 00 51 54 B2 51 54 AA 54 4D 45 3A 20 8B |.&..QT.QT.TME: .|
00001E90: 20 54 46 28 58 58 29 B1 30 20 A7 20 54 46 28 58 | TF(XX).0 . TF(X|
00001EA0: 58 29 B2 AB 54 46 28 58 58 29 00 B0 26 B7 00 8E |X)..TF(XX)..&...|
00001EB0: 00 B6 26 B8 00 8F 00 F7 26 B9 00 8F 20 20 50 52 |..&.....&... PR|
00001EC0: 49 4E 54 20 4F 55 54 20 54 48 45 20 53 54 41 54 |INT OUT THE STAT|
00001ED0: 49 53 54 49 43 53 20 54 48 41 54 20 20 20 20 20 |ISTICS THAT |
00001EE0: 20 57 45 52 45 20 43 4F 4C 4C 45 43 54 45 44 20 | WERE COLLECTED |
00001EF0: 26 20 53 54 4F 50 2E 00 FD 26 BA 00 8F 00 03 27 |& STOP...&.....'|
00001F00: BB 00 99 00 2A 27 BC 00 99 22 D4 4F 54 41 4C 20 |....*'...".OTAL |
00001F10: 53 45 52 56 49 43 45 20 54 49 4D 45 20 20 20 3D |SERVICE TIME =|
00001F20: 22 41 56 45 22 4D 49 4E 2E 22 00 4A 27 BD 00 99 |"AVE"MIN.".J'...|
00001F30: 22 CE 55 4D 42 45 52 20 4F 46 20 43 55 53 54 4F |".UMBER OF CUSTO|
00001F40: 4D 45 52 53 20 20 3D 22 5A 5A 00 74 27 BE 00 99 |MERS ="ZZ.t'...|
00001F50: 22 C1 56 45 52 41 47 45 20 53 45 52 56 49 43 45 |".VERAGE SERVICE|
00001F60: 20 54 49 4D 45 20 3D 22 41 56 45 AD 5A 5A 22 4D | TIME ="AVE.ZZ"M|
00001F70: 49 4E 2E 22 00 AE 27 BF 00 99 22 D0 45 52 43 45 |IN."..'...".ERCE|
00001F80: 4E 54 41 47 45 20 46 52 45 45 20 54 49 4D 45 20 |NTAGE FREE TIME |
00001F90: 3D 22 28 54 32 AC 4E 54 AB 41 56 45 29 AD 28 54 |="(T2.NT.AVE).(T|
00001FA0: 32 AC 4E 54 29 AC 31 30 30 22 50 43 54 22 00 D7 |2.NT).100"PCT"..|
00001FB0: 27 C0 00 99 22 CD 41 58 49 4D 55 4D 20 51 55 45 |'...".AXIMUM QUE|
00001FC0: 55 45 20 4C 45 4E 47 54 48 20 3D 22 51 48 22 45 |UE LENGTH ="QH"E|
00001FD0: 4E 54 52 49 45 53 22 00 FD 27 C1 00 99 22 D4 4F |NTRIES"..'...".O|
00001FE0: 54 41 4C 20 51 55 45 55 45 20 54 49 4D 45 20 20 |TAL QUEUE TIME |
00001FF0: 20 20 20 3D 22 51 54 22 4D 49 4E 2E 22 00 26 28 | ="QT"MIN.".&(|
00002000: C2 00 99 22 C1 56 45 52 41 47 45 20 51 55 45 55 |...".VERAGE QUEU|
00002010: 45 20 54 49 4D 45 20 20 20 3D 22 51 54 AD 51 4E |E TIME ="QT.QN|
00002020: 22 4D 49 4E 2E 22 00 61 28 C3 00 99 3A 99 22 D3 |"MIN.".a(...:.".|
00002030: 49 4D 55 4C 41 54 49 4F 4E 20 43 4F 4D 50 4C 45 |IMULATION COMPLE|
00002040: 54 45 2E 22 3A 85 22 D0 52 45 53 53 20 3C 43 52 |TE.":.".RESS <CR|
00002050: 3E 20 54 4F 20 43 4F 4E 54 49 4E 55 45 22 3B 41 |> TO CONTINUE";A|
00002060: 24 00 67 28 C4 00 80 00 6D 28 C5 00 8F 00 B4 28 |$.g(....m(.....(|
00002070: C6 00 8F 20 20 54 48 49 53 20 53 55 42 52 4F 55 |... THIS SUBROU|
00002080: 54 49 4E 45 20 44 49 53 50 4C 41 59 53 20 54 48 |TINE DISPLAYS TH|
00002090: 45 20 20 20 20 20 20 20 53 54 41 54 45 20 4F 46 |E STATE OF|
000020A0: 20 54 48 45 20 53 49 4D 55 4C 41 54 49 4F 4E 2E | THE SIMULATION.|
000020B0: 20 54 48 45 00 FA 28 C7 00 8F 20 20 54 49 4D 45 | THE..(... TIME|
000020C0: 20 41 4E 44 20 54 48 45 20 43 4F 4E 54 45 4E 54 | AND THE CONTENT|
000020D0: 53 20 4F 46 20 45 41 43 48 20 20 20 20 20 20 54 |S OF EACH T|
000020E0: 45 4C 4C 45 52 20 41 53 20 57 45 4C 4C 20 41 53 |ELLER AS WELL AS|
000020F0: 20 54 48 45 20 51 55 45 55 45 00 41 29 C8 00 8F | THE QUEUE.A)...|
00002100: 20 20 41 52 45 20 53 48 4F 57 4E 2E 20 41 4E 59 | ARE SHOWN. ANY|
00002110: 20 45 56 45 4E 54 20 54 48 41 54 20 48 41 53 20 | EVENT THAT HAS |
00002120: 20 20 20 20 20 4F 43 43 55 52 52 45 44 20 53 49 | OCCURRED SI|
00002130: 4E 43 45 20 54 48 45 20 4C 41 53 54 20 54 49 4D |NCE THE LAST TIM|
00002140: 45 00 86 29 C9 00 8F 20 20 54 48 45 20 52 4F 55 |E..)... THE ROU|
00002150: 54 49 4E 45 20 57 41 53 20 43 41 4C 4C 45 44 20 |TINE WAS CALLED |
00002160: 49 53 20 20 20 20 20 20 20 20 20 20 53 48 4F 57 |IS SHOW|
00002170: 4E 20 49 4E 20 49 4E 56 45 52 53 45 2D 56 49 44 |N IN INVERSE-VID|
00002180: 45 4F 2C 20 54 4F 00 CC 29 CA 00 8F 20 20 48 49 |EO, TO..)... HI|
00002190: 47 48 2D 4C 49 47 48 54 20 49 54 2E 20 54 48 49 |GH-LIGHT IT. THI|
000021A0: 53 20 52 4F 55 54 49 4E 45 20 20 20 20 20 20 20 |S ROUTINE |
000021B0: 20 52 45 53 45 54 53 20 54 48 45 20 48 49 47 48 | RESETS THE HIGH|
000021C0: 2D 4C 49 47 48 54 20 46 4C 41 47 2E 00 13 2A CB |-LIGHT FLAG...*.|
000021D0: 00 8F 20 20 46 49 52 53 54 20 47 45 54 20 54 48 |.. FIRST GET TH|
000021E0: 45 20 54 49 4D 45 2E 20 57 45 20 57 41 4E 54 20 |E TIME. WE WANT |
000021F0: 20 20 20 20 20 20 20 46 49 56 45 20 43 48 41 52 | FIVE CHAR|
00002200: 41 43 54 45 52 53 20 46 4F 52 20 54 48 45 20 54 |ACTERS FOR THE T|
00002210: 49 4D 45 00 58 2A CC 00 8F 20 20 53 4F 20 57 45 |IME.X*... SO WE|
00002220: 20 4D 55 53 54 20 46 49 4C 4C 20 4F 55 54 20 54 | MUST FILL OUT T|
00002230: 4F 20 35 20 57 49 54 48 20 20 20 20 20 20 42 4C |O 5 WITH BL|
00002240: 41 4E 4B 53 2E 20 54 48 45 20 56 41 52 49 41 42 |ANKS. THE VARIAB|
00002250: 4C 45 20 54 32 20 49 53 00 9E 2A CD 00 8F 20 20 |LE T2 IS..*... |
00002260: 55 53 45 44 20 54 4F 20 43 41 4C 43 55 4C 41 54 |USED TO CALCULAT|
00002270: 45 20 54 48 45 20 54 4F 54 41 4C 20 20 20 20 20 |E THE TOTAL |
00002280: 20 20 20 54 49 4D 45 2E 20 49 46 20 54 48 45 20 | TIME. IF THE |
00002290: 54 49 4D 45 20 49 53 20 30 20 54 48 45 4E 00 D2 |TIME IS 0 THEN..|
000022A0: 2A CE 00 8F 20 20 41 4E 20 45 58 54 52 41 20 4C |*... AN EXTRA L|
000022B0: 45 41 44 49 4E 47 20 42 4C 41 4E 4B 20 49 53 20 |EADING BLANK IS |
000022C0: 20 20 20 20 20 20 20 20 20 52 45 51 55 49 52 45 | REQUIRE|
000022D0: 44 2E 00 D8 2A CF 00 8F 00 EB 2A D0 00 41 24 B2 |D...*.....*..A$.|
000022E0: C8 28 C4 28 54 4D 45 29 2C 35 29 00 15 2B D1 00 |.(.(TME),5)..+..|
000022F0: 81 20 54 B2 31 20 A4 20 35 AB C3 28 41 24 29 3A |. T.1 . 5..(A$):|
00002300: 20 41 24 B2 22 20 22 AA 41 24 3A 20 82 3A 20 54 | A$." ".A$: .: T|
00002310: 32 B2 54 4D 45 00 2D 2B D2 00 8B 20 54 4D 45 B2 |2.TME.-+... TME.|
00002320: 30 20 A7 20 41 24 B2 22 20 22 AA 41 24 00 33 2B |0 . A$." ".A$.3+|
00002330: D3 00 8F 00 78 2B D4 00 8F 20 20 50 52 49 4E 54 |....x+... PRINT|
00002340: 20 53 4F 4D 45 20 43 55 52 53 4F 52 20 43 4F 4E | SOME CURSOR CON|
00002350: 54 52 4F 4C 20 54 4F 20 20 20 20 20 20 20 47 45 |TROL TO GE|
00002360: 54 20 54 4F 20 54 48 45 20 52 49 47 48 54 20 4C |T TO THE RIGHT L|
00002370: 49 4E 45 2C 20 41 4E 44 00 BE 2B D5 00 8F 20 20 |INE, AND..+... |
00002380: 54 48 45 4E 20 50 52 49 4E 54 20 4F 55 54 20 54 |THEN PRINT OUT T|
00002390: 48 45 20 54 49 4D 45 2E 20 20 20 20 20 20 20 20 |HE TIME. |
000023A0: 20 20 20 43 41 4C 43 55 4C 41 54 45 20 54 48 45 | CALCULATE THE|
000023B0: 20 4C 45 4E 47 54 48 20 4F 46 20 54 48 45 00 04 | LENGTH OF THE..|
000023C0: 2C D6 00 8F 20 20 51 55 45 55 45 20 28 3D 4C 41 |,... QUEUE (=LA|
000023D0: 2D 46 52 20 4F 52 20 4C 41 2D 46 52 2B 4E 54 2B |-FR OR LA-FR+NT+|
000023E0: 31 20 20 20 20 20 20 20 20 44 45 50 45 4E 44 49 |1 DEPENDI|
000023F0: 4E 47 20 4F 4E 20 57 48 45 54 48 45 52 20 4C 41 |NG ON WHETHER LA|
00002400: 3E 46 52 29 00 47 2C D7 00 8F 20 20 41 4E 44 20 |>FR).G,... AND |
00002410: 49 46 20 4E 45 43 45 53 53 41 52 59 2C 20 53 45 |IF NECESSARY, SE|
00002420: 54 20 54 48 45 20 20 20 20 20 20 20 20 20 20 4D |T THE M|
00002430: 41 58 49 4D 55 4D 20 51 55 45 55 45 20 4C 45 4E |AXIMUM QUEUE LEN|
00002440: 47 54 48 20 55 50 2E 00 4D 2C D8 00 8F 00 83 2C |GTH UP..M,.....,|
00002450: D9 00 99 20 22 13 11 11 11 11 11 11 11 11 11 11 |... "...........|
00002460: 11 11 22 41 24 22 20 22 3B 3A 4C 51 B2 28 4C 41 |.."A$" ";:LQ.(LA|
00002470: AB 46 52 29 AB 28 4C 41 B3 46 52 29 AC 28 4E 54 |.FR).(LA.FR).(NT|
00002480: AA 31 29 00 97 2C DA 00 8B 20 4C 51 B1 51 48 20 |.1)..,... LQ.QH |
00002490: A7 20 51 48 B2 4C 51 00 9D 2C DB 00 8F 00 E3 2C |. QH.LQ..,.....,|
000024A0: DC 00 8F 20 20 46 4F 52 20 45 41 43 48 20 54 45 |... FOR EACH TE|
000024B0: 4C 4C 45 52 2C 20 43 52 45 41 54 45 20 54 48 45 |LLER, CREATE THE|
000024C0: 20 20 20 20 20 20 20 20 41 50 50 52 4F 50 52 49 | APPROPRI|
000024D0: 41 54 45 20 43 48 41 52 41 43 54 45 52 20 54 4F |ATE CHARACTER TO|
000024E0: 20 42 45 00 14 2D DD 00 8F 20 20 44 49 53 50 4C | BE..-... DISPL|
000024F0: 41 59 45 44 2E 20 41 20 46 52 45 45 20 54 45 4C |AYED. A FREE TEL|
00002500: 4C 45 52 20 49 53 20 41 20 20 20 20 20 20 42 4C |LER IS A BL|
00002510: 41 4E 4B 2E 00 1A 2D DE 00 8F 00 50 2D DF 00 81 |ANK...-....P-...|
00002520: 20 49 B2 31 20 A4 20 4E 54 3A 20 41 24 B2 C7 28 | I.1 . NT: A$..(|
00002530: 54 46 28 49 29 AA 36 34 29 3A 8B 20 54 45 28 49 |TF(I).64):. TE(I|
00002540: 29 B2 45 4D 50 54 59 20 A7 20 41 24 B2 22 20 22 |).EMPTY . A$." "|
00002550: 00 56 2D E0 00 8F 00 9D 2D E1 00 8F 20 20 49 46 |.V-.....-... IF|
00002560: 20 41 20 4E 45 47 41 54 49 56 45 20 4E 55 4D 42 | A NEGATIVE NUMB|
00002570: 45 52 20 49 53 20 46 4F 55 4E 44 2C 20 20 20 20 |ER IS FOUND, |
00002580: 20 54 48 45 4E 20 54 48 45 20 43 48 41 52 41 43 | THEN THE CHARAC|
00002590: 54 45 52 20 53 48 4F 55 4C 44 20 42 45 00 E1 2D |TER SHOULD BE..-|
000025A0: E2 00 8F 20 20 49 4E 20 49 4E 56 45 52 53 45 2D |... IN INVERSE-|
000025B0: 56 49 44 45 4F 2E 20 52 45 43 41 4C 43 55 4C 41 |VIDEO. RECALCULA|
000025C0: 54 45 20 20 20 20 20 20 54 48 45 20 43 48 41 52 |TE THE CHAR|
000025D0: 41 43 54 45 52 20 41 4E 44 20 53 45 54 20 54 48 |ACTER AND SET TH|
000025E0: 45 00 26 2E E3 00 8F 20 20 4E 55 4D 42 45 52 20 |E.&.... NUMBER |
000025F0: 50 4F 53 49 54 49 56 45 20 54 4F 20 50 52 45 56 |POSITIVE TO PREV|
00002600: 45 4E 54 20 20 20 20 20 20 20 20 20 52 45 2D 44 |ENT RE-D|
00002610: 49 53 50 4C 41 59 20 4F 46 20 54 48 45 20 49 4E |ISPLAY OF THE IN|
00002620: 56 45 52 53 45 2E 00 2C 2E E4 00 8F 00 60 2E E5 |VERSE..,.....`..|
00002630: 00 8B 20 54 46 28 49 29 B3 30 20 A7 20 54 46 28 |.. TF(I).0 . TF(|
00002640: 49 29 B2 AB 54 46 28 49 29 3A 41 24 B2 22 12 22 |I)..TF(I):A$."."|
00002650: AA C7 28 54 46 28 49 29 AA 36 34 29 AA 22 92 22 |..(TF(I).64)."."|
00002660: 00 86 2E E6 00 8B 20 54 45 28 49 29 B3 30 20 A7 |...... TE(I).0 .|
00002670: 20 41 24 B2 22 12 20 92 22 3A 54 45 28 49 29 B2 | A$.". .":TE(I).|
00002680: AB 54 45 28 49 29 00 8C 2E E7 00 8F 00 D2 2E E8 |.TE(I)..........|
00002690: 00 8F 20 20 50 52 49 4E 54 20 54 48 45 20 43 48 |.. PRINT THE CH|
000026A0: 41 52 41 43 54 45 52 20 41 4E 44 20 47 4F 20 4F |ARACTER AND GO O|
000026B0: 4E 20 20 20 20 20 20 57 49 54 48 20 54 48 45 20 |N WITH THE |
000026C0: 4C 4F 4F 50 2E 20 54 48 45 4E 20 50 52 49 4E 54 |LOOP. THEN PRINT|
000026D0: 20 41 00 20 2F E9 00 8F 20 20 42 4C 41 4E 4B 20 | A. /... BLANK |
000026E0: 46 4F 52 20 53 50 41 43 49 4E 47 2C 20 26 20 53 |FOR SPACING, & S|
000026F0: 45 54 20 54 48 45 20 20 20 20 20 20 20 4C 4F 4F |ET THE LOO|
00002700: 50 20 43 4F 55 4E 54 45 52 20 54 4F 20 46 49 52 |P COUNTER TO FIR|
00002710: 53 54 20 46 4F 52 20 54 48 45 20 51 55 45 55 45 |ST FOR THE QUEUE|
00002720: 00 3D 2F EA 00 99 20 22 20 22 41 24 3B 3A 20 82 |.=/... " "A$;: .|
00002730: 3A 99 22 20 20 22 3B 3A 20 49 B2 46 52 00 43 2F |:." ";: I.FR.C/|
00002740: EB 00 8F 00 89 2F EC 00 8F 20 20 49 46 20 57 45 |...../... IF WE|
00002750: 20 41 52 45 20 41 54 20 54 48 45 20 45 4E 44 20 | ARE AT THE END |
00002760: 4F 46 20 54 48 45 20 20 20 20 20 20 20 20 51 55 |OF THE QU|
00002770: 45 55 45 2C 20 54 48 45 4E 20 50 52 49 4E 54 20 |EUE, THEN PRINT |
00002780: 4E 54 20 42 4C 41 4E 4B 53 00 D0 2F ED 00 8F 20 |NT BLANKS../... |
00002790: 20 28 54 4F 20 43 4C 45 41 52 20 4F 55 54 20 41 | (TO CLEAR OUT A|
000027A0: 4E 59 20 54 48 41 54 20 48 41 56 45 20 20 20 20 |NY THAT HAVE |
000027B0: 20 20 20 20 42 45 45 4E 20 54 52 41 4E 53 46 45 | BEEN TRANSFE|
000027C0: 52 52 45 44 20 54 4F 20 54 45 4C 4C 45 52 53 29 |RRED TO TELLERS)|
000027D0: 00 EE 2F EE 00 8F 20 20 54 48 45 4E 20 50 41 55 |../... THEN PAU|
000027E0: 53 45 20 41 4E 44 20 52 45 54 55 52 4E 2E 00 12 |SE AND RETURN...|
000027F0: 30 EF 00 8B 20 49 B2 4C 41 20 A7 20 81 20 4B B2 |0... I.LA . . K.|
00002800: 31 20 A4 20 4E 54 3A 99 22 20 22 3B 3A 20 82 3A |1 . NT:." ";: .:|
00002810: 20 99 00 2F 30 F0 00 8B 20 49 B2 4C 41 20 A7 20 | ../0... I.LA . |
00002820: 81 20 49 B2 31 20 A4 20 50 41 3A 20 82 3A 8E 00 |. I.1 . PA: .:..|
00002830: 35 30 F1 00 8F 00 7B 30 F2 00 8F 20 20 47 45 54 |50....{0... GET|
00002840: 20 54 48 45 20 43 48 41 52 41 43 54 45 52 20 4F | THE CHARACTER O|
00002850: 46 20 54 48 45 20 51 55 45 55 45 20 20 20 20 20 |F THE QUEUE |
00002860: 45 4E 54 52 59 2E 20 49 46 20 4E 45 47 41 54 49 |ENTRY. IF NEGATI|
00002870: 56 45 2C 20 54 48 45 4E 20 57 45 00 BD 30 F3 00 |VE, THEN WE..0..|
00002880: 8F 20 20 52 45 53 45 54 20 54 48 45 20 45 4E 54 |. RESET THE ENT|
00002890: 52 59 20 54 4F 20 50 4F 53 49 54 49 56 45 20 20 |RY TO POSITIVE |
000028A0: 20 20 20 20 20 20 41 4E 44 20 44 49 53 50 4C 41 | AND DISPLA|
000028B0: 59 20 54 48 45 20 43 4F 52 52 45 43 54 00 04 31 |Y THE CORRECT..1|
000028C0: F4 00 8F 20 20 43 48 41 52 41 43 54 45 52 20 49 |... CHARACTER I|
000028D0: 4E 20 49 4E 56 45 52 53 45 2D 56 49 44 45 4F 2E |N INVERSE-VIDEO.|
000028E0: 20 20 20 20 20 20 20 20 50 52 49 4E 54 20 54 48 | PRINT TH|
000028F0: 45 20 43 48 41 52 41 43 54 45 52 20 41 4E 44 20 |E CHARACTER AND |
00002900: 4C 4F 4F 50 00 38 31 F5 00 8F 20 20 43 49 52 43 |LOOP.81... CIRC|
00002910: 55 4C 41 52 4C 59 20 28 55 53 45 20 54 48 45 20 |ULARLY (USE THE |
00002920: 41 44 44 20 20 20 20 20 20 20 20 20 20 20 20 46 |ADD F|
00002930: 55 4E 43 54 49 4F 4E 29 00 3E 31 F6 00 8F 00 50 |UNCTION).>1....P|
00002940: 31 F7 00 41 24 B2 C7 28 51 28 49 29 AA 36 34 29 |1..A$..(Q(I).64)|
00002950: 00 80 31 F8 00 8B 20 51 28 49 29 B3 30 20 A7 20 |..1... Q(I).0 . |
00002960: 51 28 49 29 B2 AB 51 28 49 29 3A 41 24 B2 22 12 |Q(I)..Q(I):A$.".|
00002970: 22 AA C7 28 51 28 49 29 AA 36 34 29 AA 22 92 22 |"..(Q(I).64)."."|
00002980: 00 9D 31 F9 00 99 20 41 24 3B 3A 20 49 B2 A5 20 |..1... A$;: I.. |
00002990: 41 44 44 28 49 29 3A 20 89 20 32 33 39 00 00 00 |ADD(I): . 239...|
....... (C)1985 GOLD DISK INC.#.....0...
. QUEUES.6.....J.... 53281,0:.".";.P....
.T.... DEFINE NECCESSARY FUNCTIONS:....
.. FUNCTION TO ADD TO THE CIRCULAR Q
UEUE:.J.... . ADD(X).(X.1).(X.1.NQ).(NQ.
1).P.......... FUNCTION TO DETERMINE IF
THE QUEUE IS FULL.1.... . FULL(X)
.(LA.FR.1).(FR.0 . LA.NQ).7......... N
EXT WE HAVE A FUNCTION TO GIVE RANDOM
NUMBERS. TWO FUNCTIONS.J.... ARE PROVI
DED. ONE USES THE LOG FUNCTION TO YI
ELD NUMBERS WITH A...... POISSON DISTRI
BUTION. THE OTHER YIELDS UNIFORMLY DI
STRIBUTED.G.... NUMBERS. ONLY ONE MAY B
E USED AT ANY TIME.E.... DEF FN RA(
X)=RND(0)*X*2.~.... . RA(X)..X..(.(0))..
.....L.... NOW WE MUST INITIALIZE THE
CONSTANTS. OF IMPORTANCE ARE:....
.. NT=NUMBER OF TELLERS
SA=AVERAGE SERVICE TIME._.... AR=AVER
AGE ARRIVAL TIME PA=LENG
TH OF PAUSE AFTER PRINT...... IQ=NUMBER
INITIALLY IN QUEUE MXT=CLOSIN
G TIME (THERE ARE NO...... NEW ARRIV
ALS AFTER MXT) NQ=LENGTH OF
THE QUEUE..6...NQ.26: NT.2: SA.3: AR.1.4
: PA.0:EMPTY.9E9: MXT.50 : IQ.0: ZZ.IQ.<
.....~.... INITIALIZE THE VALUES USED T
O DETERMINE THE AVERAGES........ ..
.QH.0: AV.0: QT.0: QN.IQ......... .. NO
W SET UP THE NECESSARY ARRAYS FOR THE
QUEUE AND THE TELLERS...!.. AND EMPTY
THE TELLERS ARRAYS..-.".. TE(NT),TF(NT),
Q(NQ).L.#.. I.1 . NT: TE(I).EMPTY: ..R.$
.....%.. SET THE TWO POINTERS INTO THE
QUEUE,FR AND LA, TO 0 AND THE...&..
NUMBER OF PEOPLE INITIALLY IN THE
QUEUE. SET THE TIME TO 0.).'.. AND THE
TIME OF NEXT ARRIVAL TO 0 OR A RANDO
M TIME, DEPENDING.K.(.. ON WHETHER THER
E ARE ANY PEOPLE IN THE QUEUE INITIAL
LY..Q.).....*.FR.0: LA.IQ: TME.0: NXT..(
IQ..0).. RA(AR)...+.....,.. IF THERE AR
E PEOPLE WAITING, WE MUST PUT THEM IN
TO THE QUEUE..0.-.. THEY ARE INSERTED A
T LAST, WHICH WAS SET EARLIER TO
.E.... REFLECT THE NUMBER WAITING AT
THE START..K./.....0.. IQ..0 . . I.FR
. LA.1:Q(I).I.1: ....1.....2.. PRINT O
UT A HEADINGS ETC....3.....4..".": ."...
.": ." THE GREAT BANK SIMULATION":
..(.5.." THE DISPLAY CHANGES AT EACH NE
W EVENT".N.6.."THAT OCCURS, AND THE EVEN
T IS HIGH-":."LIGHTED. A SPACE IN A ";..
.7.."TELLER'S SPOT":."INDICATES THAT THE
TELLER IS FREE.":.:....8...Y.9.. PROMP
T FOR THE CARRIAGE-RETURN...:... .;.."PR
ESS <CR> TO BEGIN THE SIMULATION";A$: ."
.";: . I.1 . 35:.3.<.." ";: .: .".".9.=.
..L.>.. PRINT OUT THE HEADING FOR THE
DISPLAY..R.?.....@.. NT.2 . . .NT.2)
;...A.." TELLER": ." TIME ";:. I.1
. NT: A$.D(I).Z.B.. H(A$,2);:.:." QUEU
E"...C...&.D.. BEGIN THE SIMULATION. TH
IS IS BEFORE THE MAIN LOOP, SO WE.I
.E.. MUST HANDLE THE PEOPLE IN THE
QUEUE AT THE OUTSET NOW....F.. IF THER
E ARE NONE WAITING, THEN CONTINUE ON
TO THE MAIN LOOP....G...G.H.. IQ.0 . 87.
M.I.....J.. FIND THE SMALLER OF THE NUM
BER OF TELLERS AND THE NUMBER OF.\.K
.. PEOPLE INITIALLY IN THE QUEUE. D
ISPLAY THE QUEUE AND TELLERS...L.. AND
THEN MOVE PEOPLE FROM THE QUEUE TO
THE TELLERS. THIS...M.. SHOULD CONTINUE
UNTIL WE RUN OUT OF PEOPLE OR TEL
LERS....N.....O.UU.IQ: . NT.IQ . UU.NT.&
.P.. 208: . XX.1 . UU:. 177: ..,.Q...T.R
.. START OF THE MAIN LOOP. FIRST W
E DISPLAY THE WHOLE THING AS...S.. IT I
S PRESENTLY. THEN WE GO AND FIND THE
TIME OF THE NEXT...T.. INTERESTING EVEN
T. IF THE NEXT EVENT IS AT TIME EMPT
Y, THEN THE.L.U.. SIMULATION IS OVER AN
D WE SHOULD DISPLAY THE STATIST
ICS..R.V...L.W.. 208: . 136: TME.MIN...X
.. TME.EMPTY . 187...Y...O.Z.. THERE AR
E TWO DIFFERENT COURSES TO TA
KE DEPENDING ON...[.. WHETHER THE QUEUE
IS EMPTY...\.. LA..FR . 116...]...R.^..
THE QUEUE IS EMPTY. WE SERVICE THE
EVENT OF INTEREST. IF THE..._.. VARIAB
LE XX IS ZERO, THEN THE EVENT IS A
TELLER FINISHING A...`.. CUSTOMER. SINC
E THE QUEUE IS EMPTY, WE REMOVE TH
E PERSON.).A.. FROM THE TELLER'S SPOT,
AND JUST GO BACK TO THE MAIN LOOP
../.B...I.C.. XX..0 . . 144: . 87.O.D...
..E.. XX=0 MEANS THAT A NEW CUSTOMER
HAS ARRIVED, SO PUT THEM IN.Z.F.. THE
(EMPTY) QUEUE. NOW CHECK WHETHER
OR NOT A TELLER IS.!.G.. FREE TO SERVIC
E THE CUSTOMER. IF ONE IS, MOVE THE
CUSTOMER.H.H.. OVER TO THE TELLER, AND
FORCE AN EARLY EXIT FROM THE LOOP.
...I.. FINALLY RETURN TO THE MAIN
LOOP FOR THE NEXT EVENT....J.....K..
149: . XX.1 . NT:. TE(XX).EMPTY . . 177:
XX.NT...L..: . 87...M...@.N.. THE QUEU
E IS NOT EMPTY. AGAIN WE MUST DETER
MINE THE TYPE OF...O.. THE EVENT. IF A
TELLER HAS FINISHED SERVICING A
CUSTOMER.O.P.. THEN REMOVE THE CUSTOMER
FROM THE TELLER'S SPOT, BUT SINCE.
..Q.. THE QUEUE IS NOT EMPTY, TAKE A
NEW CUSTOMER FROM THE QUEUE.N.R.. AND
SERVICE THEM. THEN BACK TO THE MAIN
LOOP..T.S...U.T.. XX..0 . . 144: . 177:
. 87.{.U...B.V.. XX=0 MEANS THAT THERE
IS A NEW ARRIVAL TO THE QUEUE. WE A
DD...W.. THE NEW ARRIVAL, BUT SINCE THE
QUEUE ISN'T EMPTY, WE NEEDN'T.R.X..
CHECK THE TELLERS. BACK TO THE MAI
N LOOP FOR THE NEXT EVENT..X.Y...H.Z.. 1
49: . 87.N.{.....|.. THIS SUBROUTINE FI
NDS THE SMALLEST OF THE TIMES O
F...}.. COMPLETION OF SERVICE FOR EACH
TELLER, AND THE ARRIVAL TIME.>.~..
OF THE NEXT CUSTOMER. THIS IS THE N
EXT INTERESTING EVENT...... THE VARIAB
LE MIN IS SET TO THE SMALLEST OF THE
TIMES AND THE.N.... VARIABLE XX IS SET
TO 0 IF THE EVENT IS A NEW CUSTOMER
OR TO...... THE NUMBER OF THE TELLER I
F THE EVENT IS A TELLER THAT IS.'
.... FINISHED..M.... INITIALIZE MIN TO
A LARGE VALUE AND THEN LOOP TH
ROUGH...... THE TELLERS, SETTING MIN EQ
UAL TO ANY LOWER VALUE. AT THE......
SAME TIME, SET XX TO THE LOOP COU
NTER. THEN CHECK THE TIME.?.... OF ARRI
VAL OF THE NEXT PERSON AND RESET MI
N IF NECESSARY..E........MIN.2.EMPTY: .
I.1 . NT:. TE(I).MIN . MIN.TE(I): XX.I.
.....: . NXT.MIN . MIN.NXT:XX.0.........
......... THIS SUBROUTINE REMOVES A
CUSTOMER FROM A TELLER. THE.3....
TELLER IS SET TO EMPTY. THE NEGA
TIVE IS TO TELL THE.V.... DISPLAY ROUTI
NE THAT SOMETHING HAPPENED TO THIS T
ELLER..|.........TE(XX)..EMPTY: ........
X.... THIS SUBROUTINE ADDS A PERSON
TO THE CIRCULAR QUEUE... ... FIRST MA
KE SURE THAT THE QUEUE WON'T OVERFLO
W. IF IT WILL,.= ... THEN ABORT THE PRO
GRAM..O ... . FULL(Q) . .:. "QUEUE OVERF
LOW...ABORT": ..U ..... ... ADD ONE TO
THE NUMBER OF PEOPLE THAT CAME
, AND PUT A..!... NUMBER IN THE QUEUE T
HAT WILL DISTINGUISH THE PERSON. EA
CH.E!... PERSON IS GIVEN A NUMBER THAT
IS BETWEEN 1 AND 26. THE..!... NUM
BER IS NEGATIVE INITIALLY FOR THE
DISPLAY ROUTINE..J!... THE NUMBER IS CY
CLED AROUND 1,2,...25,26,1,2... E
TC.P!....."..ZZ.ZZ.1: Q(LA)..(ZZ..(ZZ.26
).26):. Q(LA).0 . Q(LA)..26.."....T"...
ADD ONE (CIRCULARLY) TO THE LAST
POINTER. MAKE A NEW.." .. RANDOM TIME
FOR THE NEXT ARRIVAL. SUBTRACT
THE PRESENT.."... TIME FROM THE QUEUE
TIME, AND ADD ONE TO THE COUNTER OF
."#... PEOPLE IN THE QUEUE. (THESE
ARE FOR THE STATISTICS).G#... IF THE
NEXT TIME OF ARRIVAL IS GREATER THA
N CLOSING TIME,..#... THEN DON'T ALLOW
ANY MORE PEOPLE TO ARRIVE BY SE
TTING..#... THE NEXT ARRIVAL TIME TO
INFINITY. THEN RETURN..#....)$..
LA.. ADD(LA): NXT.NXT.. RA(AR):QT.QT.TME
: QN.QN.1.C$... NXT.MXT . NXT.EMPTY.I$..
..O$.....$... THIS SUBROUTINE MOVES A P
ERSON FROM FRONT OF THE QUEUE TO A.M
$... TELLER, AND GENERATES THE TIME
FOR SERVICE...%... MOVE THE FRONT PERS
ON TO THE TELLER. SET THE SERVICE
TIME.\%... TO A RANDOM NUMBER. ADD THE
SERVICE TIME TO THE TOTAL AND..%.
.. UPDATE THE FRONT POINTER TO T
HE NEXT (CIRCULAR) POSITION...%.....%..T
F(XX).Q(FR): TE(XX).TME.. RA(SA):AVE.AVE
.TE(XX).TME: FR.. ADD(FR)..%....>&... U
PDATE THE STATISTIC FOR TIME- IN-QUE
UE AND ENSURE THAT THE.Y&... TELLER IS
NEGATIVE FOR THE DISPLAY ROUTINE
..&.....&..QT.QT.TME: . TF(XX).0 . TF(X
X)..TF(XX)..&.....&.....&... PRINT OUT
THE STATISTICS THAT WERE COLLECTED
& STOP...&.....'....*'..."TOTAL SERVICE
TIME ="AVE"MIN.".J'..."NUMBER OF CUSTO
MERS ="ZZ.T'..."AVERAGE SERVICE TIME ="
AVE.ZZ"MIN."..'..."PERCENTAGE FREE TIME
="(T2.NT.AVE).(T2.NT).100"PCT".W'..."MAX
IMUM QUEUE LENGTH ="QH"ENTRIES"..'A.."TO
TAL QUEUE TIME ="QT"MIN.".&(B.."AVER
AGE QUEUE TIME ="QT.QN"MIN.".A(C..:."S
IMULATION COMPLETE.":."PRESS <CR> TO CON
TINUE";A$.G(D...M(E....(F.. THIS SUBROU
TINE DISPLAYS THE STATE OF THE SIM
ULATION. THE..(G.. TIME AND THE CONTENT
S OF EACH TELLER AS WELL AS THE QUE
UE.A)H.. ARE SHOWN. ANY EVENT THAT HAS
OCCURRED SINCE THE LAST TIME..)I..
THE ROUTINE WAS CALLED IS SHOW
N IN INVERSE-VIDEO, TO.L)J.. HIGH-LIGHT
IT. THIS ROUTINE RESETS THE HIGH
-LIGHT FLAG...*K.. FIRST GET THE TIME.
WE WANT FIVE CHARACTERS FOR THE T
IME.X*L.. SO WE MUST FILL OUT TO 5 WITH
BLANKS. THE VARIABLE T2 IS..*M..
USED TO CALCULATE THE TOTAL TIME.
IF THE TIME IS 0 THEN.R*N.. AN EXTRA L
EADING BLANK IS REQUIRED..X*O..
..*P.A$.H(D(TME),5)..+Q.. T.1 . 5.C(A$):
A$." ".A$: .: T2.TME.-+R.. TME.0 . A$."
".A$.3+S...X+T.. PRINT SOME CURSOR CON
TROL TO GET TO THE RIGHT LINE, AND
..+U.. THEN PRINT OUT THE TIME.
CALCULATE THE LENGTH OF THE..,V.. QU
EUE (=LA-FR OR LA-FR+NT+1 DEPENDI
NG ON WHETHER LA>FR).G,W.. AND IF NECES
SARY, SET THE MAXIMUM QUEUE LEN
GTH UP..M,X....,Y.. "............."A$" "
;:LQ.(LA.FR).(LA.FR).(NT.1)..,Z.. LQ.QH
. QH.LQ..,.....,... FOR EACH TELLER, CR
EATE THE APPROPRIATE CHARACTER TO
BE..-... DISPLAYED. A FREE TELLER IS A
BLANK...-....P-... I.1 . NT: A$.G(
TF(I).64):. TE(I).EMPTY . A$." ".V-.....
-... IF A NEGATIVE NUMBER IS FOUND,
THEN THE CHARACTER SHOULD BE..-... IN
INVERSE-VIDEO. RECALCULATE THE CHAR
ACTER AND SET THE.&.... NUMBER POSITIVE
TO PREVENT RE-DISPLAY OF THE IN
VERSE..,.....`.... TF(I).0 . TF(I)..TF(I
):A$.".".G(TF(I).64)."."...... TE(I).0 .
A$.". .":TE(I)..TE(I).......R.... PRIN
T THE CHARACTER AND GO ON WITH THE
LOOP. THEN PRINT A. /... BLANK FOR SPAC
ING, & SET THE LOOP COUNTER TO FIR
ST FOR THE QUEUE.=/... " "A$;: .:." ";:
I.FR.C/...../... IF WE ARE AT THE END
OF THE QUEUE, THEN PRINT NT BLANK
S.P/... (TO CLEAR OUT ANY THAT HAVE
BEEN TRANSFERRED TO TELLERS)../...
THEN PAUSE AND RETURN...0... I.LA . . K.
1 . NT:." ";: .: ../0... I.LA . . I.1 .
PA: .:..50....{0... GET THE CHARACTER O
F THE QUEUE ENTRY. IF NEGATIVE, THEN
WE..0... RESET THE ENTRY TO POSITIVE
AND DISPLAY THE CORRECT..1... CHA
RACTER IN INVERSE-VIDEO. PRINT TH
E CHARACTER AND LOOP.81... CIRCULARLY (
USE THE ADD FUNCTION).>1....P
1..A$.G(Q(I).64)..1... Q(I).0 . Q(I)..Q(
I):A$.".".G(Q(I).64)."."..1... A$;: I..
ADD(I): . 239...
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL