関数と引数の試験問題への適用

本番では関数呼出しが式の途中に入り、複数回呼ばれたり、関数から別関数を呼んだりする。呼出しごとに引数値と戻り値を小さく計算する。

この単元で学ぶこと

  • 呼出しトレースの意味と役割を説明できる
  • ネスト呼出しの意味と役割を説明できる
  • 複数回呼出しの意味と役割を説明できる
  • 複数・ネスト関数呼出しを入力→戻り値へ分解して評価できる

本文解説

関数をブラックボックスのまま暗算せず、各呼出しの入力と出力を欄外へ書く。ネストした呼出しは内側から評価する。

呼出しトレース 関数呼出しごとの入力と戻り値を記録する。 同じ関数でも引数が違えば結果が違う。

ネスト呼出し 関数の引数に別の関数呼出しを含む。 通常は内側の戻り値から評価する。

複数回呼出し 同一関数を異なる入力で何度も使う。 各呼出しは個別に評価する。

局所計算 関数内の仮引数や局所変数で計算する。 呼出しごとの状態を混ぜない。

戻り値利用 戻り値を代入・比較・別関数引数に使う。 戻り値の型や値に応じて後続処理が決まる。

最も内側の呼出しから戻り値を求め、式へ置き換える。

double(x)=2x、inc(x)=x+1ならdouble(inc(3))はinc(3)=4→double(4)=8。

図解

ネスト関数の評価順
内側呼出し→戻り値置換→外側呼出しの順で追う。

重要ポイント

  • 呼出しトレース: 関数呼出しごとの入力と戻り値を記録する。
  • ネスト呼出し: 関数の引数に別の関数呼出しを含む。
  • 複数回呼出し: 同一関数を異なる入力で何度も使う。
  • 局所計算: 関数内の仮引数や局所変数で計算する。
  • 関数呼出しを一つずつ値に置き換えると複雑な式も単純になる。

間違えやすい点

  • 別呼出しの仮引数状態を混ぜない。
  • ネスト呼出しを外側から先に計算しない。
  • 戻り値を受け取らない呼出しと式中の呼出しを混同しない。

用語解説

呼出しトレース
関数呼出しごとの入力と戻り値を記録する。
ネスト呼出し
関数の引数に別の関数呼出しを含む。
複数回呼出し
同一関数を異なる入力で何度も使う。
局所計算
関数内の仮引数や局所変数で計算する。
戻り値利用
戻り値を代入・比較・別関数引数に使う。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。