問題
スタック 1,2 があり、図の状態になっている。関数 f はスタック 1 からポップしたデータをそのままスタック 2 にプッシュする。関数 g はスタック 2 からポップしたデータを出力する。b,c,d,a の順番に出力するためには、関数をどの順で実行すればよいか。

選択肢
- 1f, f, g, f, f, g, g, g
- 2f, f, g, f, g, f, g, g
- 3f, f, g, f, g, g, f, g
- 4f, f, g, g, f, f, g, g
正解
2. f, f, g, f, g, f, g, g
詳しい解説を見る解説を閉じる
解説
スタック 1 は上から a,b,c,d の順。f を 2 回で a,b をスタック 2 へ移すとスタック 2 は上から b,a。g で b を出力する。次に f で c を移し(スタック 2 は c,a)g で c を出力、f で d を移し(d,a)g で d を出力、最後に g で a を出力する。実行順は f,f,g,f,g,f,g,g となり、イが正しい。(出典: 平成23年度 秋期 基本情報技術者試験 午前 問5)
一問一答
科目A 180問+科目B 60問