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

ITパスポート 2010年 秋期 69


問題文

二つの変数に対して、次の手続を(1)から順に実行する。処理が終了したとき、の値は幾らになるか。
〔手続〕  (1) に2を代入し、に3を代入する。  (2) の値から1を引いたものをに代入する。  (3) の値との値を加えたものをに代入する。  (4) なら手続(2)に戻り、なら処理を終了する。

選択肢

4
5(正解)
7
8

🔒 解説は解答すると表示されます

変数と繰り返し手続の計算【ITパスポート 解説】

正解の理由

理由を一言で言うと、手続は「を1ずつ減らし、その都度減らした後のに足す」処理をが1になるまで繰り返すからです。初めに なので、繰り返しで足される値は の2回分、合計 。よって最終的に になります。
(用語)
  • 変数(へんすう):値を入れておける「箱」です。ここでは が箱です。
  • 代入(だいにゅう):箱に値を「入れる」操作。例: に 2 を代入 ⇒
  • ループ(繰り返し処理):同じ手順を何度も繰り返すこと。英語は loop(ループ)。

解法ステップ

手続の流れを順に追います。
初期:(手続(1))
1回目の繰り返し
(2)
(3)
(4) )なので戻る
2回目の繰り返し
(2)
(3)
(4) なので処理終了
最終: → したがって正解は (5)。
補足的に一般形を示すと、初期値を とすると、ループで に加えられる値は の合計になります。よって最終的な
今回の を代入すると です。
簡単なシミュレーション(参考)
x = 2
y = 3
while y != 1:
    y = y - 1
    x = x + y
print(x)  # 出力 5

選択肢別の誤答解説

  • ア: 4
    誤りの典型は「1回しか繰り返さない」と誤解すること。もし1回だけ処理して終わると になりますが、 がまだ 2 のため条件で戻るべきです。したがって 4 は途中の値です。
  • イ: 5
    正解。上記の通り、 が 3 から 1 になるまで2回の繰り返しが行われ、合計で に 3 が加わるため となります。
  • ウ: 7
    これは「 の初期値(3)をそのまま足す」など、 の減少を反映せずに誤った合計をした場合に出ます。正しい処理は「まず を1引いてから」 に足す点です。
  • エ: 8
    これは「繰り返しを多く回しすぎた」結果です。例えば を下がるまででなく0や負の値まで続けてしまう誤りや、初期の の全て(3+2+1)を足してしまう誤解が考えられます。

よくある誤解

  1. 「加える順序」を間違える
    手続(2)が先で(3)が後です。つまり「まずを1減らしてから、その減らした値をに足す」点を見落とすと誤答になります。
  2. ループ条件の読み違い
    (4)は「なら(2)に戻る」なので、 が 1 になった時点で終了します。でもう一回実行する、あるいはが0になるまで続ける、という誤解に注意してください。

補足コラム

  • この種の問題は「繰り返し回数」と「各回で加える値」を正しく理解する練習になります。業務での例を挙げると、社員の月次報告を1か月分ずつ処理して合計値を更新するような流れに似ています(毎回「処理→集計→終了条件チェック」を行う)。
  • 一般式 の理解は便利です。初期値を変えて自動的に結果が出せます。

FAQ

Q1. もし初めの が 1 だったら結果はどうなりますか?
A1. 手続(1)で なら、(4) の時点で既に なので処理は終了します。従って は代入直後の値、ここでは のままです。
Q2. この手続は何回繰り返されますか?
A2. 初期の とすると、 まで減らす必要があるので繰り返し回数は 回です(今回なら 回)。
Q3. が0や負の数だったら?
A3. 与えられた手続のままだと、 の条件で戻り続け、 はさらに負の方向に減っていきます。現実のプログラムでは無限ループ防止のため、入力の妥当性チェックが必要です。


関連キーワード: 変数、代入、ループ、繰り返し、条件分岐、アルゴリズム、制御構造、数列の和、疑似コード
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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