基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [平成31年春午前] [平成31年春午後]

平成22年 春期 基本情報技術者 午前 問22
問22   3アドレス命令で得られる結果を表す式

 次の一連の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 = a op b”を“ op (a,b,c)”と して表記するので、問題の一連の3アドレス命令は次のようになる。
  • /(c,d,w1)は、w1 =c / d
  • +(b,w1,w2)は、w2 =b +w1
  • /(e,f,w3)は、w3 =e / f
  • −(w3,g,w4)は、w4 =w3 − g
  • *(w2,w4,x)は、x =w2 * w4
よって、

 x =w2 * w4
  =(b +w1)*(w3 − g)
  =(b +c /d)*(e / f − g)
となる。


[←前の問題] [次の問題→] [問題一覧表] [分野別] [キーワード索引] [基本情報技術者試験TOP ]