過去問.com - 資格試験の過去問 | 予想問題の解説つき無料問題集

技術士の過去問 令和元年度(2019年) 基礎科目「情報・論理に関するもの」 問12

問題

このページは問題閲覧ページです。正解率や解答履歴を残すには、 「条件を設定して出題する」をご利用ください。
[ 設定等 ]
スタックとは、次に取り出されるデータ要素が最も新しく記憶されたものであるようなデータ構造で、後入れ先出しとも呼ばれている。スタックに対する基本操作を次ように定義する。
 ・「PUSH n」スタックに整数データnを挿入する。
 ・「POP」スタックから整数データを取り出す。
空のスタックに対し、次の操作を行った。
PUSH 1、PUSH 2、PUSH 3、PUSH 4、POP、POP、PUSH 5、POP、POP
このとき、最後に取り出される整数データとして、最も適切なものはどれか。
   1 .
1
   2 .
2
   3 .
3
   4 .
4
   5 .
5
( 技術士 第一次試験 令和元年度(2019年) 基礎科目「情報・論理に関するもの」 問12 )
このページは問題閲覧ページの為、解答履歴が残りません。
解答履歴を残すには、
条件を設定して出題する」をご利用ください。

この過去問の解説 (4件)

21

プログラミングのデータ処理に関する問題です。

問題文より、
・「PUSH n」スタックに整数データnを挿入する。
・「POP」スタックから整数データを取り出す。

と分かります。

一つの容器(スタック)に数字が積まれていき(PUSH)、上から順に取り出していく(POP)ようなイメージを持って下さい。
順を追って解説します。

1.PUSH1,PUSH2,PUSH3,PUSH4にて、容器には数字1234の順で入っています。

[容器イメージ]

|4|

|3|

|2|

2.2回のPOPで上二つの数字が取り出されます。 

| |

| |

|2|

3.PUSH5にて、5が入ります。

| |

|5|

|2|

4.二回のPOPで上二つの数字が取り出されます。

| |

| |

| |


最後に取り出されるのは2となります。

よって、正解は2です。

付箋メモを残すことが出来ます。
6
一列の箱を考えるとわかりやすいです。

PUSHを1234実施するため、箱には1234の順で入っています。

POPで取り出しされるのは4です。

POPで取り出されるのは3です。

PUSHで125の順に箱に入っています。

POPで取り出されるのは5です。

POPで取り出されるのは2です。

よって、最後に取り出されるのは 2 です。

2

アルゴリズムに関する問題です。

POPは最も新しいPUSHの整数データを取り出しますので
PUSH1、PUSH2、PUSH3、PUSH4の順番に挿入された時点で

データ「1、2、3、4」の通り並んでいる場合

次にPOPの操作をすると、先に4が取り出され「1、2、3」のデータが残ります。

続いて、POPの操作で1、2

その後PUSH5の操作で1、2、5

その後POPの操作が2回続きますが、最後のPOPの操作で
取り出される整数データは2になります。

したがって、選択肢の2が正解になります。

1

<正解>2

[解説]

スタックに操作を行った場合に取り出されるデータを答える問題です。

問題文の操作を順に行った場合、以下のようになります。

PUSH 1 → スタックに1が入る

 (操作後、一番上にある整数データは1)

PUSH 2 → スタックに2が入る

 (操作後、一番上にある整数データは2)

PUSH 3 → スタックに3が入る

 (操作後、一番上にある整数データは3)

PUSH 4 → スタックに4が入る

 (操作後、一番上にある整数データは4)

POP → スタックから4を取り出す

 (操作後、一番上にある整数データは3)

POP → スタックから3を取り出す

 (操作後、一番上にある整数データは2)

PUSH 5 → スタックに5が入る

 (一番上にある整数データは5)

POP → スタックから5を取り出す

 (操作後、一番上にある整数データは2)

POP  → スタックから2を取り出す

よって、最後に取り出される整数データは、「2」となり、正解は2となります。

問題に解答すると、解説が表示されます。
解説が空白の場合は、広告ブロック機能を無効にしてください。
他のページから戻ってきた時、過去問ドットコムはいつでも続きから始めることが出来ます。
また、広告右上の×ボタンを押すと広告の設定が変更できます。
この技術士 過去問のURLは  です。
付箋は自分だけが見れます(非公開です)。