100 REM Stem-and-leaf plot 110 N% = 121: REM Array size 120 DIM A%(N% - 1) 130 FOR I% = 0 TO N% - 1 140 READ A%(I%) 150 NEXT I% 160 DATA 12, 127, 28, 42, 39, 113, 42, 18, 44, 118, 44, 37, 113, 124 170 DATA 37, 48, 127, 36, 29, 31, 125, 139, 131, 115, 105, 132, 104, 123 180 DATA 35, 113, 122, 42, 117, 119, 58, 109, 23, 105, 63, 27, 44, 105 190 DATA 99, 41, 128, 121, 116, 125, 32, 61, 37, 127, 29, 113, 121, 58 200 DATA 114, 126, 53, 114, 96, 25, 109, 7, 31, 141, 46, 13, 27, 43 210 DATA 117, 116, 27, 7, 68, 40, 31, 115, 124, 42, 128, 52, 71, 118 220 DATA 117, 38, 27, 106, 33, 117, 116, 111, 40, 119, 47, 105, 57, 122 230 DATA 109, 124, 115, 43, 120, 43, 27, 27, 18, 28, 48, 125, 107, 114 240 DATA 34, 133, 45, 120, 30, 127, 31, 116, 146 250 GOSUB 1000 260 END 990 REM ** Leaf plot 1000 GOSUB 2000 1010 I% = A%(0) \ 10 - 1 1020 FOR J% = 0 TO N% - 1 1030 D% = A%(J%) \ 10 1040 WHILE D% > I% 1050 I% = I% + 1 1060 IF J% THEN PRINT 1070 PRINT USING "## |"; I%; 1080 WEND 1090 PRINT USING "##"; A%(J%) MOD 10; 1100 NEXT J% 1110 PRINT 1120 RETURN 1990 REM ** Shell sort 2000 INCR% = N% \ 2 2010 WHILE INCR% > 0 2020 FOR I% = INCR% TO N% - 1 2030 J% = I% - INCR% 2040 WHILE J% >= 0 2050 IF A%(J%) > A%(J% + INCR%) THEN SWAP A%(J%), A%(J% + INCR%): J% = J% - INCR% ELSE J% = -1 2060 WEND 2070 NEXT I% 2080 INCR% = INCR% \ 2 2090 WEND 2100 RETURN