平成30年 春期 応用情報技術者 午前 問8

再帰的な処理を実現するためには、再帰的呼び出した時のレジスタ及びメモリの内容を保存しておく必要がある。
そのための記憶管理方式はどれか。

 ア  FIFO  イ  LFU  ウ  LIFO  エ  LRU


答え ウ


解説
再帰的な処理では、再帰呼び出しをするときそのときのレジスタの状態を記憶領域(メモリ)に退避して処理を行い、再帰処理から戻る(抜ける)時にメモリに退避したデータをレジスタにセットして呼び出し前の処理を継続します。
すなわち、最後にメモリにセットした内容を最初に取り出すのでこれはLIFO(Last-In, First-Out、ウ)になります。
なお、プログラムではこのLIFOで使用するメモリ領域のことをスタックエリアと呼び、再帰的処理だけではなく、一般的な関数呼び出しなどでも使用します。


キーワード
・スタック

キーワードの解説
  • スタック
    データを一時的に記憶するためにメモリに割り当てる領域のことです。
    データの取り出しを行うとき、取り出されるデータは最後に挿入されたデータになるので、後入れ先出し方式(Last-In First-Out、LIFO)とも呼ばれます。

もっと、「スタック」について調べてみよう。

戻る 一覧へ 次へ