応用情報技術者 2020年 秋期 午前2 問47
問題文
次の流れ図において、
① → ② → ③ → ⑤ → ② → ③ → ④ → ② → ⑥
の順に実行させるために、①においてmとnに与えるべき初期値aとbの関係はどれか。ここで、a,Bはともに正の整数とする。

選択肢
ア:a = 2b
イ:2a = b
ウ:2a = 3b
エ:3a = 2b(正解)
①におけるmとnの初期値の関係は?【午前2 解説】
要点まとめ
- 結論:初期値の関係は「3a = 2b」である。
- 根拠:流れ図はユークリッドの互除法を変形したアルゴリズムで、ループの実行順序から初期値の比率を導く。
- 差がつくポイント:ループの繰り返しと条件分岐の意味を正確に理解し、mとnの変化を追うことが重要。
正解の理由
この流れ図は、mとnの大小関係に応じてmまたはnから小さい方を引き続ける処理を繰り返す構造です。これはユークリッドの互除法の一種で、mとnが互いに減少しながら最大公約数を求めるアルゴリズムです。
問題文の実行順序
① → ② → ③ → ⑤ → ② → ③ → ④ → ② → ⑥
を満たすためには、初期値a, bの比率が「3a = 2b」でなければなりません。これにより、mとnの値が条件判定を経て正しい順序で変化し、指定された流れを実現します。
したがって、選択肢の中で「エ: 3a = 2b」が正解です。
問題文の実行順序
① → ② → ③ → ⑤ → ② → ③ → ④ → ② → ⑥
を満たすためには、初期値a, bの比率が「3a = 2b」でなければなりません。これにより、mとnの値が条件判定を経て正しい順序で変化し、指定された流れを実現します。
したがって、選択肢の中で「エ: 3a = 2b」が正解です。
よくある誤解
- ユークリッドの互除法は単純に「大きい方から小さい方を引く」だけと思い込み、初期値の比率を考慮しない。
- 条件分岐の「=」「≠」「<」「>」の意味を混同し、ループの流れを誤解する。
解法ステップ
- 流れ図の判定条件と処理内容を理解する。
- 実行順序に従い、mとnの値の変化を追う。
- ①での初期値a, bを仮定し、②→③→⑤→②→③→④→②の流れでm, nがどのように変わるか計算する。
- ループの条件を満たすaとbの関係式を導出する。
- 選択肢の中から導出した関係式に合致するものを選ぶ。
選択肢別の誤答解説
- ア: a = 2b
→ この比率ではmとnの変化が流れ図のループ条件を満たさず、指定の実行順序にならない。 - イ: 2a = b
→ nがmの2倍になるため、条件判定での分岐が変わり、ループの流れが異なる。 - ウ: 2a = 3b
→ 比率が逆で、mとnの減少パターンが異なり、指定の順序を実現できない。 - エ: 3a = 2b
→ 正しい比率で、流れ図の条件分岐とループを正確に再現できる。
補足コラム
この問題はユークリッドの互除法のアルゴリズムを理解しているかが鍵です。互除法は最大公約数を求める基本的なアルゴリズムで、条件分岐と繰り返し処理の理解に役立ちます。流れ図の判定条件を正しく読み解き、変数の変化を追う力が問われます。
FAQ
Q: なぜ「m ← m − n」や「n ← n − m」の処理が必要なのですか?
A: これはユークリッドの互除法の基本操作で、大きい方から小さい方を引いて最大公約数を求めるための処理です。
A: これはユークリッドの互除法の基本操作で、大きい方から小さい方を引いて最大公約数を求めるための処理です。
Q: なぜ初期値の比率が重要なのですか?
A: 初期値の比率によって条件判定の結果が変わり、ループの実行順序や回数が変わるため、指定された流れを実現するには適切な比率が必要です。
A: 初期値の比率によって条件判定の結果が変わり、ループの実行順序や回数が変わるため、指定された流れを実現するには適切な比率が必要です。
関連キーワード: ユークリッドの互除法、流れ図、条件分岐、ループ処理、アルゴリズム理解

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

