65 lines
1.5 KiB
Plaintext
65 lines
1.5 KiB
Plaintext
REM Stem-and-leaf plot
|
|
DIM A(120)
|
|
DATA 12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124
|
|
DATA 37, 48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123
|
|
DATA 35, 113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105
|
|
DATA 99, 41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58
|
|
DATA 114, 126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43
|
|
DATA 117, 116, 27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118
|
|
DATA 117, 38, 27, 106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122
|
|
DATA 109, 124, 115, 43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114
|
|
DATA 34, 133, 45, 120, 30, 127, 31, 116, 146
|
|
FOR I = 0 TO 120
|
|
READ A(I)
|
|
NEXT I
|
|
N = 121
|
|
NMin1 = N - 1
|
|
GOSUB LeafPlot:
|
|
END
|
|
|
|
LeafPlot:
|
|
GOSUB ShellSortInt:
|
|
I = A(0) / 10
|
|
I = I - 1
|
|
FOR J = 0 TO NMin1
|
|
D = A(J) / 10
|
|
WHILE D > I
|
|
I = I + 1
|
|
IF J <> 0 THEN
|
|
PRINT
|
|
ENDIF
|
|
SI$ = STR$(I)
|
|
SI$ = RIGHT$(SI$, 2)
|
|
PRINT SI$;
|
|
PRINT " |";
|
|
WEND
|
|
AJMod10 = A(J) MOD 10
|
|
SI$ = STR$(AJMod10)
|
|
SI$ = RIGHT$(SI$, 2)
|
|
PRINT SI$;
|
|
NEXT J
|
|
PRINT
|
|
RETURN
|
|
|
|
ShellSortInt:
|
|
Incr = N / 2
|
|
WHILE Incr > 0
|
|
FOR I = Incr TO NMin1
|
|
J = I - Incr
|
|
JPlIncr = J + Incr
|
|
WHILE J >= 0
|
|
IF A(J) > A(JPlIncr) THEN
|
|
Tmp = A(J)
|
|
A(J) = A(JPlIncr)
|
|
A(JPlIncr) = Tmp
|
|
JPlIncr = J
|
|
J = J - Incr
|
|
ELSE
|
|
J = -1
|
|
ENDIF
|
|
WEND
|
|
NEXT I
|
|
Incr = Incr / 2
|
|
WEND
|
|
RETURN
|