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

平成22年度 秋期 問69

基礎理論

アルゴリズムに関する問題

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

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

答えと解説を見る

✓ これが正解イ5

解説

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

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

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

この問題の用語

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

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