本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説:再帰関数の説明として適切なものはどれか。

テクノロジ系 標準 fe_a_s046_q008

問題

再帰関数の説明として適切なものはどれか。

  1. 引数を取らない関数
  2. 複数の戻り値を返す関数
  3. 一度しか実行できない関数
  4. 関数が自分自身を呼び出す構造を持つ関数(正解)
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:関数が自分自身を呼び出す構造を持つ関数

再帰関数とは:正解はエです。再帰関数とは、関数の処理の中で自分自身を呼び出す関数のことです。大きな問題を同じ形の小さな問題に分けて解ける場合に使われ、階乗、フィボナッチ数列、ディレクトリ探索、木構造の走査などでよく登場します。

終了条件がカギ:再帰で重要なのは、必ず終了条件(基底条件)を置くことです。終了条件がないと自分自身を呼び続け、スタックオーバーフローなどの原因になります。アの引数なし、イの複数戻り値、ウの一度しか実行できない関数は、再帰の本質ではないと覚えておくと迷いません。

仕組み:再帰呼び出しのたびに、戻り先や引数・局所変数がコールスタックに後入れ先出しで積まれます。終了条件に達すると、積まれた順とは逆に下から処理が戻っていきます。なお同じ計算を繰り返し行う点では繰返し(ループ)でも書き換え可能で、深い再帰はスタック消費が大きい点に注意します。

他の選択肢はなぜ違う?

  • 引数の有無は再帰と無関係。
  • 戻り値の個数の話でもない。
  • 一度しか実行できない関数という概念ではない。自分自身を呼ぶ構造が再帰。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題