[0303] 再帰的プログラム

平成11年度秋期 (旧)第2情報処理技術者試験より
再帰的プログラムに関する記述として、適切なものはどれか。
自分の中から自分を呼び出すことができる。
主記憶の任意のアドレスに配置して実行できる。
複数のタスクから同時に呼び出されても正しく処理できる。
ロードし直さずに繰り返し実行できる。

正解

解説

 まずは、再帰的(リカーシブ)について説明します。

■ 再帰的(リカーシブ)

自プログラムから、自身自身を呼び出して実行できるプログラムのことを、再帰的(リカーシブ)プログラムといいます。再帰的に呼び出すには、呼び出す際にプログラムの実行状態やデータをスタックへ保存(プッシュ)し、呼び出し元へ処理が戻ったときにスタックからデータを読み出す(プル)仕組みが必要になります。



 リカーシブの考え方を利用するプログラムの例としては、階乗の計算があります。掛け算をする処理をサブルーチンとして定義し、そのサブルーチン内で自分自身を呼び出して、階乗の計算をしていきます。リカーシブのアルゴリズムは、上手に適用するとプログラムをコンパクトに記述できる場合が多く、階乗の計算も簡潔に記述できるようになります。

 それでは選択肢をみていきましょう。


 自分の中から自分を呼び出すことができる。
再帰的(リカーシブ)の説明です。

 主記憶の任意のアドレスに配置して実行できる。
再配置可能(リロケータブル)の説明です。

 複数のタスクから同時に呼び出されても正しく処理できる。
再入可能(リエントラント)の説明です。

 ロードし直さずに繰り返し実行できる。
再使用可能(リユーザブル)の説明です。


 よって、アが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題