技術士試験ナビ

技術士試験対策・テキスト・過去問題解説を発信します。

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

 次の命令を持ったスタックマシンを想定する。

push x スタックにデータxをプッシュする。
dup      スタックの最上部のデータを複製してスタックにプッシュする。
swap    スタックの最上部の2つのデータの位置を交換する。
add      スタックから2つのデータをポップし,その和をスタックにプッシュする。
sub      スタックから2つのデータをポップし,その差をスタックにプッシュする。
           (スタック最上部2番目のデータから最上部のデータを引く。)
mul      スタックから2つのデータをポップし,その積をスタックにプッシュする。
div       スタックから2つのデータをポップし,その商をスタックにプッシュする。
           (スタック最上部2番目のデータを最上部のデータで割る。)

このとき,(a-b)2/(c+a-b) を計算した結果をスタック最上部に残す最も少ないプログラムの命令数はいくつか。

① 7  ② 8  ③ 9  ④ 10  ⑤ 11

 

 

答え

      ④

解説

 XXX