次の一連の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)より,w1 ← c÷d ・・・(1)
+(b, w1, w2)より,w2 ← b+w1
(1)よりw2 ← b+c÷d ・・・(2)
÷(e, f, w3)より,w3 ← e÷f ・・・(3)
-(w3, g, w4)より,w4 ← w3-g
(3)より,w4 ← e÷f-g ・・・(4)
×(w2, w4, x) より,x ← w2×w4
(2)(4)より,(b+c÷d)×(e÷f-g)