内部副プログラム

 副プログラムは,決まり切った計算手順を1個のものとして記述するのに用いる。
 内部副プログラムはプログラム単位の内側に書かれる副プログラムで,SUB行で始まり,END SUB行で終わる。SUB行では,副プログラム名と,もしあれば,仮引数を書く。仮引数は,変数名をコンマで区切り,括弧で括る。副プログラム名の命名規則は数値変数と同じ。
 副プログラムの実行にはCALL文を用いる。引数のある副プログラムを実行したいときは,関数を呼び出すときと同様の形で実引数部を書く。

100 OPTION ANGLE DEGREES
110 SUB circle(a,b,r)
120    FOR t=0 TO 360
130       PLOT LINES: a+r*COS(t),b+r*SIN(t);
140    NEXT t
150    PLOT LINES
160 END SUB
170 SET WINDOW -4,4,-4,4
180 CALL circle(1,-1,2)
190 CALL circle(-1,2,1)
200 END

 内部副プログラムでは,仮引数以外の変数はプログラム単位で共有される。
 プログラムの通常の実行の流れでSUB行に出会うとEND SUB行の次の行まで飛ぶ。
 call文を実行すると,指定された名前の副プログラムのSUB文の次の行から実行をはじめ,END SUB文を実行すると,CALL文の次の行に戻る。