| ステップ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 命令 | PUSH | PUSH | POP | PUSH | PUSH | PUSH | PUSH | POP | POP | PUSH |
| 位置 | 上 | … | … | … | 底 |
|---|---|---|---|---|---|
| 値 | 192 | 55 | 326 | 7 | 29 |
PUSH 命令でスタックにデータを入れ、POP 命令でスタックからデータを取り出す。動作中のプログラムにおいて、ある状態から次の順で 10 個の命令を実行したとき、スタックの中のデータは表のようになった。1 番目の PUSH 命令でスタックに入れたデータはどれか。 スタックの中のデータ(上から底へ):
イ. 7
純増 6push - 3pop = 3 要素分の純増。スタックが 5 要素になるためには初期 2 要素から、最後まで底に残る要素は最初の 2 要素のうち上のもの、すなわち 1 番目の PUSH で入れたデータが最終的にスタック底にある。図のスタック最下部は 29、その上が 7 で、命令の追跡から 1 番目の PUSH のデータは 7。
基本情報技術者試験 令和元年度 科目A 修了認定試験 の過去問一覧へ戻る・問8