平成24年春期午後問2

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
見えさん  
(No.1)
https://www.fe-siken.com/kakomon/24_haru/pm02.html

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

>「mとnの結果を先に計算し、結果をtに代入する」
これは共通部分式の削除にあたります。ループ内不変式の移動は「"t←m+n"をループの外に出す」ただそれだけです。
2022.05.11 13:12

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop