開発ツール (全32問中1問目)
No.1
次の一連の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)
出典:令和5年免除 問14
- b+c÷d×e÷f-g
- b+c÷d×(e÷f-g)
- (b+c÷d)×e÷f-g
- (b+c÷d)×(e÷f-g)
- [出典]
- 午前免除試験 R5-6月 問14
- 基本情報技術者 H22 問22と同題
分類
テクノロジ系 » ソフトウェア » 開発ツール
正解
エ
解説
設問の指示である"c=a op b"⇒"op(a,b,c)"に従って、各3アドレス命令を命令の形に戻していきます。
- ÷(c,d,w1) ⇒ w1=c÷d
- +(b,w1,w2) ⇒ w2=b+w1
w1=c÷dより、w2=b+c÷d - ÷(e,f,w3) ⇒ w3=e÷f
- -(w3,g,w4) ⇒ w4=w3-g
w3=e÷fより、w4=e÷f-g - ×(w2,w4,x) ⇒ x=w2×w4
w2=b+c÷d、w4=e÷f-gより、x=(b+c÷d)×(e÷f-g)