戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2015年 春期 午前207


問題文

プログラムの実行に関する次の記述の下線部a〜dのうち、いずれかに誤りがある。誤りの箇所と正しい字句の適切な組合せはどれか。    自分自身を呼び出すことができるプログラムは、a 再帰的であるという。このようなプログラムを実行するときは、bスタックに局所変数、c 仮引数及び戻り番地を格納して呼び出し、復帰するときはd FIFO(First In First Out)方式で格納したデータを取り出して復元する必要がある。
応用情報技術者 2015年 春期 午前2 問07の選択肢の画像

選択肢

(正解)

プログラムの実行に関する記述の誤り箇所と正しい字句【午前2 解説】

要点まとめ

  • 結論:誤りは「d FIFO方式」で、正しくは「LIFO方式」であることが重要です。
  • 根拠:関数呼び出し時の戻り番地や局所変数はスタックに格納され、後入れ先出し(LIFO)で復元されます。
  • 差がつくポイント:スタックの動作原理を正確に理解し、FIFO(待ち行列)とLIFO(スタック)の違いを明確に区別できるかが鍵です。

正解の理由

プログラムの呼び出しと復帰の管理には「スタック」が使われます。スタックは「LIFO(Last In First Out)」方式で動作し、最後に格納したデータが最初に取り出されます。これにより、関数の呼び出し順序と復帰順序が正しく管理されます。問題文の「d FIFO方式」は誤りで、正しくはLIFO方式です。

よくある誤解

スタックの動作を「FIFO(First In First Out)」と混同しやすいですが、FIFOはキューの動作原理であり、関数呼び出しの管理には適しません。

解法ステップ

  1. 問題文の各下線部(a〜d)の意味を確認する。
  2. 「再帰的」「スタック」「仮引数」「FIFO方式」の用語の正確な意味を理解する。
  3. スタックの動作原理(LIFO)を思い出す。
  4. 各選択肢の誤り箇所と正しい字句を照合する。
  5. 「d FIFO方式」が誤りで「LIFO方式」が正しいと判断する。

選択肢別の誤答解説

  • ア(a:再帰的 → 再入可能)
    「再帰的」は「自分自身を呼び出す」意味で正しい。再入可能は別の概念。
  • イ(b:スタック → 待ち行列)
    呼び出し情報は「スタック」に格納されるため、待ち行列は誤り。
  • ウ(c:仮引数 → 実引数)
    仮引数は関数定義側の引数で正しい。実引数は呼び出し側の値。
  • エ(d:FIFO → LIFO)
    スタックはLIFO方式で動作するため、FIFOは誤り。正解はエ

補足コラム

プログラムの関数呼び出し管理には「コールスタック」が使われます。これはLIFO構造で、関数の呼び出し順序を逆順に復帰させるために不可欠です。FIFOはキューの動作原理で、プリントジョブの順番待ちなどに使われます。

FAQ

Q: なぜ関数呼び出しにスタックが使われるのですか?
A: 関数の呼び出しと復帰は入れ子構造であり、最後に呼び出した関数から先に復帰する必要があるため、LIFOのスタックが適しています。
Q: FIFOはどんな場面で使われますか?
A: FIFOはキュー構造で、順番待ちやバッファリングなど、先に入れたものから順に処理する場面で使われます。

関連キーワード: 再帰、スタック、LIFO, 関数呼び出し、コールスタック、仮引数、プログラム実行
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について