必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 基本情報技術者
  3. 平成22年度春季問題一覧
  4. 平成22年度春季問題22-解答・解説-分析

平成22年度春季問題

問題22

次の一連の3アドレス命令で得られる結果xを表す式はどれか。ここで,3アドレス命令では,三つのオペランドを用いた命令“c=a op b”を“op(a,b,c)”として表記する。op は一つの演算子を表し,結果xを表す式においては優先順位の高い順に*,/,+,-とする。

/(c,d,w1)
+(b,w1,w2)
/(e,f,w3)
-(w3,g,w4)
*(w2,w4,x)
b+c/d*e/f-g
b+c/d*(e/f-g)
(b+c/d)*e/f-g
(b+c/d)*(e/f-g)

次の一連の3アドレス命令で得られる結果xを表す式はどれか。ここで,3アドレス命令では,三つのオペランドを用いた命令“c=a op b”を“op(a,b,c)”として表記する。op は一つの演算子を表し,結果xを表す式においては優先順位の高い順に*,/,+,-とする。

/(c,d,w1)
+(b,w1,w2)
/(e,f,w3)
-(w3,g,w4)
*(w2,w4,x)
b+c/d*e/f-g
b+c/d*(e/f-g)
(b+c/d)*e/f-g
(b+c/d)*(e/f-g)

解答:エ

<解説>

各命令を計算式に直す。

/(c, d, w1) w1=c/d
+(b, w1, w2) w2=b+c/d
/(e, f, w3) w3=e/f
-(w3, g, w4) w4=e/f-g
*(w2, w4, x) x=(b+c/d)*(e/f-g)