本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 春期 基本情報技術者試験問題と解説

問5

次の二つのスタック操作を定義する。
 PUSH n : スタックにデータ (整数値n) をプッシュする。
 POP: スタックからデータをポップする。
空のスタックに対して、次の順序でスタック操作を行った結果はどれか。

PUSH 1 → PUSH 5 → POP → PUSH 7→ PUSH 6 → PUSH 4 → POP → POP → PUSH 3


 ア│ │  イ│ │  ウ│ │  エ│ │
  ├─┤   ├─┤   ├─┤   ├─┤
  │1│   │3│   │3│   │6│
  ├─┤   ├─┤   ├─┤   ├─┤
  │7│   │4│   │7│   │4│
  ├─┤   ├─┤   ├─┤   ├─┤
  │3│   │6│   │1│   │3│
  └─┘   └─┘   └─┘   └─┘


正解


解説

スタックの状態は以下のように変化していく。
※便宜上、スタックの状態を左から順に表記する。

PUSH 1 ・・・ 1
PUSH 5 ・・・ 5, 1
POP   ・・・ 1
PUSH 7 ・・・ 7, 1
PUSH 6 ・・・ 6, 7, 1
PUSH 4 ・・・ 4, 6, 7, 1
POP   ・・・ 6, 7, 1
POP   ・・・ 7, 1
PUSH 3 ・・・ 3, 7, 1

従って、上から順に 3、7、1が正解。

問4 目次 問6