アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20180722 実施分 問20
コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。
(演算子,被演算子1,被演算子2,結果)
この形式は,被演算子1と被演算子2に演算子を作用させたものが結果であることを表す。次の一連の四つ組は,どの式を構文解析したものか。ここで,T₁,T₂,T₃は一時変数を表す。
(*,B,C,T₁)
(/,T₁,D,T₂)
(+,A,T₂,T₃)
四つ組:
(*,B,C,T₁)
(/,T₁,D,T₂)
(+,A,T₂,T₃)
- ア A+B*C/D
- イ A+B*C/T₂
- ウ B*C+A/D
- エ B*C+T₁/D
出典:基本情報技術者試験 科目A免除 修了試験 20180722 実施分 問20
答えと解説を見る
正解:ア
覚える知識
3アドレス命令列から式への復元
四つ組(演算子,被演算子1,被演算子2,結果)の一時変数を順に置換して元の式を復元する。
この問題で必要なこと
T1=B*C、T2=T1/D、T3=A+T2を代入して、A+B*C/Dを得る。
ひっかけ
演算の優先順位と一時変数の置換を取り違えること。
この知識の出題:本試験系 2 回・免除試験 12 回(公開問題での観測値)