アルゴリズムとプログラミング

平成27年度 秋期 基本情報技術者試験 午前 問19

コンパイラで構文解析した結果の表現方法の一つに四つ組形式がある。 (演算子,被演算子 1,被演算子 2,結果) この形式は,被演算子 1 と被演算子 2 に演算子を作用させたものが結果であることを表す。次の一連の四つ組は,どの式を構文解析したものか。ここで,T1,T2,T3 は一時変数を表す。
(*, B, C, T1) (/, T1, D, T2) (+, A, T2, T3) (T1, T2, T3 の数字は添え字)
  • ア A+B*C/D
  • イ A+B*C/T2
  • ウ B*C+A/D
  • エ B*C+T1/D

出典:平成27年度 秋期 基本情報技術者試験 午前 問19

答えと解説を見る

正解:ア

覚える知識

3アドレス命令列から式への復元

四つ組は演算ごとに結果の一時変数を作る中間表現で、順に代入して元の式へ復元する。

この問題で必要なこと

T1=B*C、T2=T1/D、T3=A+T2 なので A+B*C/D。

ひっかけ

一時変数が残ったままの式は選択肢として不完全で、優先順位の逆転した式も混ぜている。

この知識の出題:本試験系 2 回・免除試験 12 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「式の表し方とスタックの応用」で学ぶ

同じ知識の過去問