100 ! HRANK -- RANKS HONOR SCHOLARS 110 ! FILE MUST BE IN 'SCO' FORMAT; BEFORE EACH ! RANKING, A DESCENDING SORT MUST BE PERFORMED ! ON THE APPROPRIATE FIELD OF THE MASTER SCORE FILE. 120 ! USE A FLOATING-POINT SORT FOR THE Z-SCORE FIELDS ! AND A CHARACTER SORT ON THE TOTAL RANK FIELD. 130 ! 15-MAR-74 J. WARDEN WABASH COLLEGE 140 DEF FNF%(X%)=CVT$%(MID(O1$,X%,2%)) 160 PRINT"HONORS RANKER" 180 DIM I$(63),O$(63),A$(63),P$(63),A2$(16) 200 INPUT"E1, E2, OR CO";X$ 220 IF X$="E1" THEN Z%=78% ELSE IF X$="E2" THEN Z%=80% ELSE IF X$="CO" THEN Z%=82% ELSE 200 240 R$=F$+"" 260 E$=".KEY" 280 IF Z%=82% THEN L2%=3% ELSE L2%=5% 300 N%=6% 320 INPUT"HONORS FILE";F$ 340 OPEN F$ FOR INPUT AS FILE 1% : CLOSE 1% 360 P1$=F$+E$ 380 N1%=510%/N% : N6%=N%-1% : N3%=N1%*N% : N2%=N1%-8% 400 OPEN P1$ FOR INPUT AS FILE 1% 420 FIELD #1%,8%*A% AS Z$,8% AS A$(A%) FOR A%=0% TO 62% 440 OPEN F$ AS FILE 6% 460 FIELD #6,N1%*S% AS Z$,N1% AS O$(S%) FOR S%=0% TO N6% 480 IF A%<62% THEN A%=A%+1% ELSE A%=0% : GET #1% 500 IF LEFT(A$(A%),3%)="\\\" THEN 860 520 C0%=C0%+1% 540 I2%=CVT$%(MID(A$(A%),L2%,2%)) 560 IF Z%=82% THEN 640 580 R=CVT$F(LEFT(A$(A%),4%)) 600 IF R<>R0 THEN C1%=C0% 620 R0=R : GO TO 680 640 R%=CVT$%(LEFT(A$(A%),2%)) : IF R%<>R0% THEN C1%=C0% 660 R0%=R% 680 R1%=(I2%+N6%)/N% 700 S%=I2%-1%-(R1%-1%)*N% 720 GET #6%,RECORD R1% 740 O1$=LEFT(O$(S%),Z%-1%)+CVT%$(C1%)+RIGHT(O$(S%),Z%+2%) 760 IF Z%=82% THEN LSET O$(S%)=O1$ : GO TO 820 780 T%=FNF%(78%)+FNF%(80%) 800 LSET O$(S%)=LEFT(O1$,81%)+CVT%$(T%)+RIGHT(O1$,84%) 820 PUT #6%, RECORD R1% 840 GO TO 480 860 ! DONE... 880 CLOSE 1%,5%,6% 900 PRINT R$;" RANKING COMPLETED" 920 END