過去問解きまくり研究所 ホーム

基礎理論|平成22年度 秋期 ITパスポート試験 問69

二つの変数 x と y に対して,次の手続を (1) から順に実行する。処理が終了したとき,x の値は幾らになるか。

〔手続〕
1. x に 2 を代入し,y に 3 を代入する。
2. y の値から 1 を引いたものを y に代入する。
3. x の値と y の値を加えたものを x に代入する。
4. y ≠ 1 なら手続 (2) に戻り,y = 1 なら処理を終了する。

解説

判じるのが足した後なので、最後の一周も足し終えます。

繰り返す手続は、表を作って一行ずつ書くと外れません。初めに二と三を、それぞれの入れ物へ置きます。一周目では、後ろの入れ物から一を引いて二になりました。前の入れ物に足すと、二と二で四になります。後ろがまだ一ではないので、もう一周まわりました。二周目では、後ろから一を引いて一になります。前に足すと、四と一で五になりました。ここで後ろが一なので、そこで終わります。だから五という数を挙げた肢が当たりました。判じるのが足した後に置かれているのが要です。後ろが一になっても、その周の足し算は済んでいました。足さないと読むと、四という数で止まってしまいます。余分にまわしたと読むと、より大きな数が出ました。表に書けば取り違えません。終わりの条件を読みます。シラバスも、このアルゴリズムの表し方を求めています。

ほかの選択肢はなぜ違うのか

この問題に関係する言葉

出典:平成22年度 秋期 ITパスポート試験 問69(改変:原典の図表をテキストに書き起こした)

この問題を演習で解く

同じ単元をまとめて解くなら基礎理論へ。

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)