Home » Archimedes archive » Acorn User » AU 1993-04.adf » !ArmCode/Files/Basic2

!ArmCode/Files/Basic2

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1993-04.adf
Filename: !ArmCode/Files/Basic2
Read OK:
File size: 01A7 bytes
Load address: FFFFFB44
Exec address: 696F4E1D
File contents
   10REM     >Basic2
   20REM By  Dave Lawrence
   30REM For 32-bit machines
   40REM (c) BAU April 1993
   50:
   60DIM a(100)
   70FOR i=1 TO 100
   80 a(i)=RND(10000)
   90NEXT
  100PROCquick(1,100)
  110FOR i=1 TO 100
  120 PRINT,a(i);
  130NEXT
  140END
  150:
  160DEF PROCquick(from,to)
  170a=from-1
  180b=to+1
  190p=a((from+to)/2)
  200REPEAT
  210 REPEAT
  220  a=a+1
  230 UNTIL a(a)>=p
  240 REPEAT
  250  b=b-1
  260 UNTIL a(b)<=p
  270 IF a<=b SWAP a(a),a(b)
  280UNTIL a>b
  290IF a<to PROCquick(a,to)
  300IF b>from PROCquick(from,b)
  310ENDPROC

�     >Basic2
� By  Dave Lawrence
� For 32-bit machines
(� (c) BAU April 1993
2:
<� a(100)
F� i=1 � 100
P a(i)=�(10000)
Z�
d�quick(1,100)
n� i=1 � 100
x �,a(i);
��
��
�:
�� �quick(from,to)
�a=from-1
�
b=to+1
�p=a((from+to)/2)
��
� �
�  a=a+1
� � a(a)>=p
� �
�  b=b-1
 � a(b)<=p
 � a<=b Ȕ a(a),a(b)
	� a>b
"� a<to �quick(a,to)
,� b>from �quick(from,b)
6�
�
00000000  0d 00 0a 11 f4 20 20 20  20 20 3e 42 61 73 69 63  |.....     >Basic|
00000010  32 0d 00 14 17 f4 20 42  79 20 20 44 61 76 65 20  |2..... By  Dave |
00000020  4c 61 77 72 65 6e 63 65  0d 00 1e 19 f4 20 46 6f  |Lawrence..... Fo|
00000030  72 20 33 32 2d 62 69 74  20 6d 61 63 68 69 6e 65  |r 32-bit machine|
00000040  73 0d 00 28 18 f4 20 28  63 29 20 42 41 55 20 41  |s..(.. (c) BAU A|
00000050  70 72 69 6c 20 31 39 39  33 0d 00 32 05 3a 0d 00  |pril 1993..2.:..|
00000060  3c 0c de 20 61 28 31 30  30 29 0d 00 46 0f e3 20  |<.. a(100)..F.. |
00000070  69 3d 31 20 b8 20 31 30  30 0d 00 50 12 20 61 28  |i=1 . 100..P. a(|
00000080  69 29 3d b3 28 31 30 30  30 30 29 0d 00 5a 05 ed  |i)=.(10000)..Z..|
00000090  0d 00 64 11 f2 71 75 69  63 6b 28 31 2c 31 30 30  |..d..quick(1,100|
000000a0  29 0d 00 6e 0f e3 20 69  3d 31 20 b8 20 31 30 30  |)..n.. i=1 . 100|
000000b0  0d 00 78 0c 20 f1 2c 61  28 69 29 3b 0d 00 82 05  |..x. .,a(i);....|
000000c0  ed 0d 00 8c 05 e0 0d 00  96 05 3a 0d 00 a0 15 dd  |..........:.....|
000000d0  20 f2 71 75 69 63 6b 28  66 72 6f 6d 2c 74 6f 29  | .quick(from,to)|
000000e0  0d 00 aa 0c 61 3d 66 72  6f 6d 2d 31 0d 00 b4 0a  |....a=from-1....|
000000f0  62 3d 74 6f 2b 31 0d 00  be 14 70 3d 61 28 28 66  |b=to+1....p=a((f|
00000100  72 6f 6d 2b 74 6f 29 2f  32 29 0d 00 c8 05 f5 0d  |rom+to)/2)......|
00000110  00 d2 06 20 f5 0d 00 dc  0b 20 20 61 3d 61 2b 31  |... .....  a=a+1|
00000120  0d 00 e6 0e 20 fd 20 61  28 61 29 3e 3d 70 0d 00  |.... . a(a)>=p..|
00000130  f0 06 20 f5 0d 00 fa 0b  20 20 62 3d 62 2d 31 0d  |.. .....  b=b-1.|
00000140  01 04 0e 20 fd 20 61 28  62 29 3c 3d 70 0d 01 0e  |... . a(b)<=p...|
00000150  18 20 e7 20 61 3c 3d 62  20 c8 94 20 61 28 61 29  |. . a<=b .. a(a)|
00000160  2c 61 28 62 29 0d 01 18  09 fd 20 61 3e 62 0d 01  |,a(b)..... a>b..|
00000170  22 17 e7 20 61 3c 74 6f  20 f2 71 75 69 63 6b 28  |".. a<to .quick(|
00000180  61 2c 74 6f 29 0d 01 2c  1b e7 20 62 3e 66 72 6f  |a,to)..,.. b>fro|
00000190  6d 20 f2 71 75 69 63 6b  28 66 72 6f 6d 2c 62 29  |m .quick(from,b)|
000001a0  0d 01 36 05 e1 0d ff                              |..6....|
000001a7