引数を使う関数によりmからnまでの合計を計算する
図5-1は整数1と10を関数waの引数として与え、関数waを呼び出すプログラムである。呼び出し側の引数は実引数と言われる。呼び出すと制御が図5-2の関数wa(m,n)に移る。その時、図5-1の関数の呼び出しwa(1,10)の1が図5-2のwa(m,n)のmにコピーされる。同じように10がnにコピーされる。図5-2は関数wa(m,n)の定義であり、これらの引数は仮引数と呼ばれる。実引数と仮引数の順番は一致していなければならない。引数の数にかかわらず、順番が同じ引数間でコピーが行われる。この例の場合、定義関数の中でmまらnまでの合計が計算され結果がsに入る。図5-3はステージ左上に表示された結果である。
定義関数の中で、sをi (始めi=m)づつ変化させ、iを1づつ変化させる。これをi>nになるまで繰り返す。そうするとsにmからnが加算される。
以下スクリプトの作成:
1.「イベント」から「旗がクリックされたとき」を選びスクリップトエリアに移動させる。
2.「データ」の中で、i,sを宣言する(変数プログラム(図5-1, 図5-2)全体で有効)。
3.「その他」の「ブロックを作る」をクリック、枠がでるので、そこに「wa」と入力し、さらに、オプションをクリックして、数値の引数を追加を2度クリックし(引数に数が2であるので)、引数名を編集して、この場合はmとnにし、OKをクリックする。「その他」の中に「wa(1,1)」ブロックができるので、これを図5-1のように繋げる。
- スクリプトエリアには図4-2のようにwa(m, n)の先頭ブロックがきる。
- そこで、図5-2のように関数wa(m, n)の本体を完成させる(合計が計算できるように)。
- 「データ」の変数i, sにをチェックを入れておく。これは表示させるため。
*実行すると、図5-3のように結果が表示される。答えはs=55である。