平成26年度 秋期 システムアーキテクト試験 午前Ⅱ 問10
テクノロジ/アルゴリズム次の流れ図において, ①→②→③→⑤→②→③→④→②→⑥ の順に実行させるために,①において m と n に与えるべき初期値 a と b の関係はどれか。ここで,a,b はともに正の整数とする。

出典:平成26年度 秋期 システムアーキテクト試験 午前Ⅱ 問10
- アa=2b
- イ2a=b
- ウ2a=3b
- エ3a=2b
正解:エ
解説
流れ図の実行順序①→②→③→⑤→②→③→④→②→⑥から,mとnの値の変化をたどります。①でm=a,n=bとなります。1回目の②の判定はm≠nで③へ進み,③の判定はm<nで⑤(n-m→n)へ進むため,この時点でa<bであり,n=b-aとなります。2回目の②の判定は再びm≠nで③へ進み,③の判定は今度はm>nで④(m-n→m)へ進むため,a>(b-a)であり,m=a-(b-a)=2a-bとなります。3回目の②の判定でm=nとなって⑥へ進むことから,2a-b=b-aが成り立ち,整理すると3a=2bとなります。
選択肢ごとの解説
- ア誤り。この流れ図の実行順序をたどると,2a-b=b-aという関係から3a=2bが導かれ,a=2bではこの実行順序にはなりません。
- イ誤り。2a=bという関係では,与えられた実行順序(②→③→⑤→②→③→④→②→⑥)どおりには計算が進みません。
- ウ誤り。2a=3bという関係では,与えられた実行順序どおりには計算が進みません。
- エ正しい。m=a,n=bから,n←n-m(=b-a),次にm←m-n(=a-(b-a)=2a-b)と計算が進み,最終的にm=nとなるためには2a-b=b-a,すなわち3a=2bが成り立つ必要があります。