基本情報技術者試験 過去問解説

コンパイラとは?基本情報技術者試験 平成26年度 春期 午前 問18を解説

基本情報技術者試験 平成26年度 春期 午前 問18は、コンパイラに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

コンパイラにおける最適化の説明として,適切なものはどれか。

この問題の出題ポイント

  • コンパイラの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • 関連タグ: コンパイラ。

選択肢

  1. オブジェクトコードを生成する代わりに,インタプリタ用の中間コードを生成する。
  2. コンパイルを実施するコンピュータとは異なるアーキテクチャをもったコンピュータで動作するオブジェクトコードを生成する。
  3. ソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。正解
  4. プログラムの実行時に,呼び出されたサブプログラム名やある時点での変数の内容を表示するようなオブジェクトコードを生成する。

正解

: ソースコードを解析して,実行時の処理効率を高めたオブジェクトコードを生成する。

解説

コンパイラの最適化は、定数畳み込みやループ展開、命令スケジューリングなどの解析を行い、実行効率(速度・サイズ)が向上するオブジェクトコードを生成する処理を指します。

なぜ他の選択肢が違うのか

  • これは中間コード生成方式(Java バイトコード等)の説明で、最適化の定義ではありません。

  • クロスコンパイラの説明で最適化とは別概念です。

  • ウ(正解)

    解析結果を利用して効率の高いコードを出力するのが最適化の標準的説明です。

  • これはデバッグ用情報の埋込みで、最適化とはしばしば相反する処理です。

解き方の整理

コンパイラの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

平成26年度 春期 午前 の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。