前頁 メニュー 次頁
内部絵定義 ☆
内部絵定義(PICTURE〜END PICTURE構文)は,内部手続きの一つで,機能的には副プログラムとほとんど同じもの。
内部絵定義は,プログラム単位の内部に書かれる絵定義で,PICTURE行で始まり,END PICTURE行で終わる。
例3 内部絵定義
100 OPTION ANGLE DEGREES
110 SET WINDOW -4,4,-4,4
120 DRAW polygon(6)
130 DRAW polygon(7) WITH ROTATE(-90/7)*SCALE(1.5)*SHIFT(2,2)
140 PICTURE polygon(n)
150 FOR i=0 TO n
160 PLOT LINES:COS(i*360/n),SIN(i*360/n);
170 NEXT i
180 END PICTURE
190 END
解説
100行から190行まで,すなわちプログラム全体が主プログラム。
140行から180行までの部分が内部絵定義。
内部絵定義の特徴
内部絵定義の内部で利用している引数以外の変数は,プログラム単位中の同名の変数と共有される。
たとえば,次のプログラムでは,120行から140行で用いられる変数iと絵定義polygonでのiとは区別されない。
そのため,130行でpolygonを呼び出したときにiの値が書き換えられてしまい,for〜nextループが正しく動作しない。
例4
100 OPTION ANGLE DEGREES
110 SET WINDOW -4,4,-4,4
120 FOR i=-4 to 4
130 DRAW polygon(7) WITH SHIFT(i,i)
140 NEXT i
150 PICTURE polygon(n)
170 FOR i=0 TO n
180 PLOT LINES:COS(i*360/n),SIN(i*360/n);
190 NEXT i
200 END PICTURE
210 END