1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-03 17:56:13 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

397 lines
31 KiB
Plaintext

BEGIN MAPS 001
COMMENT MANPOWER SCHEDULING -- PRECEDENCE FACTOR METHOD, MAPS 002
ONE SKILL. MAPS 003
ROBIN T OLLIVIER MAPS 004
PROFESSIONAL SERVICES GROUP MAPS 005
BURROUGHS CORPORATION MAPS 006
CARD SEQUENCE BEGINS AT MAPS-0001 MAPS 007
FIRST RELEASE 3-15-63 ; MAPS 008
MAPS 009
BOOLEAN PCS1 ; MAPS 010
MAPS 011
REAL M,MINNO,N,PROJSTART,L ; MAPS 012
MAPS 013
ALPHA ARRAY NAMEP[0:13] ; MAPS 014
MAPS 015
FILE IN DATA1(1,15) ; MAPS 016
FORMAT IN FORM1(13A6,X2/3I10,X4,L5) ; MAPS 017
READ(DATA1,FORM1,FOR L ~ 1 STEP 1 UNTIL 13 DO NAMEP[L], MAPS 018
N,PROJSTART,MINNO,PCS1) ; MAPS 019
MAPS 020
M ~ N DIV 2 ; MAPS 021
BEGIN MAPS 022
REAL A,B,C,CLOCK,D,E,G,H,I,J,JM,K,KJ,L,LOW,MAXMEN,MENUSE, MAPS 023
NEXTIME,PASS,PH,POOL,PROJEND,SLK,SMIN,WMIN,WR,HIGH ; MAPS 024
MAPS 025
INTEGER Z ; MAPS 026
MAPS 027
BOOLEAN SW1,SW2,SW3,SW4 ; MAPS 028
MAPS 029
REAL ARRAY FINIS,ET,ES,LFT,EST,STAR[0:N],NIN,NOUT,FLAG1,FLAG2,Q[0:N],MAPS 030
TI[0: N],JOB[0:N,0:3],DOJOB[0:M],HOLD[0:M DIV 2] ; MAPS 031
MAPS 032
LABEL M1,M2,M3,M4,M5,M6,M7,M8,M9, VECS,SORT,NETAN ; MAPS 033
MAPS 034
FORMAT IN FORM2(A6,X4,4(I8,X2)) ; MAPS 035
MAPS 036
FILE OUT1 1 (1,15) ; COMMENT TEMPORARY REPLACEMENT ; MAPSTEMP
MAPS 038
FORMAT OUT FORM3(X17,I4,"-",I5,X4 ,I6,X5,9(A6,X1)/(X42,9(A6,X1) )) , MAPS 039
MAPS 040
FORM4(X20,"PERIOD",X8 ,"MEN JOBS IN PROGRESS"//I1),MAPS 041
FORM5(/X9,"PASS",I4,"-",I3//I1) , MAPS 042
FORM6(X20,A6,X2,2I8,I6,X2,A6,I4,I8) , MAPS 043
FORM7(X23,"JOB START / FINISH COMMENT"/I1) , MAPS 044
FORM8(X19,"MEN USED THIS PASS",I8I1) , MAPS 045
ERROR1(X45,"RANGE EXCEEDED. SEE CONSTRAINT NO.",I4,I1) , MAPS 046
ERROR2(X45,"JOB",A6," CRITICAL. PREDECESSOR NOT DONE",I1);MAPS 047
MAPS 048
LIST L1(CLOCK,NEXTIME,MENUSE,FOR L ~ 1 STEP 1 UNTIL A DO MAPS 049
JOB[DOJOB[L],1]) , MAPS 050
L2(JOB[I,1],STAR[I],FINIS[I],FLAG1[I],Z,FLAG2[I]) , MAPS 051
L3(JOB[I,1],STAR[I],FINIS[I]) , MAPS 052
L11(JOB[I,1],JOB[I,2],JOB[I,3],NIN[I],NOUT[I]) ; MAPS 053
FOR I ~ 1 STEP 1 UNTIL N DO READ(DATA1,FORM2,L11) ; MAPS 054
G ~ M ; KJ ~ JM ~ 9999999999 ; PASS ~ 1 ; MAPS 055
LOW ~ POOL ~ PH ~ 0 ; SW4 ~ FALSE ; MAPS 056
MAPS 057
COMMENT THIS ROUTINE COMPUTES EST, LFT, AND PROJECT END TIME. ; MAPS 058
MAPS 059
NETAN: BEGIN MAPS 060
REAL IK,JK,MX,MN ; MAPS 061
MAPS 062
REAL ARRAY TE[0:N] ; MAPS 063
MAPS 064
FORMAT OUT FORMN(X20,"PROJECT NAME ",13A6//X20,"NETWORK ANALYSIS"//MAPS 065
X20, "CRITICAL TIME",I6,X4,"AVERAGE NUMBER OF MEN ", MAPS 066
"REQUIRED",F8.2//X7,2(X12,"NAME",X5,"MEN DURATION",MAPS 067
" EST LFT")/(X7,2(X10,A6,4I8))) ; MAPS 068
MAPS 069
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 070
BEGIN MAPS 071
ET[I] ~ JOB[I,3] ; TE[I] ~ TI[I] ~ 0 ; MAPS 072
NIN[I] ~ NIN[I] - MINNO + 1; NOUT[I] ~ NOUT[I]-MINNO+1 ;MAPS 073
END ; MAPS 074
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 075
BEGIN MAPS 076
IK ~ NIN[I] ; JK ~ NOUT[I] ; MX ~ TI[IK] + ET[I] ; MAPS 077
IF (TI[JK] = 0) OR (TI[JK] < MX) THEN TI[JK] ~ MX MAPS 078
END ; MAPS 079
PROJEND ~ TE[NOUT[N]] ~ TI[NOUT[N]] ; MAPS 080
FOR I ~ N STEP -1 UNTIL 1 DO MAPS 081
BEGIN MAPS 082
IK ~ NIN[I] ; JK ~ NOUT[I] ; MN ~ TE[JK] - ET[I] ; MAPS 083
IF (TE[IK] = 0) OR (TE[IK] > MN) THEN TE[IK] ~ MN MAPS 084
END ; MAPS 085
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 086
BEGIN MAPS 087
LOW ~ LOW + JOB[I,2] | JOB[I,3] ; MAPS 088
ES[I] ~ TI[NIN[I]] + PROJSTART ; LFT[I] ~ TE[NOUT[I]] MAPS 089
END ; MAPS 090
LOW ~ ENTIER(LOW / (PROJEND - PROJSTART)) - 1 ; MAPS 091
WRITE(OUT1, FORMN, FOR L ~ 1 STEP 1 UNTIL 13 DO MAPS 092
NAMEP[L],PROJEND,LOW,FOR L ~ 1 STEP 1 UNTIL N DO MAPS 093
[JOB[L,1],JOB[L,2],JOB[L,3],ES[L],LFT[L]]) MAPS 094
END ; MAPS 095
MAPS 096
M1: NEXTIME ~ PROJSTART ; MAXMEN ~ 0 ; SW2 ~ TRUE ; MAPS 097
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 098
BEGIN MAPS 099
FINIS[I] ~ FLAG1[I] ~ FLAG2[I] ~ 0 ; JOB[I,1].[9:3] ~ 0 ;MAPS 100
STAR[I] ~ -1 ; EST[I] ~ ES [I] ; ET[I] ~ JOB[I,3] MAPS 101
END ; MAPS 102
IF SW4 THEN MAPS 103
BEGIN MAPS 104
PH ~ PH + 1 ; WRITE(OUT1[PAGE],FORM5,PASS-1,PH) ; MAPS 105
WRITE(OUT1,FORM4) MAPS 106
END ; MAPS 107
M2: CLOCK ~ NEXTIME ; SW1 ~ FALSE ; MAPS 108
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 109
IF ET[I] > 0 THEN MAPS 110
BEGIN MAPS 111
IF EST[I] < CLOCK THEN EST[I] ~ CLOCK ; MAPS 112
Q[I] ~ LFT[I] + EST[I] MAPS 113
END ; MAPS 114
M3: MENUSE ~ A ~ 0 ; SW3 ~ FALSE ; WMIN ~ 9999 ; E ~ H ~ G+1 ;MAPS 115
MAPS 116
COMMENT SORT BY LEAST Q. WITHIN Q BY EST. ; MAPS 117
MAPS 118
IF SW2 THEN MAPS 119
SORT: BEGIN MAPS 120
REAL M,TEM,V,VM ; MAPS 121
MAPS 122
LABEL S1,S2,S3,S4,S5 ; MAPS 123
MAPS 124
M ~ N ; MAPS 125
S1: M ~ M DIV 2 ; MAPS 126
IF M ! 0 THEN MAPS 127
BEGIN MAPS 128
J ~ N - M ; K ~ 1 ; MAPS 129
S2: V ~ K ; MAPS 130
S3: VM ~ V + M ; MAPS 131
IF Q[V] > Q[VM] THEN GO TO S4 ; MAPS 132
IF Q[V] < Q[VM] THEN GO TO S5 ; MAPS 133
IF EST[V] > EST[VM] THEN GO TO S4 ; MAPS 134
GO TO S5 ; MAPS 135
S4: FOR I ~ 1 STEP 1 UNTIL 3 DO MAPS 136
BEGIN MAPS 137
TEM ~ JOB[V,I]; JOB[V,I] ~ JOB[VM,I]; JOB[VM,I] ~ TEM MAPS 138
END ; MAPS 139
TEM ~ ES[V] ; ES[V] ~ ES[VM] ; ES[VM] ~ TEM ; MAPS 140
TEM ~ NIN[V] ; NIN[V] ~ NIN[VM] ; NIN[VM] ~ TEM ; MAPS 141
TEM ~ ET[V] ; ET[V] ~ ET[VM] ; ET[VM] ~ TEM ; MAPS 142
TEM ~ Q[V] ; Q[V] ~ Q[VM] ; Q[VM] ~ TEM ; MAPS 143
TEM ~ EST[V] ; EST[V] ~ EST[VM] ; EST[VM] ~ TEM ; MAPS 144
TEM ~ LFT[V] ; LFT[V] ~ LFT[VM] ; LFT[VM] ~ TEM ; MAPS 145
TEM ~ NOUT[V] ; NOUT[V] ~ NOUT[VM] ; NOUT[VM] ~ TEM ; MAPS 146
TEM ~ STAR[V] ; STAR[V] ~ STAR[VM] ; STAR[VM] ~ TEM ; MAPS 147
TEM ~ FLAG1[V] ; FLAG1[V] ~ FLAG1[VM] ; FLAG1[VM] ~ TEM ;MAPS 148
TEM ~ FLAG2[V] ; FLAG2[V] ~ FLAG2[VM] ; FLAG2[VM] ~ TEM ;MAPS 149
TEM ~ FINIS[V] ; FINIS[V] ~ FINIS[VM] ; FINIS[VM] ~ TEM ;MAPS 150
V ~ V - M ; MAPS 151
IF V } 1 THEN GO TO S3 ; MAPS 152
S5: K ~ K + 1 ; MAPS 153
IF K > J THEN GO TO S1 ; MAPS 154
GO TO S2 ; MAPS 155
END END ; MAPS 156
SW2 ~ FALSE ; MAPS 157
MAPS 158
COMMENT FIND STARTABLE JOBS. CHECK PREDECESSORS FOR COMPLETION. ;MAPS 159
MAPS 160
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 161
IF (EST[I] = CLOCK) AND (ET[I] > 0) THEN MAPS 162
BEGIN MAPS 163
SLK ~ LFT[I] - ET[I] - CLOCK ; MAPS 164
FOR J ~ 1 STEP 1 UNTIL N DO MAPS 165
IF (NOUT[J] = NIN[I]) AND (ET[J] ! 0) THEN MAPS 166
BEGIN MAPS 167
FLAG2[I] ~ 9999 ; GO TO M5 MAPS 168
END ; MAPS 169
IF SW3 THEN GO TO M5 ; MAPS 170
IF SLK { 0 THEN SW3 ~ TRUE ; MAPS 171
M4: B ~ MENUSE + JOB[I,2] ; MAPS 172
IF (B > POOL) AND (PASS > 1) THEN GO TO M5 ; MAPS 173
MENUSE ~ B ; A ~ A + 1 ; DOJOB[A] ~ I ; MAPS 174
IF ET[I] < WMIN THEN WMIN ~ ET[I] ; MAPS 175
GO TO M6 ; MAPS 176
M5: E ~ E - 1 ; DOJOB[E] ~ I ; MAPS 177
M6: END ; MAPS 178
MAPS 179
COMMENT DO MULTIPLE CRITICAL JOBS EXIST ; MAPS 180
MAPS 181
M7: SMIN ~ WMIN ; MAPS 182
FOR I ~ E STEP 1 UNTIL G DO MAPS 183
BEGIN MAPS 184
J ~ DOJOB[I] ; SLK ~ LFT[J] - ET[J] - CLOCK ; MAPS 185
IF SMIN > SLK THEN MAPS 186
BEGIN MAPS 187
H ~ I ; I ~ G ; IF SLK = 0 THEN GO TO M8 MAPS 188
END END ; MAPS 189
FOR I ~ H STEP 1 UNTIL G DO MAPS 190
IF ET[DOJOB[I]] < SMIN THEN BEGIN MAPS 191
WMIN ~ ET[DOJOB[I]] ; H ~ I END ; MAPS 192
M8: IF SMIN ! WMIN THEN GO TO M7 ; MAPS 193
FOR I ~ G STEP -1 UNTIL H DO MAPS 194
BEGIN MAPS 195
J ~ DOJOB[I] ; B ~ MENUSE + JOB[J,2] ; D ~ 0 ; MAPS 196
IF (B { POOL) OR (PASS = 1) THEN MAPS 197
IF FLAG2[J] ! 9999 THEN MAPS 198
BEGIN MAPS 199
DOJOB[I] ~ 0 ; MENUSE ~ B ; A ~ A + 1 ; DOJOB[A] ~ J;MAPS 200
IF ET[J] < WMIN THEN WMIN ~ ET[J] MAPS 201
END MAPS 202
ELSE MAPS 203
BEGIN MAPS 204
IF LFT[J] - ET[J] - CLOCK < WMIN THEN MAPS 205
IF NOT SW4 THEN GO TO M9 ELSE WRITE(OUT1,ERROR2,JOB[J,1]) MAPS 206
END MAPS 207
ELSE MAPS 208
BEGIN MAPS 209
IF NOT SW1 THEN MAPS 210
BEGIN MAPS 211
SW1 ~ SW2 ~ TRUE ; GO TO M3 MAPS 212
END ; MAPS 213
IF LFT[J] - ET[J] - CLOCK < WMIN THEN MAPS 214
BEGIN MAPS 215
K ~ SLK ~ 0 ; C ~ B - POOL ; MAPS 216
WHILE D < C AND K < A DO MAPS 217
BEGIN MAPS 218
L ~ DOJOB[A - K] ; MAPS 219
IF LFT[L] - ET[L] - CLOCK } WMIN THEN D ~ D + JOB[L,2] MAPS 220
ELSE BEGIN HOLD[SLK ~ SLK+1] ~ L ; DOJOB[A-K] ~ 0 END ; MAPS 221
K ~ K + 1 MAPS 222
END ; MAPS 223
IF D< C THEN IF NOT SW4 THEN GO TO M9 MAPS 224
ELSE BEGIN FOR L~1 STEP 1 UNTIL A DO IF DOJOB[L] = 0 THEN MAPS 225
BEGIN DOJOB[L] ~ HOLD[SLK]; SLK~SLK-1 END END MAPS 226
ELSE MAPS 227
BEGIN MAPS 228
WR ~ K ; MAPS 229
FOR L ~ SLK STEP -1 UNTIL 1 DO MAPS 230
BEGIN MAPS 231
WR ~ WR - 1 ; SMIN ~ A - WR ; MAPS 232
IF DOJOB[SMIN] ! 0 THEN MAPS 233
BEGIN MAPS 234
E ~ E - 1 ; DOJOB[E] ~ DOJOB[SMIN] MAPS 235
END ; MAPS 236
DOJOB[SMIN] ~ HOLD[L] MAPS 237
END ; MAPS 238
WR ~ A + SLK - K + 1 ; MAPS 239
FOR L ~ WR STEP 1 UNTIL A DO MAPS 240
IF DOJOB[L] ! 0 THEN MAPS 241
BEGIN MAPS 242
E ~ E - 1 ; DOJOB[E] ~ DOJOB[L] MAPS 243
END ; MAPS 244
A ~ WR ; DOJOB[I] ~ 0 ; MENUSE ~ B - D ; DOJOB[WR] ~ J MAPS 245
END END END END ; MAPS 246
MAPS 247
COMMENT FIND SET OF VECTOR COMPONENTS WITH LEAST MEAN INDICE MAPS 248
WHOSE SUM IS A GIVEN CONSTANT. ; MAPS 249
MAPS 250
VECS: BEGIN MAPS 251
REAL AI,AK,AVC,AVD,CT,F,M,NK,NUM,NUMB,PM,TAL,X ; MAPS 252
MAPS 253
REAL ARRAY AB,C,ODE,DJ[0:N DIV 2] ; MAPS 254
MAPS 255
LABEL V1,V2,V3,V4,V5 ; MAPS 256
MAPS 257
X ~ M ~ NUMB ~ 0 ; B ~ F ~ 9999 ; MAPS 258
PM ~ POOL - MENUSE ; MAPS 259
IF PASS = 1 THEN PM ~ MAXMEN - MENUSE ; MAPS 260
FOR I ~ G STEP -1 UNTIL E DO MAPS 261
BEGIN MAPS 262
J ~ DOJOB[I] ; AK ~ JOB[J,2] ; MAPS 263
IF (AK { PM) AND (J ! 0) AND (FLAG2[J] ! 9999) THEN MAPS 264
BEGIN MAPS 265
M ~ M + 1 ; AB[M] ~ AK ; ODE[M] ~ I MAPS 266
END ; MAPS 267
IF FLAG2[J] = 9999 THEN FLAG2[J] ~ 0 MAPS 268
END ; MAPS 269
IF PCS1 THEN MAPS 270
BEGIN MAPS 271
FOR I ~ 1 STEP 1 UNTIL M DO DJ[I] ~ 0 ; MAPS 272
V1: NUM ~ 0 ; MAPS 273
FOR I ~ 1 STEP 1 UNTIL M DO MAPS 274
BEGIN MAPS 275
J ~ AB[I] ; MAPS 276
IF (J > NUM) AND (J { PM) THEN MAPS 277
BEGIN MAPS 278
NUM ~ J ; X ~ I MAPS 279
END END ; MAPS 280
PM ~ PM - NUM ; DJ[X] ~ 1 ; AB[X] ~ 0 ; MAPS 281
IF NUM ! 0 THEN GO TO V1 ; MAPS 282
I ~ M ; GO TO V5 MAPS 283
END ; MAPS 284
AVD ~ M + 1 ; NUM ~ 2*(M + 1) ; MAPS 285
V2: FOR I ~ 1 STEP 1 UNTIL M DO C[I] ~ DJ[I] ~ 0 ; MAPS 286
V3: IF F > B THEN F ~ B ; MAPS 287
B ~ PM - X ; TAL ~ CT ~ I ~ AVC ~ 0 ; MAPS 288
NUMB ~ NUMB + 1 ; MAPS 289
IF NUMB > NUM THEN MAPS 290
BEGIN MAPS 291
WR ~ 7 ; WRITE(OUT1,ERROR1,WR) ; MAPS 292
GO TO V5 MAPS 293
END ; MAPS 294
WHILE (I < M) AND (AVC < AVD) DO MAPS 295
BEGIN MAPS 296
I ~ I + 1 ; AI ~ AB[I] ; MAPS 297
IF (AI { B) AND (C[I] < 2) THEN MAPS 298
BEGIN MAPS 299
B ~ B - AI ; C[I] ~ 1 ; J ~ I ; MAPS 300
CT ~ CT + 1 ; AVC ~ AVC + (I-AVC)/ CT MAPS 301
END ; MAPS 302
TAL ~ TAL + C[I] MAPS 303
END ; MAPS 304
IF (B = 0) AND (AVC < AVD) THEN MAPS 305
BEGIN MAPS 306
AVD ~ AVC ; MAPS 307
MAPS 308
FOR K ~ 1 STEP 1 UNTIL M DO DJ[K] ~ C[K] MAPS 309
END ; MAPS 310
IF (TAL + CT) = (I+I) THEN MAPS 311
BEGIN MAPS 312
IF (F = 0) OR (B = 0) THEN GO TO V5 ; MAPS 313
IF TAL = CT THEN GO TO V4 ; MAPS 314
IF CT = 0 THEN BEGIN X ~ F ; GO TO V2 END ; MAPS 315
END ; MAPS 316
IF B = 0 THEN NK ~ 0 ELSE NK ~ 1 ; MAPS 317
FOR K ~ I STEP -1 UNTIL 1 DO MAPS 318
IF C[K] = 1 THEN MAPS 319
BEGIN MAPS 320
C[K] ~ 2 ; NK ~ NK + 1 ; MAPS 321
IF NK = 2 THEN GO TO V3 MAPS 322
END MAPS 323
ELSE C[K] ~ 0 ; MAPS 324
GO TO V3 ; MAPS 325
V4: FOR K ~ 1 STEP 1 UNTIL I DO DJ[K] ~ 1 ; MAPS 326
V5: FOR J ~ 1 STEP 1 UNTIL M DO MAPS 327
IF DJ[J] = 1 THEN MAPS 328
BEGIN MAPS 329
X ~ ODE[J] ; K ~ DOJOB[X] ; A ~ A + 1 ; MAPS 330
DOJOB[A] ~ K ; DOJOB[X] ~ 0 ; MENUSE ~ MENUSE + JOB[K,2]; MAPS 331
IF ET[K] < WMIN THEN WMIN ~ ET[K] MAPS 332
END MAPS 333
END ; MAPS 334
IF A } E THEN MAPS 335
BEGIN MAPS 336
WR ~ 6 ; WRITE(OUT1,ERROR1,WR) MAPS 337
END ; MAPS 338
FOR I ~ E STEP 1 UNTIL G DO MAPS 339
BEGIN MAPS 340
K ~ DOJOB[I] ; J ~ JOB[K,1] ; MAPS 341
IF STAR[K] ! -1 THEN MAPS 342
BEGIN MAPS 343
IF FLAG1[K] = 0 THEN FLAG1[K] ~ CLOCK ; MAPS 344
IF J.[8:1] = 0 THEN MAPS 345
BEGIN MAPS 346
J.[9:3] ~ J.[9:3] + 1 ; J.[8:1] ~ 1 MAPS 347
END END ; MAPS 348
JOB[K,1] ~ J MAPS 349
MAPS 350
END ; MAPS 351
MAPS 352
COMMENT BEGIN JOBS IN DOJOB[A] FOR INCREMENT WMIN. ; MAPS 353
IF WMIN = 0 THEN BEGIN WR ~ 8 ; WMIN ~ 1 ; MAPS 354
WRITE(OUT1,ERROR1,WR) END ; MAPS 355
NEXTIME ~ CLOCK + WMIN ; MAPS 356
FOR I ~ 1 STEP 1 UNTIL A DO MAPS 357
BEGIN MAPS 358
K ~ DOJOB[I] ; MAPS 359
IF (FLAG1[K] ! 0) AND (FLAG2[K]=0) THEN FLAG2[K] ~ CLOCK ;MAPS 360
JOB[K,1].[8:1] ~ 0 ; MAPS 361
IF STAR[K] = -1 THEN STAR[K] ~ CLOCK ; MAPS 362
ET[K] ~ ET[K] - WMIN ; MAPS 363
IF ET[K] = 0 THEN FINIS[K] ~ NEXTIME MAPS 364
END ; MAPS 365
IF SW4 THEN WRITE(OUT1,FORM3,L1) ; MAPS 366
IF MENUSE > MAXMEN THEN MAXMEN ~ MENUSE ; MAPS 367
IF NEXTIME < PROJEND THEN GO TO M2 ; MAPS 368
FOR I ~ 1 STEP 1 UNTIL N DO IF ET[I] ! 0 THEN GO TO M2 ; MAPS 369
POOL ~ MAXMEN ; MAPS 370
IF NEXTIME > PROJEND THEN MAPS 371
M9: LOW ~ POOL MAPS 372
ELSE HIGH ~ POOL ; MAPS 373
IF SW4 THEN MAPS 374
BEGIN MAPS 375
JM ~ NEXTIME | POOL ; LOW ~ POOL ; MAPS 376
WRITE(OUT1[DBL],FORM8,POOL); WRITE(OUT1[PAGE],FORM7) ; MAPS 377
FOR I ~ 1 STEP 1 UNTIL N DO MAPS 378
BEGIN MAPS 379
IF ES[I] ! STAR[I] THEN IF FLAG2[I] = 0 THEN BEGIN MAPS 380
FLAG2[I] ~ ES[I] ; Z ~ "D EST=" END MAPS 381
ELSE Z ~ " M " ELSE Z ~ " " ; MAPS 382
J ~ JOB[I,1].[9:3] ; MAPS 383
IF J > 0 THEN IF J > 1 THEN Z.[30:6] ~ J MAPS 384
ELSE Z.[30:6] ~ "D" ; MAPS 385
IF Z = " " THEN WRITE(OUT1,FORM6,L3) MAPS 386
ELSE WRITE(OUT1,FORM6,L2) MAPS 387
END END MAPS 388
ELSE MAPS 389
BEGIN MAPS 390
PASS ~ PASS + 1 ; POOL ~ ENTIER((HIGH + LOW) / 2) MAPS 391
END ; MAPS 392
IF POOL = LOW THEN BEGIN SW4 ~ TRUE ; POOL ~ HIGH-PH END;MAPS 393
IF JM { KJ THEN BEGIN KJ ~ JM ; GO TO M1 END ; MAPS 394
END END . MAPS 395
MAPS 396