summaryrefslogblamecommitdiff
path: root/apps/examples/bas/README.txt
blob: c1a47429df75eb04f283ab55808bbde8d821efc0 (plain) (tree)
























                          
          


















                         
          












































                                      
          






















                 
          



















                               
          






























                                    
          













                                      
          






















                                   
          



















               
          




































































                                              
          


















                        
          




































                                                                          
          






































































































































































































































                                          
          





























                           
          





















                                           
          




























                      
          































                     
          

































                            
          


































                          
          































                    
          




























                                
          




























                               
          
























                                                          
          






































                                                          
          














                                          
          





















                            
          














                        
          




















                                          
          










                                                
          































                                                  
           
















                                                 
          



























                               
          































               
          




















                          
          



















                                                                   
          














                                              
          













































                         
          




















                                   
          














                      
          




















                                
          
























                  
          





























                                        
          














           











                          
          



















                            
          










                                 
          
























                    
          


















                               
          










































                                                                                                                        
          
























                    
          











                                                                             
          
























                            
test01.bas
==========
Scalar variable assignment

Test File
---------
10 a=1
20 print a
30 a$="hello"
40 print a$
50 a=0.0002
60 print a
70 a=2.e-6
80 print a
90 a=.2e-6
100 print a

Expected Result
---------------
 1 
hello
 0.0002 
 2e-06 
 2e-07 

test02.bas
==========
Array variable assignment

Test File
---------
10 dim a(1)
20 a(0)=10
30 a(1)=11
40 a=12
50 print a(0)
60 print a(1)
70 print a

Expected Result
---------------
 10 
 11 
 12 

test03.bas
==========
FOR loops

Test File
---------
 10 for i=0 to 10
 20   print i
 30   if i=5 then exit for
 40 next
 50 for i=0 to 0
 60   print i
 70 next I
 80 for i=1 to 0 step -1
 90   print i
100 next
110 for i=1 to 0
120   print i
130 next
140 for i$="" to "aaaaaaaaaa" step "a"
150   print i$
160 next

Expected Result
---------------
 0 
 1 
 2 
 3 
 4 
 5 
 0 
 1 
 0 

a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa

test04.bas
==========
REPEAT UNTIL loop

Test File
---------
10 a=1
20 repeat 
30   print a
40   a=a+1
50 until a=10

Expected Result
---------------
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 

test05.bas
==========
GOSUB RETURN subroutines

Test File
---------
10 gosub 100
20 gosub 100
30 end
100 gosub 200
110 gosub 200
120 return
200 print "hello, world":return

Expected Result
---------------
hello, world
hello, world
hello, world
hello, world

test06.bas
==========
Recursive function without arguments

Test File
---------
10 def fnloop
20   if n=0.0 then
30     r=0.0
40   else
50     print n
60     n=n-1.0
70     r=fnloop()
80   end if
90 =r
100 n=10
110 print fnloop

Expected Result
---------------
 10 
 9 
 8 
 7 
 6 
 5 
 4 
 3 
 2 
 1 
 0 

test07.bas
==========
Recursive function with arguments

Test File
---------
10 def fna(x)
20   if x=0 then r=1 else r=x*fna(x-1)
30 =r
40 print fna(7)

Expected Result
---------------
 5040 

test08.bas
==========
DATA, READ and RESTORE

Test File
---------
10 data "a",b
20 data "c","d
40 read j$
50 print "j=";j$
60 restore 20
70 for i=1 to 3
80 read j$,k$
90 print "j=";j$;" k=";k$
100 next

Expected Result
---------------
j=a
j=c k=d
Error: end of `data' in line 80 at:
80 read j$,k$
        ^

test09.bas
==========
LOCAL variables

Test File
---------
10 def fna(a)
20   local b
30   b=a+1
40 =b
60 b=3
70 print b
80 print fna(4)
90 print b

Expected Result
---------------
 3 
 5 
 3 

test10.bas
==========
PRINT USING

Test File
---------
 10 print using "!";"abcdef"
 20 print using "\ \";"abcdef"
 30 print using "###-";-1
 40 print using "###-";0
 50 print using "###-";1
 60 print using "###+";-1
 70 print using "###+";0
 80 print using "###+";1
 90 print using "#####,";1000
100 print using "**#,##.##";1000.00
110 print using "+##.##";1
120 print using "+##.##";1.23400
130 print using "+##.##";123.456
140 print using "+##.";123.456
150 print using "+##";123.456
160 print using "abc def ###.## efg";1.3
170 print using "###.##^^^^^";5
180 print using "###.##^^^^";1000
190 print using ".##^^^^";5.0
200 print using "##^^^^";2.3e-9
210 print using ".##^^^^";2.3e-9
220 print using "#.#^^^^";2.3e-9
230 print using ".####^^^^^";-011466
240 print using "$*,***,***,***.**";3729825.24
250 print using "$**********.**";3729825.24
260 print using "$$###.##";456.78
270 print using "a!b";"S"
280 print using "a!b";"S","T"
290 print using "a!b!c";"S"
300 print using "a!b!c";"S","T"

Expected Result
---------------
a
abc
  1-
  0 
  1 
  1-
  0+
  1+
 1,000
*1,000.00
 +1.00
 +1.23
+123.46
+123.
+123
abc def   1.30 efg
500.00E-002
100.00E+01
.50E+01
23E-10
.23E-08
2.3E-09
-.1147E+005
$***3,729,825.24
$**3729825.24
$456.78
aSb
aSbaTb
aSb
aSbTc

test11.bas
==========
OPEN and LINE INPUT

Test File
---------
10 open "i",1,"test.bas"
20 while not eof(1)
30 line input #1,a$
40 print a$
50 wend

Expected Result
---------------
10 open "i",1,"test.bas"
20 while not eof(1)
30 line input #1,a$
40 print a$
50 wend

test12.bas
==========
Exception handling

Test File
---------
10 on error print "global handler 1 caught error in line ";erl : resume 30
20 print mid$("",-1)
30 on error print "global handler 2 caught error in line ";erl : end
40 def procx
50   on error print "local handler caught error in line";erl : goto 70
60   print 1/0
70 end proc
80 procx
90 print 1 mod 0

Expected Result
---------------
global handler 1 caught error in line  20 
local handler caught error in line 60 
global handler 2 caught error in line  90 

test01.bas
==========
Unnumbered lines

Test File
---------
print "a"
goto 20
print "b"
20 print "c"

Expected Result
---------------
a
c

test14.bas
==========
SELECT CASE

Test File
---------
 10 for i=0 to 9
 20   for j=0 to 9
 30     print i,j
 40     select case i
 50       case 0
 60         print "i after case 0"
 70       case 1
 80         print "i after case 1"
 90         select case j
100           case 0
110             print "j after case 0"
120         end select
130       case 3 to 5,7
140         print "i after case 3 to 5, 7"
150       case is <9
160         print "is after case is <9"
170       case else
180         print "i after case else"
190     end select
200   next
210 next

Expected Result
---------------
 0             0 
i after case 0
 0             1 
i after case 0
 0             2 
i after case 0
 0             3 
i after case 0
 0             4 
i after case 0
 0             5 
i after case 0
 0             6 
i after case 0
 0             7 
i after case 0
 0             8 
i after case 0
 0             9 
i after case 0
 1             0 
i after case 1
j after case 0
 1             1 
i after case 1
 1             2 
i after case 1
 1             3 
i after case 1
 1             4 
i after case 1
 1             5 
i after case 1
 1             6 
i after case 1
 1             7 
i after case 1
 1             8 
i after case 1
 1             9 
i after case 1
 2             0 
is after case is <9
 2             1 
is after case is <9
 2             2 
is after case is <9
 2             3 
is after case is <9
 2             4 
is after case is <9
 2             5 
is after case is <9
 2             6 
is after case is <9
 2             7 
is after case is <9
 2             8 
is after case is <9
 2             9 
is after case is <9
 3             0 
i after case 3 to 5, 7
 3             1 
i after case 3 to 5, 7
 3             2 
i after case 3 to 5, 7
 3             3 
i after case 3 to 5, 7
 3             4 
i after case 3 to 5, 7
 3             5 
i after case 3 to 5, 7
 3             6 
i after case 3 to 5, 7
 3             7 
i after case 3 to 5, 7
 3             8 
i after case 3 to 5, 7
 3             9 
i after case 3 to 5, 7
 4             0 
i after case 3 to 5, 7
 4             1 
i after case 3 to 5, 7
 4             2 
i after case 3 to 5, 7
 4             3 
i after case 3 to 5, 7
 4             4 
i after case 3 to 5, 7
 4             5 
i after case 3 to 5, 7
 4             6 
i after case 3 to 5, 7
 4             7 
i after case 3 to 5, 7
 4             8 
i after case 3 to 5, 7
 4             9 
i after case 3 to 5, 7
 5             0 
i after case 3 to 5, 7
 5             1 
i after case 3 to 5, 7
 5             2 
i after case 3 to 5, 7
 5             3 
i after case 3 to 5, 7
 5             4 
i after case 3 to 5, 7
 5             5 
i after case 3 to 5, 7
 5             6 
i after case 3 to 5, 7
 5             7 
i after case 3 to 5, 7
 5             8 
i after case 3 to 5, 7
 5             9 
i after case 3 to 5, 7
 6             0 
is after case is <9
 6             1 
is after case is <9
 6             2 
is after case is <9
 6             3 
is after case is <9
 6             4 
is after case is <9
 6             5 
is after case is <9
 6             6 
is after case is <9
 6             7 
is after case is <9
 6             8 
is after case is <9
 6             9 
is after case is <9
 7             0 
i after case 3 to 5, 7
 7             1 
i after case 3 to 5, 7
 7             2 
i after case 3 to 5, 7
 7             3 
i after case 3 to 5, 7
 7             4 
i after case 3 to 5, 7
 7             5 
i after case 3 to 5, 7
 7             6 
i after case 3 to 5, 7
 7             7 
i after case 3 to 5, 7
 7             8 
i after case 3 to 5, 7
 7             9 
i after case 3 to 5, 7
 8             0 
is after case is <9
 8             1 
is after case is <9
 8             2 
is after case is <9
 8             3 
is after case is <9
 8             4 
is after case is <9
 8             5 
is after case is <9
 8             6 
is after case is <9
 8             7 
is after case is <9
 8             8 
is after case is <9
 8             9 
is after case is <9
 9             0 
i after case else
 9             1 
i after case else
 9             2 
i after case else
 9             3 
i after case else
 9             4 
i after case else
 9             5 
i after case else
 9             6 
i after case else
 9             7 
i after case else
 9             8 
i after case else
 9             9 
i after case else

test15.bas
==========
FIELD, PUT and GET

Test File
---------
a$="a"
open "r",1,"test.dat",128
print "before field a$=";a$
field #1,10 as a$
field #1,5 as b$,5 as c$
lset b$="hi"
rset c$="ya"
print "a$=";a$
put #1
close #1
print "after close a$=";a$
open "r",2,"test.dat",128
field #2,10 as b$
get #2
print "after get b$=";b$
close #2
kill "test.dat"

Expected Result
---------------
before field a$=a
a$=hi      ya
after close a$=
after get b$=hi      ya

test16.bas
==========
SWAP

Test File
---------
a=1 : b=2
print "a=";a;"b=";b
swap a,b
print "a=";a;"b=";b
dim a$(1,1),b$(1,1)
a$(1,0)="a" : b$(0,1)="b"
print "a$(1,0)=";a$(1,0);"b$(0,1)=";b$(0,1)
swap a$(1,0),b$(0,1)
print "a$(1,0)=";a$(1,0);"b$(0,1)=";b$(0,1)

Expected Result
---------------
a= 1 b= 2 
a= 2 b= 1 
a$(1,0)=ab$(0,1)=b
a$(1,0)=bb$(0,1)=a

test17.bas
==========
DO, EXIT DO, LOOP

Test File
---------
print "loop started"
i=1
do
  print "i is";i
  i=i+1
  if i>10 then exit do
loop
print "loop ended"

Expected Result
---------------
loop started
i is 1 
i is 2 
i is 3 
i is 4 
i is 5 
i is 6 
i is 7 
i is 8 
i is 9 
i is 10 
loop ended

test18.bas
==========
DO WHILE, LOOP

Test File
---------
print "loop started"
x$=""
do while len(x$)<3
  print "x$ is ";x$
  x$=x$+"a"
  y$=""
  do while len(y$)<2
    print "y$ is ";y$
    y$=y$+"b"
  loop
loop
print "loop ended"

Expected Result
---------------
loop started
x$ is 
y$ is 
y$ is b
x$ is a
y$ is 
y$ is b
x$ is aa
y$ is 
y$ is b
loop ended

test19.bas
==========
ELSEIF

Test File
---------
for x=1 to 3
  if x=1 then
    print "1a"
  else
    if x=2 then
      print "2a"
    else
      print "3a"
    end if
  end if
next

for x=1 to 3
  if x=1 then
    print "1b"
  elseif x=2 then
    print "2b"
  elseif x=3 then print "3b"
next

Expected Result
---------------
1a
2a
3a
1b
2b
3b

test20.bas
==========
Caller trace

Test File
---------
 10 gosub 20
 20 gosub 30
 30 procb
 40 def proca
 50   print "hi"
 60   stop
 70 end proc
 80 def procb
 90   proca
100 end proc

Expected Result
---------------
hi
Break in line 60 at:
60 stop
   ^
Proc Called in line 90 at:
90 proca
        ^
Proc Called in line 30 at:
30 procb
        ^
Called in line 20 at:
20 gosub 30
           ^
Called in line 10 at:
10 gosub 20
           ^

test21.bas
==========
Matrix assignment

Test File
---------
dim a(3,4)
for i=0 to 3
  for j=0 to 4
    a(i,j)=i*10+j
    print a(i,j);
  next
  print
next
mat b=a
for i=0 to 3
  for j=0 to 4
    print b(i,j);
  next
  print
next

Expected Result
---------------
 0  1  2  3  4 
 10  11  12  13  14 
 20  21  22  23  24 
 30  31  32  33  34 
 0  0  0  0  0 
 0  11  12  13  14 
 0  21  22  23  24 
 0  31  32  33  34 

test22.bas
==========
MAT PRINT

Test File
---------
dim a(2,2)
for i=0 to 2
  for j=0 to 2
    a(i,j)=i*10+j
  next
next
for j=1 to 2
  for i=1 to 2
    print using " ##.##";a(i,j),
  next
  print
next
mat print using " ##.##";a,a

Expected Result
---------------
 11.00 21.00
 12.00 22.00
 11.00 12.00
 21.00 22.00

 11.00 12.00
 21.00 22.00

test23.bas
==========
Matrix addition and subtraction

Test File
---------
dim a(2,2)
a(2,2)=2.5
dim b%(2,2)
b%(2,2)=3
mat print a
mat a=a-b%
mat print a
dim c$(2,2)
c$(2,1)="hi"
mat print c$
mat c$=c$+c$
mat print c$

Expected Result
---------------
 0             0            
 0             2.5          
 0             0            
 0            -0.5          
                            
hi                          
                            
hihi                        

test24.bas
==========
Matrix multiplication

Test File
---------
10 dim b(2,3),c(3,2)
20 for i=1 to 2 : for j=1 to 3 : read b(i,j) : next : next
30 for i=1 to 3 : for j=1 to 2 : read c(i,j) : next : next
40 mat a=b*c
50 mat print b,c,a
60 data 1,2,3,3,2,1
70 data 1,2,2,1,3,3

Expected Result
---------------
 1             2             3            
 3             2             1            

 1             2            
 2             1            
 3             3            

 14            13           
 10            11           

test25.bas
==========
Matrix scalar multiplication

Test File
---------
10 dim a(3,3)
20 for i=1 to 3 : for j=1 to 3 : read a(i,j) : next : next
30 mat print a
40 mat a=(3)*a
45 print
50 mat print a
60 data 1,2,3,4,5,6,7,8,9
80 dim inch_array(5,1),cm_array(5,1)
90 mat read inch_array
100 data 1,12,36,100,39.37 
110 mat print inch_array
120 mat cm_array=(2.54)*inch_array
130 mat print cm_array

Expected Result
---------------
 1             2             3            
 4             5             6            
 7             8             9            

 3             6             9            
 12            15            18           
 21            24            27           
 1            
 12           
 36           
 100          
 39.37        
 2.54         
 30.48        
 91.44        
 254          
 99.9998      

test26.bas
==========
MAT READ

Test File
---------
dim a(3,3)
data 5,5,5,8,8,8,3,3
mat read a(2,3)
mat print a

Expected Result
---------------
 5             5             5            
 8             8             8            

test27.bas
==========
Matrix inversion

Test File
---------
data 1,2,3,4
mat read a(2,2)
mat print a
mat b=inv(a)
mat print b
mat c=a*b
mat print c

Expected Result
---------------
 1             2            
 3             4            
-2             1            
 1.5          -0.5          
 1             0            
 0             1            

test28.bas
==========
TDL BASIC FNRETURN/FNEND

Test File
---------
def fnfac(n)
  if n=1 then fnreturn 1
fnend n*fnfac(n-1)

print fnfac(10)

Expected Result
---------------
 3628800 

test29.bas
==========
TDL INSTR

Test File
---------
print instr("123456789","456");" = 4?"
print INSTR("123456789","654");" = 0?"
print INSTR("1234512345","34");" = 3?"
print INSTR("1234512345","34",6);" = 8?"
print INSTR("1234512345","34",6,2);" = 0?"
print INSTR("1234512345","34",6,4);" = 8?"

Expected Result
---------------
 4  = 4?
 0  = 0?
 3  = 3?
 8  = 8?
 0  = 0?
 8  = 8?

test30.bas
==========
Type mismatch check

Test File
---------
print 1+"a"

Expected Result
---------------
Error: Invalid binary operand at: end of program

test31.bas
==========
PRINT default format

Test File
---------
10 for i=-8 to 8
20   x=1+1/3 : y=1 : j=i
30   for j=i to -1 : x=x/10 : y=y/10 : next
40   for j=i to 1 step -1 : x=x*10 : y=y*10 : next
50   print x,y
60 next

Expected Result
---------------
 1.333333e-08                1e-08 
 1.333333e-07                1e-07 
 1.333333e-06                1e-06 
 1.333333e-05                1e-05 
 0.000133      0.0001 
 0.001333      0.001 
 0.013333      0.01 
 0.133333      0.1 
 1.333333      1 
 13.33333      10 
 133.3333      100 
 1333.333      1000 
 13333.33      10000 
 133333.3      100000 
 1333333       1000000 
 1.333333e+07                1e+07 
 1.333333e+08                1e+08 

test032.bas
==========
SUB routines

Test File
---------
PUTS("abc")
END

SUB PUTS(s$)
  FOR i=1 to LEN(s$) : print mid$(s$,i,1); : NEXT
  PRINT
END SUB

Expected Result
---------------
abc

test33.bas
==========
OPEN FOR BINARY

Test File
---------
open "test.out" for binary as 1
put 1,1,"xy"
put 1,3,"z!"
put 1,10,1/3
put 1,20,9999
close 1
open "test.out" for binary as 1
s$="    "
get 1,1,s$
get 1,10,x
get 1,20,n%
close
print s$
print x
print n%
kill "test.out"

Expected Result
---------------
xyz!
 0.333333 
 9999 

test34.bas
==========
OPTION BASE

Test File
---------
option base 3
dim a(3,5)
a(3,3)=1
a(3,5)=2

print a(3,3)
print a(3,5)

option base -2
dim b(-1,2)
b(-2,-2)=10
b(-1,2)=20

print a(3,3)
print a(3,5)
print b(-2,-2)
print b(-1,2)

Expected Result
---------------
 1 
 2 
 1 
 2 
 10 
 20 

test35.bas
==========
Real to integer conversion

Test File
---------
a%=1.2
print a%
a%=1.7
print a%
a%=-0.2
print a%
a%=-0.7
print a%

Expected Result
---------------
 1 
 2 
 0 
-1 

test36.bas
==========
OPEN file locking

Test File
---------
on error goto 10
print "opening file"
open "test.out" for output lock write as #1
print "open succeeded"
if command$<>"enough" then shell "sh ./test/runbas test.bas enough"
end
10 print "open failed"

Expected Result
---------------
opening file
open succeeded
opening file
open failed

test37.bas
==========
LINE INPUT reaching EOF

Test File
---------
10 open "i",1,"test.ref"
20 while not eof(1)
30 line input #1,a$
40 if a$="abc" then print a$; else print "def"
50 wend

Result
------
  Output should match test.ref

test38.bas
==========
MAT REDIM

Test File
---------
dim x(10)
mat read x
mat print x
mat redim x(7)
mat print x
mat redim x(12)
mat print x
data 1,2,3,4,5,6,7,8,9,10

Expected Result
---------------
 1            
 2            
 3            
 4            
 5            
 6            
 7            
 8            
 9            
 10           
 1            
 2            
 3            
 4            
 5            
 6            
 7            
 1            
 2            
 3            
 4            
 5            
 6            
 7            
 0            
 0            
 0            
 0            
 0            

test39.bas
==========
Nested function and procedure calls

Test File
---------
def proc_a(x)
print fn_b(1,x)
end proc

def fn_b(a,b)
= a+fn_c(b)

def fn_c(b)
= b+3

proc_a(2)

Expected Result
---------------
 6 

test40.bas
==========
IMAGE

Test File
---------
   d=3.1
   print using "#.#";d
   print using 10;d
10 image #.##

Expected Result
---------------
3.1
3.10

test41.bas
==========
EXIT FUNCTION

Test File
---------
function f(c)
print "f running"
if (c) then f=42 : exit function
f=43
end function

print f(0)
print f(1)

Expected Result
---------------
f running
 43 
f running
 42 

test42.bas
==========
Arithmetic

Test File
---------
10 print 4.7\3
20 print -2.3\1
30 print int(-2.3)
40 print int(2.3)
50 print fix(-2.3)
60 print fix(2.3)
70 print fp(-2.3)
80 print fp(2.3)

Expected Result
---------------
 1 
-2 
-3 
 2 
-2 
 2 
-0.3 
 0.3 

test43.bas
==========
Matrix multiplication size checks

Test File
---------
DIM a(3,3),b(3,1),c(3,3)
MAT READ a
MAT READ b
MAT c=a*b
MAT PRINT c
DATA 1,2,3,4,5,6,7,8,9
DATA 5,3,2

erase b
DIM b(3)
RESTORE
MAT READ a
MAT READ b
MAT c=a*b
MAT PRINT c

Expected Result
---------------
 17           
 47           
 77           
Error: Dimension mismatch in line 14 at:
mat c=a*b
       ^

test44.bas
==========
DELETE

Test File
---------
10 print 10
20 print 20
30 print 30
40 print 40
50 print 50
60 print 60
70 print 70

Usage
-----
load "test.bas"
delete -20
delete 60-
delete 30-40
delete 15
list

Expected Result
---------------
Error: No such line at: 15
50 print 50

test45.bas
==========
MID$ on left side

Test File
---------
10 mid$(a$,6,4) = "ABCD"
20 print a$
30 a$="0123456789"
40 mid$(a$,6,4) = "ABCD"
50 print a$
60 a$="0123456789"
70 let mid$(a$,6,4) = "ABCD"
80 print a$

Expected Result
---------------

01234ABCD9
01234ABCD9

test46.bas
==========
END used without program

Test File
---------
for i=1 to 10:print i;:next i:end

Expected Result
---------------
 1  2  3  4  5  6  7  8  9  10 

test47.bas
==========
MAT WRITE

Test File
---------
dim a(3,4)
for i=0 to 3
  for j=0 to 4
    a(i,j)=i*10+j
    print a(i,j);
  next
  print
next
mat write a

Expected Result
---------------
 0  1  2  3  4 
 10  11  12  13  14 
 20  21  22  23  24 
 30  31  32  33  34 
11,12,13,14
21,22,23,24
31,32,33,34

test48.bas
==========
Multi assignment

Test File
---------
a,b = 10
print a,b
dim c(10)
a,c(a) = 2
print a,c(2),c(10)
a$,b$="test"
print a$,b$

Expected Result
---------------
 10            10 
 2             0             2 
test          test

test49.bas
==========
Matrix determinant

Test File
---------
width 120
dim a(7,7),b(7,7)
mat read a
mat print a;
print
data 58,71,67,36,35,19,60
data 50,71,71,56,45,20,52
data 64,40,84,50,51,43,69
data 31,28,41,54,31,18,33
data 45,23,46,38,50,43,50
data 41,10,28,17,33,41,46
data 66,72,71,38,40,27,69
mat b=inv(a)
mat print b
print det

Expected Result
---------------
 58  71  67  36  35  19  60 
 50  71  71  56  45  20  52 
 64  40  84  50  51  43  69 
 31  28  41  54  31  18  33 
 45  23  46  38  50  43  50 
 41  10  28  17  33  41  46 
 66  72  71  38  40  27  69 

 9.636025e+07                320206       -537449        2323650      -1.135486e+07                3.019632e+07         
              -9.650941e+07               
 4480          15           -25            108          -528           1404         -4487         
-39436        -131           220          -951           4647         -12358         39497        
 273240        908          -1524          6589         -32198         85625        -273663       
-1846174      -6135          10297        -44519         217549       -578534        1849032      
 1.315035e+07                43699        -73346         317110       -1549606       4120912      -1.31707e+07 

-9.636079e+07               -320208        537452       -2323663       1.135493e+07               -3.019649e+07         
               9.650995e+07               
 1 

test50.bas
==========
Min and max function

Test File
---------
print min(1,2)
print min(2,1)
print min(-0.3,0.3)
print min(-0.3,4)
print max(1,2)
print max(2,1)
print max(-0.3,0.3)
print max(-0.3,4)

Expected Result
---------------
 1 
 1 
-0.3 
-0.3 
 2 
 2 
 0.3 
 4 

test51.bas
==========
Print items

Test File
---------
PRINT "Line 1";TAB(78);1.23456789

Expected Result
---------------
Line 1                                                                       
 1.234568 

test52.bas
==========
MAT INPUT

Test File
---------
dim a(2,2)
mat input a
mat print a
mat input a
mat print a

Test File
---------
1,2,3,4,5
1
3,4

Expected Result
---------------
? 
 1             2            
 3             4            
? ? 
 1             0            
 3             4