応用情報に戻る
難易度: 2015年度

応用情報技術者 過去問目的プログラムの実行時間を短くするためにコンパイ… 2015年度 第19問

問題

目的プログラムの実行時間を短くするためにコンパイラが行う最適化の方法として、適切なものはどれか。

選択肢

  1. 1繰返し回数が多いループを、繰返し回数が少ないループを複数回繰り返すように変更する。例えば、10,000 回実行するループを、100 回実行するループを 100 回繰り返すようにする。
  2. 2算術式の中で、加算で結果が得られれば演算は乗算で行うように変更する。例えば、"X+X" を "X*2" で置き換える。
  3. 3定数が格納された変数の値を参照前に追跡し、途中で値が変更されないことが確認できれば、その変数を定数で置き換える。
  4. 4プログラム中の 2 か所以上で同じ処理を行っている場合は、それらをサブルーチン化し、元のプログラムのそれらの部分をサブルーチン呼出しで置き換える。

正解

3. 定数が格納された変数の値を参照前に追跡し、途中で値が変更されないことが確認できれば、その変数を定数で置き換える。

詳しい解説を見る

解説

定数伝播(constant propagation)は、変数に代入された定数値が途中で変更されないことを解析で確認し、その変数の参照箇所を定数に置き換える最適化である。これにより実行時の参照処理が省け高速化できる。アは逆に遅くなり、イは乗算より加算が速い場合が多く誤り、エはコードサイズ削減が主目的で実行時間短縮には直結しない。よってウが正解。(出典: 平成27年度 秋期 応用情報技術者試験 午前 問19)

一問一答

全400問を繰り返し学習

同じ年度の過去問

この調子で演習を続けよう

スキマ資格では応用情報の全3360問を分野別・難易度別に体系的に学習できます。応用情報技術者試験(AP)は IPA が実施する情報処理技術者試験のレベル3。2026年度からCBT方式へ移行し、科目A(四肢択一80問)・科目B(記述11問中5問選択)の2部構成で、それぞれ基準点以上が必要です。テクノロジ・マネジメント・ストラテジの全分野から出題されます。