技術士の技事録

新米技術士が、IT技術動向・高度資格試験対策等、現役SE向け情報を発信します。

技術士第一次試験専門科目 平成22年度 Ⅲ-3

問題

以下の命令を持ったスタックマシンを想定する。
pushxスタックにデータxをプッシュする。
dupスタックの最上部のデ}タを複製してスタックにプッシュする。
swapスタックの最上部の2つのデ}タの位置を交換する。
addスタックから2つのデータをポップし,その和をスタックにプッシュする。
subスタックから2つのデータをポップし,その差をスタックにプッシュする。
(スタック最上部2番目のデータから最上部のデータを引く。)
mu工スタックから2つのデータをポップし,その積をスタックにプッシュする。
divスタックから2つのデータをポップし,その商をスタックにプッシュする。
(スタック最上部2番目のデータを最上部のデータで割る。)

このとき,(2-a-b)2I(a+b)を計算した結果をスタック最上部に残すプログラムを次のように記述した。[ ア ]〜[ エ ]に当てはまる命令の組合せとして最も適切なものを①〜⑤の中から選べ。

push a
push b
add
[ ア ]

push 2
[ イ ]
sub
dup
[ ウ ]
[ エ ]
div

選択肢

 
dup swap mul swap
dup swap swap mul
swap swap mul dup
push a push b mul add
dup swap push 2 sub

 

答え

 ①

解説

 

次の問題へ専門科目TOPへ技術士TOPへ