Stem-and-leaf plot: Difference between revisions
Content added Content deleted
(→{{header|XPL0}}: Added a solution.) |
(→{{header|ASIC}}: Added a solution.) |
||
Line 544: | Line 544: | ||
=={{header|BASIC}}== |
=={{header|BASIC}}== |
||
==={{header|ASIC}}=== |
|||
{{trans|QuickBASIC|A global array used instead of subroutine parameters.}} |
|||
<syntaxhighlight lang="basic"> |
|||
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 |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
0 | 7 7 |
|||
1 | 2 3 8 8 |
|||
2 | 3 5 7 7 7 7 7 7 8 8 9 9 |
|||
3 | 0 1 1 1 1 2 3 4 5 6 7 7 7 8 9 |
|||
4 | 0 0 1 2 2 2 2 3 3 3 4 4 4 5 6 7 8 8 |
|||
5 | 2 3 7 8 8 |
|||
6 | 1 3 8 |
|||
7 | 1 |
|||
8 | |
|||
9 | 6 9 |
|||
10 | 4 5 5 5 5 6 7 9 9 9 |
|||
11 | 1 3 3 3 3 4 4 4 5 5 5 6 6 6 6 7 7 7 7 8 8 9 9 |
|||
12 | 0 0 1 1 2 2 3 4 4 4 5 5 5 6 7 7 7 7 8 8 |
|||
13 | 1 2 3 9 |
|||
14 | 1 6 |
|||
</pre> |
|||
==={{header|BBC BASIC}}=== |
==={{header|BBC BASIC}}=== |
||
{{works with|BBC BASIC for Windows}} |
{{works with|BBC BASIC for Windows}} |