カコモンノート

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

8 / 80問
平成30年度 春期2018年

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

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 3

解説

正解は3。再帰呼出しでは、後から呼び出された処理ほど先に終わって呼出し元へ戻る。そのため、呼出しのたびに保存したレジスタやメモリの内容は、最後に保存したものから順に取り出す必要がある。この「後入れ先出し」がLIFOで、実現にはスタックを使う。

  • 1のFIFOは先入れ先出しで、キューに使う。先に保存したものから取り出すので、再帰の戻り順と合わない。
  • 2のLFUは、使用回数が最も少ないページを追い出すページ置換えの方式で、保存と復帰の順序管理とは関係がない。
  • 4のLRUは、最後に使われてから最も時間がたったページを追い出すページ置換えの方式。

根拠:データ構造(スタックとキュー)とページ置換えアルゴリズムの区別。

KEY POINT
再帰呼出しのレジスタ退避と復帰は後入れ先出し(LIFO)で、スタックを使って実現する。
出典:平成30年度 春期 応用情報技術者試験 午前 問8(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。