過去問解きまくり研究所 ホーム

平成30年度 春期 午前 問8

基礎理論

スタックに関する問題

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

答えと解説を見る

✓ これが正解ウLIFO

解説

最後に呼んだ順に戻るので、後入れ先出しのスタックを使います。

設問は、再帰的に呼び出したときのレジスタ及びメモリの内容を保存しておくための記憶管理方式を尋ねています。四つの記述はどれも三文字か四文字の略語なので、何を決める規則なのかで仕分けると見通しが立ちます。再帰の呼び出しは、呼んだ順に深く入っていき、最後に呼んだものから先に戻ってきます。つまり最後に保存した内容が最初に必要になるので、後入れ先出しの規則、すなわち LIFO が当てはまります。この規則で内容を積んでおく場所がスタックで、呼び出すたびに戻り番地とレジスタの内容を積み、戻るときは一番上から降ろします。一回分の呼び出しがひとまとまりの段として積み重なるため、何段深く入っても順序が狂いません。出し入れの順序を決める規則なのか、それとも何を追い出すかを決める規則なのか。この仕分けが分かれ目になります。

ほかの選択肢はなぜ違うのか

出典:平成30年度 春期 応用情報技術者試験 午前 問8

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)