システムアーキテクト試験 2018年 午前211


次の流れ図において、 ① → ② → ③ → ⑤ → ② → ③ → ④ → ② → ⑥ の順に実行させるために、①においてmとnに与えるべき初期値aとbの関係はどれか。ここで、a, bはともに正の整数とする
問題画像
a = 2b
2a = b
2a = 3b
3а = 2b(正解)

解説

①においてmとnに与えるべき初期値aとbの関係はどれか【午前2 解説】

要点まとめ

  • 結論:初期値aとbは「3a = 2b」の関係でなければ、指定の実行順序を満たせません。
  • 根拠:流れ図の条件分岐と繰り返し処理から、mとnの大小関係が変化しながら特定のループを経て等しくなる必要があります。
  • 差がつくポイント:mとnの初期値の比率を正しく理解し、条件分岐の流れを追ってループの動きを正確に把握できるかが鍵です。

正解の理由

流れ図の処理は、mとnの大小比較に基づき、m > nならmからnを引き、m < nならnからmを引く操作を繰り返します。これはユークリッドの互除法のアルゴリズムと同様の動作です。
指定された実行順序①→②→③→⑤→②→③→④→②→⑥を満たすためには、mとnの初期値aとbが「3a = 2b」の関係である必要があります。これにより、条件分岐の結果、⑤(n−m→n)と④(m−n→m)が交互に実行され、最終的にm = nとなり⑥へ進みます。
他の選択肢ではこの特定の実行順序を実現できません。

よくある誤解

ユークリッドの互除法の基本的な考え方は理解しても、初期値の比率が実行順序にどう影響するかを見落としがちです。
また、条件分岐の矢印の流れを正確に追わずに直感で答えを選ぶと誤答しやすいです。

解法ステップ

  1. 流れ図の条件分岐(②、③)と処理(④、⑤)を確認し、mとnの大小比較の動きを理解する。
  2. 指定された実行順序に沿って、各ステップでmとnがどのように変化するかを追う。
  3. ①での初期値a, bを変数として、mとnの値の変化を数式で表す。
  4. 実行順序に合致するように、mとnの初期値の比率を求める。
  5. 比率が「3a = 2b」となることを確認し、選択肢の中から該当するものを選ぶ。

選択肢別の誤答解説

  • ア: a = 2b
    → この比率ではmとnの変化が指定の実行順序に合わず、⑤と④の繰り返しが成立しません。
  • イ: 2a = b
    → nがmの2倍の関係ですが、条件分岐の流れが変わり、指定の順序を満たせません。
  • ウ: 2a = 3b
    → aとbの比率が逆転しており、ループの動きが異なり、指定の実行順序に合いません。
  • エ: 3a = 2b
    → mとnの初期値の比率がこの関係のとき、条件分岐と処理の繰り返しが指定の順序通りに実行されます。

補足コラム

この流れ図はユークリッドの互除法のアルゴリズムを視覚的に表現したものです。
ユークリッドの互除法は2つの整数の最大公約数(GCD)を求める効率的な方法で、大小比較と減算を繰り返すことでGCDに到達します。
初期値の比率を理解することは、アルゴリズムの動作を正確に把握する上で重要です。

FAQ

Q: なぜmとnの初期値の比率が重要なのですか?
A: 比率によって条件分岐の結果が変わり、処理の流れや繰り返し回数が異なるため、指定の実行順序を満たすには適切な比率が必要です。
Q: この問題はどのようなアルゴリズムの理解に役立ちますか?
A: ユークリッドの互除法の動作理解に役立ち、条件分岐とループの流れを追う力を養えます。

関連キーワード: ユークリッドの互除法, 条件分岐, ループ処理, 最大公約数, 流れ図解析
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ