基本情報技術者 平成22年秋期 午前問22

午前問22

コンパイラによる最適化の主な目的はどれか。
  • プログラムの実行時間を短縮する。
  • プログラムのデバッグを容易にする。
  • プログラムの保守性を改善する。
  • 目的プログラムを生成する時間を短縮する。
  • [この問題の出題歴]
  • 基本情報技術者 H20春期 問38
  • 基本情報技術者 H30春期 問18

分類

テクノロジ系 » ソフトウェア » 開発ツール

正解

解説

コンパイラは、高水準言語で書かれたソースプログラムを機械語にコンパイル(翻訳)し、プログラムを生成するソフトウェアです。

コンパイルの手順は、1.字句解析、2.構文解析、3.意味解析、4.最適化、5.コード生成の順番で行われ、このうち最適化では、処理時間や使用するメモリ量が少なくなるようにプログラムを再編成します。
具体的には、
  • 累乗を乗算に、乗算を加算にする。(加算のほうが処理速度が速い)
  • 値の変わらない変数を定数にする。
  • ループを展開・関数のインライン展開。
などの変換を行います。
  • 正しい。
  • デバッグを容易にするのは、トレーサ・インスペクタやメモリダンプのような開発支援ツールです。
  • 保守性を高めるには、ソースコードを記述する段階で、変数の命名規則やコメントの書き方など、プログラムの標準的な記述方式を定めることが必要です。
  • 生成する時間を短縮するには、コンパイラが行う最適化ではなく、コンパイルプログラム自体の最適化が必要です。
© 2010-2018 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop