10 CONTROL CRT,100;1 ! 実行時、漢字(2byte文字)の使用可 20 CLEAR SCREEN ! 表示域をクリア 30 PRINT "-- Test Start --" !テスト開始 40 ! -- メインルーチン MAIN -- 50 DIM A(1:5),B(1:10) ! このMAINプログラムで配列Aは使用しますが、配列Bは使用しません 60 FOR I=1 TO 3 ! 3回繰り返し 70 A(I)=I*10 ! 配列要素AのI番目にIの値x10を収納 80 PRINT "MAIN -->I=";I ! Iの値を表示 90 PRINT "MAIN -->A(*)=";A(*) ! 配列Aの配列要素すべてを表示 100 CALL Sub1(I,A(I),A(*)) ! サブルーチンSub1を実行 110 PRINT "MAIN Sub1-->A(*)=";A(*) ! サブルーチンSub1を実行後の配列Aの配列要素すべてを表示 120 NEXT I ! FOR I〜ループの抜けだし条件を確認 130 PRINT "-- Test End --" ! テスト終了 140 END ! HTBasicの終了(Idle状態) 150 ! -- サブルーチン Sub1 -- 160 SUB Sub1(J,A,B(*)) ! 引数の使用確認のため、MAINルーチンと変数名を変更 170 ! 1)MAINの変数名Iの値がSub1の変数名Jに渡っているか 180 ! 2)MAINの変数名Aの配列要素番号Iの値がSub1の変数名Aに渡っているか 190 ! 3)MAINの変数名Aの配列要素すべての値がSub1の変数名Bに渡っているか 200 PRINT "SUB Sub1 -->J=";J ! MAINの変数名I、すなわちSub1の変数名Jを表示 210 PRINT "SUB Sub1 -->B(*)=";B(*) ! MAINの変数名A、すなわちSub1の変数名Bの配列要素すべてを表示 220 PRINT "SUB Sub1 -->A=";A ! MAINの変数名AのI番目の配列要素A(I)、すなわちSub1の変数名Aを表示 230 B(J)=B(J)+1 ! MAINの変数名AのI番目の配列要素A(I)、 240 ! すなわちSub1変数名BのI番目の配列要素B(J)に1を加える 250 PRINT "SUB Sub1 -->B(J)=";B(J) ! 加えられた後のMAINのA(I)、すなわちSub1の変数名Bの要素B(J)を表示 260 SUBEND ! サブルーチン Sub1 の終了 270 ! --