Risa/Asir ではいくつかの処理を関数としてひとまとめにすることが できる. 関数は
def 関数名() { 関数の中でやる処理 }
なる形式で定義する. これは関数名にその手続きを登録しているだけで実際の実行を させるには以下のように入力する必要がある.
関数名();
たとえば
,
に数をセットすると2 次方程式
の解の近似値を求めるプログラムは次のようにして関数として
まとめるとよい.
なおプログラム中で
,
は変数 B, C に対応している.
@i
は虚数単位 である.
def quad() { B = 1.0; C=3.0; D = B^2-4*C; if (D >= 0) { DQ = deval(D^(1/2)); print([ -B/2+DQ/2, -B/2-DQ/2]); }else { DQ = deval((-D)^(1/2)); print([ -B/2+@i*DQ/2, -B/2-@i*DQ/2]); } } quad();
|
上のプログラムで 変数 B, C の値をいちいち変更するのは面倒である. そのような時には B, C を関数の引数とするとよい.
def quad2(B,C) { D = B^2-4*C; if (D >= 0) { DQ = deval(D^(1/2)); print([ -B/2+DQ/2, -B/2-DQ/2]); }else { DQ = deval((-D)^(1/2)); print([ -B/2+@i*DQ/2, -B/2-@i*DQ/2]); } } quad2(1.0,3.0); quad2(2.0,5.0); quad2(3.0,1.2);
|
プログラミングにはいろいろと格言があるが, その一つは,
困難は分割せよ.
である. 関数をもちいることにより, 処理をさまざまなグループに分解して 見通しよく処理することが可能となる. 関数については, 第 8 章でくわしく説明する.