本文へスキップ

IT PASSPORT

ITパスポートの問題解説

テクノロジ系 標準 itpassport_tech_003

問題

変数 x に初期値 1、変数 n に初期値 0 を代入する。次に「x に 2 を掛けて x に入れ直し、n に 1 を足す」という処理を、x が 10 を超えるまで繰り返す。繰り返しを終えたとき、x と n の組合せはどれか。

  1. x=8、n=3
  2. x=16、n=3
  3. x=16、n=4
  4. x=32、n=5
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識

正解と解説

正解:x=16、n=4

解説:x に「2倍して入れ直す」処理を行い、同時に実行回数を数える n を 1 ずつ増やします。x が 10 を超えるまで繰り返すので、1ステップずつ表に書き出すと、1回目で x=2・n=1、2回目で x=4・n=2、3回目で x=8・n=3、4回目で x=16・n=4 となります。x=8 の時点では「10を超える」を満たさずもう一度実行され、x=16 で初めて条件を満たして終了します。終了条件が「10以上」なら x=16 ではなく途中で止まり方が変わるため、「以上」と「を超える」の違いに注意が必要です。カウンタ n を併走させると、何回処理したかも同時に把握できます。

覚え方:ループ問題は暗算せず「x=1,2,4,8,16」「n=0,1,2,3,4」と紙に書き出すのが鉄則です。条件を満たした瞬間の値が答えになり、回数カウンタは処理を実行するたびに1増やすと覚えましょう。

他の選択肢はなぜ違う?

  • x=8 はまだ 10 を超えていない途中の値です。8 は 10 以下なのでもう一度処理が実行され、繰り返しは終わりません。n の数え方も合っていません。
  • x=16 は正しい最終値ですが、n は処理を実行した回数(1→2→4→8→16 の4回)なので n=4 です。n=3 は1回少なく数えています。
  • x=32 は1回多く2倍してしまった値です。16 の時点で「10を超える」条件を満たすため、そこで繰り返しは止まり、32 までは進みません。

この問題について

出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識

IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。

IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。

確認状況: 独自作成問題として編集確認済み。公開後も誤り報告を受け付けています。

RELATED

関連問題