ITパスポート試験 ITパスポート 2010年 (平成22年 秋期)69: 二つの変数xとyに対して、次の手続を(1)から順に実行する。処理が終了したとき、xの値は幾らになるか。 [手続] (1) xに2を代入し、yに3を代入する。 (

ITパスポート 2010年 (平成22年 秋期)
Q 6969 / 100
二つの変数xとyに対して、次の手続を(1)から順に実行する。処理が終了したとき、xの値は幾らになるか。 [手続] (1) xに2を代入し、yに3を代入する。 (2) yの値から1を引いたものをyに代入する。 (3) xの値とyの値を加えたものをxに代入する。 (4) y≠1なら手続(2)に戻り、y=1なら処理を終了する。
この問の正解率:72.42%(1,084件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

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

選択肢

  • .4
  • .5
  • .7
  • .8

正解

. 5

解説

手続き追跡:初期 x=2, y=3.(2)y=y−1=2, (3)x=x+y=2+2=4, (4)y≠1なので継続.(2)y=2−1=1, (3)x=4+1=5, (4)y=1で終了.最終x=5.「ループ条件と更新順序」を正確に追うのが正攻法.途中値を表で書きながら追うとミスを防げる.正解はイ.ループ追跡問題は1回ずつ状態変化を書き出すのが最も確実な解法.

選択肢ごとの解説

  • .4は1回目ループ後のxの値.まだループが終わっていないため、最終値ではなく途中の状態.次のループでy=1まで更新される.
  • .正解.x=2,y=3→y=2,x=4→y=1,x=5でy=1のため終了.最終xは5.手続きを忠実に追えば確実に5に至る.
  • .7はループ回数を1回多く誤って計算した場合の値.y=1で確実に終了するため、それ以上の加算は発生しない.
  • .8はループ回数を2回多く計算した場合の値.手続きを正確に追えばx=5で終わるため、過剰な加算による誤答.

ITパスポート 2010年 (平成22年 秋期)過去問一覧へ戻る・問69