Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
113
Task/Ranking-methods/M2000-Interpreter/ranking-methods.m2000
Normal file
113
Task/Ranking-methods/M2000-Interpreter/ranking-methods.m2000
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
Module Ranking (output$, orderlist) {
|
||||
Open output$ for output as #k
|
||||
Gosub getdata
|
||||
Print #k, "Standard ranking:"
|
||||
skip=true
|
||||
rankval=1
|
||||
oldrank=0
|
||||
For i=1 to items
|
||||
Read rank, name$
|
||||
if skip then
|
||||
skip=false
|
||||
else.if oldrank<>rank then
|
||||
rankval=i
|
||||
end if
|
||||
oldrank=rank
|
||||
Print #k, Format$("{0::-5} {2} ({1})", rankval, rank, name$)
|
||||
Next
|
||||
Gosub getdata
|
||||
Print #k, "Modified ranking:"
|
||||
skip=true
|
||||
rankval=Items
|
||||
oldrank=0
|
||||
ShiftBack 1, -items*2 ' reverse stack items
|
||||
For i=items to 1
|
||||
Read name$, rank
|
||||
if skip then
|
||||
skip=false
|
||||
else.if oldrank<>rank then
|
||||
rankval=i
|
||||
end if
|
||||
oldrank=rank
|
||||
Data Format$("{0::-5} {2} ({1})", rankval, rank, name$)
|
||||
Next
|
||||
ShiftBack 1, -items ' reverse stack items
|
||||
For i=1 to items
|
||||
Print #k, letter$
|
||||
Next i
|
||||
Gosub getdata
|
||||
Print #k, "Dense ranking:"
|
||||
skip=true
|
||||
Dense=Stack
|
||||
acc=1
|
||||
oldrank=0
|
||||
For i=1 to items
|
||||
Read rank, name$
|
||||
if skip then
|
||||
skip=false
|
||||
oldrank=rank
|
||||
else.if oldrank<>rank then
|
||||
oldrank=rank
|
||||
Gosub dense
|
||||
acc=i
|
||||
end if
|
||||
Stack Dense {data Format$(" {0} ({1})",name$, rank)}
|
||||
Next
|
||||
Gosub dense
|
||||
Gosub getdata
|
||||
Print #k, "Ordinal ranking:"
|
||||
For i=1 to items
|
||||
Print #k, Format$("{0::-5} {2} ({1})", i, Number, letter$)
|
||||
Next
|
||||
Gosub getdata
|
||||
Print #k, "Fractional ranking:"
|
||||
skip=true
|
||||
Frac=Stack
|
||||
acc=1
|
||||
oldrank=0
|
||||
For i=1 to items
|
||||
Read rank, name$
|
||||
if skip then
|
||||
skip=false
|
||||
oldrank=rank
|
||||
else.if oldrank<>rank then
|
||||
oldrank=rank
|
||||
Gosub Fractional
|
||||
acc=I
|
||||
end if
|
||||
Stack Frac {data Format$(" {0} ({1})",name$, rank)}
|
||||
Next
|
||||
Gosub Fractional
|
||||
Close #k
|
||||
End
|
||||
Fractional:
|
||||
val=((len(Frac)+1)/2+(acc-1))
|
||||
Stack Frac {
|
||||
while not empty
|
||||
Print #k, format$("{0:1:-5}{1}", val, letter$)
|
||||
end while
|
||||
}
|
||||
Return
|
||||
dense:
|
||||
Stack Dense {
|
||||
while not empty
|
||||
Print #k, format$("{0::-5}{1}", acc, letter$)
|
||||
end while
|
||||
}
|
||||
Return
|
||||
getdata:
|
||||
flush
|
||||
stack stack(orderlist) // place a copy of items to current stack
|
||||
items=stack.size/2
|
||||
Return
|
||||
}
|
||||
Flush
|
||||
Data 44, "Solomon", 42, "Jason", 42, "Errol"
|
||||
Data 41, "Garry", 41, "Bernard", 41, "Barry"
|
||||
Data 39, "Stephen"
|
||||
// get all items from current stack to a new stack
|
||||
alist=[]
|
||||
// To screen
|
||||
Ranking "", alist
|
||||
// To file
|
||||
Ranking "ranking.txt", alist
|
||||
Loading…
Add table
Add a link
Reference in a new issue