本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:次のスタック操作を実行したとき、最後にスタックの一番上にある…

データ構造及びアルゴリズム 難しい fe_b_v90_alg_q155

問題

次のスタック操作を実行したとき、最後にスタックの一番上にある値はどれか。

push(4)
push(7)
push(2)
x ← pop()
y ← pop()
push(y - x)
push(3)
x ← pop()
y ← pop()
push(y × x)
x ← pop()
y ← pop()
push(x - y)
return top()
  1. 9
  2. 10
  3. 11(正解)
  4. 12
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.x 科目B範囲

正解と解説

正解:11

スタックは後入れ先出しです。最初に2と7を取り出して7-2=5を積みます。次に3と5を取り出して5×3=15を積みます。最後に15と4を取り出して15-4=11を積みます。

引き算ではpopした順序を取り違えると別の値になります。

Hardでの確認点:スタックでは最後に入れた値から取り出します。xとyに入る順番が式の左右に影響するため、減算や除算では特に注意しましょう。スタックの中身を毎操作後に書くと、途中値を取り違えにくくなります。

追加の確認:Hard問題では、正解値だけでなく、途中の更新規則を一つずつ確認しましょう。どの条件で変数・添字・候補集合が変わるのかを見落とすと、もっともらしい選択肢に引っかかりやすくなります。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.x 科目B範囲

擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

参考文献・出典(公式情報)

RELATED

関連問題