平成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)
/(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)"として表記」に従って順番に計算していきます。
- /(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)
広告