跳到正文

平成22年度 秋期 ITパスポート試験 問69

这道题的解析和你的作答记录。

問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
解説

問 69

  • 错误ア

    4 是第 1 轮结束时 (x=4、y=2) 的中间结果。此时 y=2 不等于 1,因此按 (4) 的判断会返回过程 (2),还要再执行 1 轮。如果不确认循环的结束条件 y=1,只跑 1 轮就收尾,就会误选 4。

  • イ

    正解 这是一道只要逐行追踪步骤就能得出答案的题目。执行 (1) 后 x=2、y=3。〔第 1 轮〕(2) 中 y 为 3-1=2,(3) 中 x 为 2+2=4,(4) 中 y=2 不等于 1,因此返回 (2)。〔第 2 轮〕(2) 中 y 为 2-1=1,(3) 中 x 为 4+1=5,(4) 中 y=1,因此结束处理。结束时 x 为 5,所以正确答案是「イ」。要点在于:(4) 的判断位于 (3) 之后,因此循环会转 2 轮直到 y 变为 1,x 上依次加上 y=2 和 y=1 这两个值。列成表格的话,〔x, y〕的变化为 (2,3) → (4,2) → (5,1)。

  • 错误ウ

    7 是把过程 (2) 和 (3) 的顺序弄反、先做加法再把 y 减 1 时得到的值。按那种错误的顺序:x=2+3=5、y=2 → x=5+2=7、y=1 结束,结果为 7。而实际的过程每轮都是「先把 y 减 1,再相加」,所以加到 x 上的 y 不是 3,而是 2 和 1。

  • 错误エ

    8 是把初始值 y=3 也算进加法时得到的值 (2+3+2+1=8)。过程 (3) 一定是在 (2) 把 y 减 1 之后才执行的,所以不存在 y 仍为 3 时参与相加的机会。加到 x 上的只有 y=2 和 y=1 这 2 次。

ここがポイント
  • 循环(重复)类题目,最稳妥的做法是把每个变量的值变化逐行列成表格来追踪。本题只要按〔x, y〕= (2,3) → (4,2) → (5,1) 追下去就能得出答案。
  • 注意结束条件的判断位置。判断 (4) 位于处理 (2)(3) 之后,因此循环体必定至少执行 1 次,并一直重复到条件 y=1 成立为止(后判断型循环)。同时也要掌握赋值的基本规则:先计算右边,再用结果覆盖左边的变量。
用語
解答問69イ
练这一题

作答记录