def文 ☆☆☆ DEF文を利用すると,複雑な数式で表される関数がf(x),g(x,y)などと書けるようになる。 例 10 DEF f(x)=x^2+3*x+2 20 FOR x=-4 TO 4 30 PRINT x,f(x) 40 NEXT x 50 END ○ 仮引数 DEF文で関数名に続く括弧のなかに書く変数のことを仮引数という。 DEF文の仮引数と同名の変数がプログラム中にあっても,それらは数値の記憶場所としては別物となる。 例 10 DEF f(x)=x^3 20 LET x=4 30 PRINT f(2) 40 PRINT x 50 END を実行すると,40行で4が出力される。 (10行のxと,20行,40行に現われるxとは別物) ○ 変数の共有 DEF文では仮引数以外の変数はDEF行を含むプログラム単位
に共通。 例 10 DEF f(x)=a*x^2+b*x*c 20 INPUT a,b,c 30 PRINT f(1),f(2) 40 END 30行でf(1),f(2)を計算するとき,20行で入力したa,b,cの値が用いられる。 ○ 引数を持たない関数の定義 引数を持たない関数を定義することもできる。 例 10 DEF spot=INT(6*RND+1) 20 FOR i=1 TO 100 30 PRINT spot 40 NEXT i 50 END 空の引数部を持つ関数を定義することはできない。たとえば,10行を 10 DEF spot()=INT(6*RND+1) のように変えることはできない。 <Note> 十進モードのとき,Def文の実行結果は16桁を超える精度を持つ。(let文のように15桁に丸めるようなことをしない。)
<Note>
N88-BASICなどのインタプリタ型のBASICと異なり,プログラムの実行中にDEF文で定義された関数を定義し直すことはできない。