問題
選択肢
- 1繰返し回数が多いループを、繰返し回数が少ないループを複数回繰り返すように変更する。例えば、10,000 回実行するループを、100 回実行するループを 100 回繰り返すようにする。
- 2算術式の中で、加算で結果が得られれば演算は乗算で行うように変更する。例えば、"X+X" を "X*2" で置き換える。
- 3定数が格納された変数の値を参照前に追跡し、途中で値が変更されないことが確認できれば、その変数を定数で置き換える。
- 4プログラム中の 2 か所以上で同じ処理を行っている場合は、それらをサブルーチン化し、元のプログラムのそれらの部分をサブルーチン呼出しで置き換える。
正解
3. 定数が格納された変数の値を参照前に追跡し、途中で値が変更されないことが確認できれば、その変数を定数で置き換える。
詳しい解説を見る解説を閉じる
解説
定数伝播(constant propagation)は、変数に代入された定数値が途中で変更されないことを解析で確認し、その変数の参照箇所を定数に置き換える最適化である。これにより実行時の参照処理が省け高速化できる。アは逆に遅くなり、イは乗算より加算が速い場合が多く誤り、エはコードサイズ削減が主目的で実行時間短縮には直結しない。よってウが正解。(出典: 平成27年度 秋期 応用情報技術者試験 午前 問19)
一問一答
全400問を繰り返し学習