正答2
解説
正解は2です。
再帰呼出し(リカーシブコール)の定義を問う問題です。
再帰呼出しとは、関数やサブルーチンが実行中に自分自身を呼び出すことです。
階乗やハノイの塔、木構造のたどりなどを簡潔に書けます。
【選択肢別解説】
1:× 起きた事象に応じて処理を行うのは、イベントドリブン(事象駆動)の説明です。
自分自身を呼び出すこととは関係ありません。
2:○ 関数の中で自分自身を呼び出して処理を行うのが再帰呼出しです。
例えばn!は、n×(n−1)!として自分自身を使って定義できます。
3:× 処理後もプログラムをメモリに残して再び使うのは、再使用可能プログラムなどの考え方です。
自分自身を呼び出す仕組みではありません。
4:× 失敗時に処理前の状態へ戻すのは、ロールバックの説明です。
データベースのトランザクション処理などで使われます。
【ポイント】
再帰呼出しを行うプログラムは、呼出しごとに変数の領域をスタックに確保します。
再帰呼出しが可能なプログラムを再帰的(リカーシブ)プログラムといいます。
終了条件がないと呼出しが止まらず、スタックがあふれます。