30 lines
841 B
Text
30 lines
841 B
Text
sqliteconnect #mem, ":memory:"
|
|
mem$ = "CREATE TABLE med (x float)"
|
|
#mem execute(mem$)
|
|
|
|
a$ ="4.1,5.6,7.2,1.7,9.3,4.4,3.2" :gosub [median]
|
|
a$ ="4.1,7.2,1.7,9.3,4.4,3.2" :gosub [median]
|
|
a$ ="4.1,4,1.2,6.235,7868.33" :gosub [median]
|
|
a$ ="1,5,3,2,4" :gosub [median]
|
|
a$ ="1,5,3,6,4,2" :gosub [median]
|
|
a$ ="4.4,2.3,-1.7,7.5,6.6,0.0,1.9,8.2,9.3,4.5" :gosub [median]'
|
|
end
|
|
[median]
|
|
#mem execute("DELETE FROM med")
|
|
for i = 1 to 100
|
|
v$ = word$( a$, i, ",")
|
|
if v$ = "" then exit for
|
|
mem$ = "INSERT INTO med values(";v$;")"
|
|
#mem execute(mem$)
|
|
next i
|
|
mem$ = "SELECT AVG(x) as median FROM (SELECT x FROM med
|
|
ORDER BY x LIMIT 2 - (SELECT COUNT(*) FROM med) % 2
|
|
OFFSET (SELECT (COUNT(*) - 1) / 2
|
|
FROM med))"
|
|
|
|
#mem execute(mem$)
|
|
#row = #mem #nextrow()
|
|
median = #row median()
|
|
print " Median :";median;chr$(9);" Values:";a$
|
|
|
|
RETURN
|