10 READ N 20 DIM S(N),N$(N),R(N) 30 FOR I=1 TO N: READ S(I),N$(I): NEXT 40 PRINT "--- Standard ranking ---": GOSUB 100: GOSUB 400 50 PRINT "--- Modified ranking ---": GOSUB 150: GOSUB 400 60 PRINT "--- Dense ranking ---": GOSUB 200: GOSUB 400 70 PRINT "--- Ordinal ranking ---": GOSUB 250: GOSUB 400 80 PRINT "--- Fractional ranking ---": GOSUB 300: GOSUB 400 90 END 100 REM 101 REM ** Ordinal ranking ** 110 R(1)=1 120 FOR I=2 TO N 130 IF S(I)=S(I-1) THEN R(I)=R(I-1) ELSE R(I)=I 140 NEXT: RETURN 150 REM 151 REM ** Modified ranking ** 160 R(N)=N 170 FOR I=N-1 TO 1 STEP -1 180 IF S(I)=S(I+1) THEN R(I)=R(I+1) ELSE R(I)=I 190 NEXT: RETURN 200 REM 201 REM ** Dense ranking ** 210 R(1)=1 220 FOR I=2 TO N: R(I)=R(I-1)-(S(I)<>S(I-1)): NEXT 230 RETURN 250 REM 251 REM ** Ordinal ranking ** 260 FOR I=1 TO N: R(I)=I: NEXT: RETURN 300 REM 301 REM ** Fractional ranking ** 310 I=1: J=2 320 IF J<=N THEN IF S(J-1)=S(J) THEN J=J+1: GOTO 320 330 FOR K=I TO J-1: R(K) = (I+J-1)/2: NEXT 340 I=J: J=J+1: IF I<=N THEN 320 350 RETURN 400 REM 401 REM ** Print the table *** 410 FOR I=1 TO N 420 PRINT USING "\ \ ##, \ \";STR$(R(I));S(I);N$(I) 430 NEXT 440 PRINT: RETURN 500 DATA 7 510 DATA 44,Solomon 520 DATA 42,Jason 530 DATA 42,Errol 540 DATA 41,Garry 550 DATA 41,Bernard 560 DATA 41,Barry 570 DATA 39,Stephen