HOME»基本情報技術者試験掲示板»平成24年春期午後問2
投稿する

平成24年春期午後問2 [4240]

 見えさん(No.1) 
https://www.fe-siken.com/kakomon/24_haru/pm02.html

設問3について
「mとnの結果を先に計算し、結果をtに代入する」という点では選択肢「共通部分式の削除」と「ループ内不変式の移動」、どちらも当てはまると思いますが、この問題で前者を選択させる決め手のようなものはあるのでしょうか。
2022.05.09 17:31
chihiroさん(No.2) 
FE プラチナマイスター
表2の最適化は
①"m+n"の部分を"t←m+n"に置き換える(共通部分式の削除)
②"t←m+n"をループの外に出す(ループ内不変式の移動)
③ループを展開する(ループのアンローリング)
という手順で行われますが、演算順序は①の時点で変更されています。なので演算順序の変更の直接の原因は①:共通部分式の削除です。"t←m+n"はループの中にいようが外にいようが演算順序には影響しません。

>「mとnの結果を先に計算し、結果をtに代入する」
これは共通部分式の削除にあたります。ループ内不変式の移動は「"t←m+n"をループの外に出す」ただそれだけです。
2022.05.11 13:12
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop