アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20230611 実施分 問14
次の一連の 3 アドレス命令で得られる結果 x を表す式はどれか。ここで,3 アドレス命令では,三つのオペランドを用いた命令 “c ← a op b” を “op ( a,b,c )” と表記する。また,op は一つの演算子を表し,結果 x を表す式における演算子は ×,÷,+,- の順に優先される。
3アドレス命令列:
÷ ( c,d,w1 )
+ ( b,w1,w2 )
÷ ( e,f,w3 )
- ( w3,g,w4 )
× ( w2,w4,x )
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20230611 実施分 問14(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:エ
覚える知識
3アドレス命令列から式への復元
3アドレス命令列は中間結果を順に代入して式に復元する。
この問題で必要なこと
w1=c÷d、w2=b+w1、w3=e÷f、w4=w3−g、x=w2×w4 より x=(b+c÷d)×(e÷f−g)。
ひっかけ
演算子の優先順位から括弧を落とした式を並べる。
この知識の出題:本試験系 2 回・免除試験 12 回(公開問題での観測値)