テクノロジ系
春期
基本情報技術者 2010年 春期 問22
22 / 80
次の一連の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)
3アドレス命令を順に展開します。w1=c/d、w2=b+w1=b+c/d、w3=e/f、w4=w3−g=e/f−g、x=w2*w4=(b+c/d)*(e/f−g)となり、エが正解です。優先順位より演算順序(データ依存)が式の括弧を決めます。