平成22年度 秋期 午前Ⅱ 問11
アルゴリズムとプログラミング
流れ図に関する問題
次の流れ図において,
①→②→③→⑤→②→③→④→②→⑥
の順に実行させるために,①においてmとnに与えるべき初期値aとbの関係はどれか。ここで,a,bはともに正の整数とする。
流れ図:
(開始) ↓ ①[a → m b → n] ↓ ←──── ④・⑤の後はここ(②の直前)へ戻る ②〈m : n〉 = のとき ↓ ≠ のとき ③へ ⑥/mの値を印字/ ↓ (終了) ③〈m : n〉 > のとき ④[m−n → m]→ ②の直前へ戻る < のとき ⑤[n−m → n]→ ②の直前へ戻る
- アa=2b
- イ2a=b
- ウ2a=3b
- エ3a=2b
答えと解説を見る
✓ これが正解エ3a=2b
解説
流れ図をたどると、条件は 2a−b=b−a、つまり 3a=2b です。
実行順を一つずつたどって、そのときの m と n を式で表します。①で m=a、n=b です。②で等しくないので③へ進み、⑤へ行くので m<n、つまり a<b です。⑤で n=b−a になります。再び②で等しくなく、③から④へ行くので m>n、つまり a>b−a です。④で m=a−(b−a)=2a−b になります。三度目の②で等しくなり⑥へ進むので、2a−b=b−a が成り立ち、整理すると 3a=2b です。これは正解の関係と一致します。たとえば a=2、b=3 なら、n=1、m=1 と進んで指定の順になります。この流れ図は、大きい方から小さい方を引き続けて二つの数の最大公約数を求める処理です。
ほかの選択肢はなぜ違うのか
- アa=2b:a=2b なら最初から m>n なので、①の次の比較で④へ進みます。たとえば a=2、b=1 では m=1 となって等しくなり、①→②→③→④→②→⑥ の順で終わるため、指定の実行順にはなりません。
- イ2a=b:2a=b なら最初は m<n で⑤へ進み、n=b−a=a となって m と等しくなります。たとえば a=1、b=2 では ①→②→③→⑤→②→⑥ で終わり、④を通る前に印字に進んでしまいます。
- ウ2a=3b:2a=3b なら最初から m>n なので、⑤より先に④を通ります。たとえば a=3、b=2 では m=1 の後に n=1 となり、①→②→③→④→②→③→⑤→②→⑥ と、④と⑤の順序が逆になります。
この問題の用語
- アルゴリズム問題を解くための、決まった手順や考え方そのものです。同じ問題でも手順によって、処理にかかる時間や必要な記憶量が変わります。
出典:平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問11
同じ用語が出る問題
- 令和4年度 春期 午前Ⅱ 問5:ストラテジパターンに関する問題(アルゴリズム)
- 平成28年度 秋期 午前Ⅱ 問25:WPA2に関する問題(アルゴリズム)
- 平成25年度 秋期 午前Ⅱ 問4:ストラテジクラスの説明(アルゴリズム)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)