平成24年度 春期 基本情報技術者試験 午前 問8
テクノロジ/アルゴリズム再帰呼出しの説明はどれか。
出典:平成24年度 春期 基本情報技術者試験 午前 問8
- アあらかじめ決められた順番ではなく,起きた事象に応じた処理を行うこと
- イ関数の中で自分自身を用いた処理を行うこと
- ウ処理が終了した関数をメモリから消去せず,必要になったとき再び用いること
- エ処理に失敗したときに,その処理を呼び出す直前の状態に戻すこと
正解:イ
解説
再帰呼出しとは,ある関数(サブルーチン)が処理の途中で自分自身を呼び出す処理方式です。問題を同じ形の小さな部分問題に分割し,それぞれに対して同じ関数を適用することで,階乗計算や木構造の探索など繰返し構造をもつ処理を簡潔に記述できます。
選択肢ごとの解説
- ア誤り。これは割込み処理のようにイベント駆動で処理を行う方式の説明であり,再帰呼出しとは関係ありません。
- イ正しい。関数の中で自分自身を呼び出して処理を行うことが,再帰呼出しの定義そのものです。
- ウ誤り。これはガーベジコレクションを行わずに終了した関数を再利用するような説明であり,再帰呼出しではありません。
- エ誤り。これは例外処理やロールバックの説明であり,再帰呼出しとは異なります。