戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2010年 秋期 午前207


問題文

正の整数 M に対して、次の二つの流れ図に示すアルゴリズムを実行したとき、結果 xの値が等しくなるようにしたい。a に入れる条件として、適切なものはどれか。
応用情報技術者 2010年 秋期 午前2 問07の問題画像

選択肢

n<M
n>M-1
n>M(正解)
n>M+1

正の整数 M に対する二つのアルゴリズムの結果比較【午前2 解説】

要点まとめ

  • 結論:右側のループ条件は「n > M」であるため、正解はウです。
  • 根拠:左側は n を M から 1 まで減少させ、右側は n を 1 から M まで増加させる処理で同じ結果を得るためには、ループの終了条件が「n > M」でなければなりません。
  • 差がつくポイント:ループの終了条件の不等号の向きと境界値の設定を正確に理解し、両者のループ回数が一致するかを確認することが重要です。

正解の理由

左側の流れ図は、変数 n を M から 1 まで 1 ずつ減らしながら x に n を掛けています。一方、右側の流れ図は n を 1 から始めて 1 ずつ増やし、条件 a でループを終了します。
このとき、右側のループが n > M となれば、n が M を超えた時点で終了し、n は 1 から M までの値を取ります。これにより、左側と同じ積 が得られます。
したがって、条件 a は「n > M」が適切であり、選択肢ウが正解です。

よくある誤解

ループの終了条件を「n > M-1」や「n > M+1」と誤解し、ループ回数がずれてしまうことがあります。
また、不等号の向きを逆にしてしまい、無限ループや計算結果の不一致を招くことも多いです。

解法ステップ

  1. 左側のループの動作を確認し、n が M から 1 まで減少していることを理解する。
  2. 右側のループの初期値と増分を確認し、n が 1 から増加していることを把握する。
  3. 両者のループ回数が一致するための終了条件を考える。
  4. 右側のループが n の値が M を超えたら終了する条件「n > M」が適切と判断する。
  5. 選択肢の中から「n > M」を選ぶ。

選択肢別の誤答解説

  • ア: n < M
    → n が M より小さい間ループを続けると、n = M のときループが回らず、積の計算が不足します。
  • イ: n > M-1
    → n > M-1 は n ≥ M と同義で、n = M の時点で終了してしまい、ループ回数が不足します。
  • ウ: n > M
    → n が M を超えたら終了し、n = 1 から M まで正しくループするため正解です。
  • エ: n > M+1
    → n が M+1 を超えるまでループすると、n = M+1 のときもループし、余分な計算が入ります。

補足コラム

この問題は「ループの境界条件設定」の典型例です。プログラミングやアルゴリズム設計では、ループの開始値・終了条件・増分を正確に設定しないと、計算結果が異なったり無限ループになったりします。
特に「不等号の向き」と「境界値の選定」は注意が必要で、数学的帰納法や数列の範囲指定の感覚が役立ちます。

FAQ

Q: なぜ「n > M」だとループが正しく終了するのですか?
A: n が M を超えた時点でループを終了するため、n は 1 から M までの値を取り、左側のループと同じ回数だけ繰り返します。
Q: 「n > M-1」と「n > M」はどう違いますか?
A: 「n > M-1」は n ≥ M と同じ意味で、n = M の時点でループ終了となり、ループ回数が不足します。

関連キーワード: ループ条件、境界値設定、アルゴリズム、反復処理、不等号、演算制御
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

このサイトについてプライバシーポリシー利用規約特商法表記開発者について