57 lines
1.1 KiB
Plaintext
57 lines
1.1 KiB
Plaintext
LET n = 7
|
|
DIM puntos(7), ptosnom(7), nombre$(7)
|
|
|
|
SUB MostarTabla
|
|
FOR i = 1 to n
|
|
PRINT str$(ptosnom(i)); " "; puntos(i); " "; nombre$(i)
|
|
NEXT i
|
|
PRINT
|
|
END SUB
|
|
|
|
PRINT "Puntuaciones a clasificar (mejores primero):"
|
|
FOR i = 1 to n
|
|
READ puntos(i), nombre$(i)
|
|
PRINT " "; puntos(i); " "; nombre$(i)
|
|
NEXT i
|
|
|
|
PRINT
|
|
PRINT "--- Standard ranking ---"
|
|
LET ptosnom(1) = 1
|
|
FOR i = 2 to n
|
|
NEXT i
|
|
CALL MostarTabla
|
|
|
|
PRINT "--- Modified ranking ---"
|
|
LET ptosnom(n) = n
|
|
FOR i = n-1 to 1 step -1
|
|
IF puntos(i) = puntos(i+1) then LET ptosnom(i) = ptosnom(i+1) else LET ptosnom(i) = i
|
|
NEXT i
|
|
CALL MostarTabla
|
|
|
|
PRINT "--- Ordinal ranking ---"
|
|
FOR i = 1 to n
|
|
LET ptosnom(i) = i
|
|
NEXT i
|
|
CALL MostarTabla
|
|
|
|
PRINT "--- Fractional ranking ---"
|
|
LET i = 1
|
|
LET j = 2
|
|
DO
|
|
IF j <= n then
|
|
IF (puntos(j-1) = puntos(j)) then
|
|
LET j = j + 1
|
|
END IF
|
|
END IF
|
|
|
|
FOR k = i to j-1
|
|
LET ptosnom(k) = (i+j-1) / 2
|
|
NEXT k
|
|
LET i = j
|
|
LET j = j + 1
|
|
LOOP UNTIL i > n
|
|
CALL MOSTARTABLA
|
|
|
|
DATA 44, "Solomon", 42, "Jason", 42, "Errol", 41, "Garry", 41, "Bernard", 41, "Barry", 39, "Stephen"
|
|
END
|