平成23年 春期 応用情報技術者 午前 問7

PUSH命令でスタックにデータを入れ、POP命令でスタックからデータを取り出す。
動作中のプログラムにおいて、ある状態から次の順で10個の命令を実行したとき、スタックの中のデータ次のようになった。
1番目のPUSH命令でスタックに入れたデータはどれか。

 ア  29
 イ  7
 ウ  326
 エ  55


答え イ


解説
実行した処理を「PUSH a → PUSH b → POP → PUSH c → PUSH d → PUSH e → PUSH f POP → POP → PUSHg」として、スタックの状態を考える。(最初、スタックは空とする。)

  1. PUSH aでスタックは[a]
  2. PUSH bでスタックは[b, a]
  3. POPでスタックからデータbを取り出し[a]
  4. PUSH cでスタックは[c, a]
  5. PUSH dでスタックは[d, c, a]
  6. PUSH eでスタックは[e, d, c, a]
  7. PUSH fでスタックは[f, e, d, c, a]
  8. POPでスタックからデータfを取り出し[e, d, c, a]
  9. POPでスタックからデータeを取り出し[d, c, a]
  10. PUSH gでスタックは[g, d, c, a]
したがって、最初にPUSHしたデータはスタックの上から4番目なので7(イ)になる。


キーワード
・スタック

キーワードの解説

戻る 一覧へ 次へ