IT PASSPORT
ITパスポートの問題解説
問題
次の擬似処理を実行したとき、最後に出力される x の値はどれか。x に 1 を代入し、「x が 10 より小さい間、x に 3 を足す」処理を繰り返し、繰り返しが終わったら x を出力する。
- ア 9
- イ 12
- ウ 10
- エ 13
出典:オリジナル問題|参考範囲:IPA ITパスポート試験シラバス(最新版)、情報処理技術者試験の基礎知識
正解と解説
正解:10
解説:これは「条件を先に判定してから処理する」前判定型の繰り返しです。x の値を1回ずつ追うと、x=1(1<10なので加算)→4(4<10なので加算)→7(7<10なので加算)→10 と進みます。ここで x=10 になると条件「x が 10 より小さい」が偽になるため、加算は行われずに繰り返しが終了します。つまり最後に 3 が足されて 10 になった直後にループを抜けるので、出力は 10 です。x=7 のときに加算して 10 ちょうどに到達する点と、その 10 で条件判定が偽になって止まる点をていねいに追うことが大切です。前判定型では「処理の前に必ず条件を確認する」ため、条件を満たさなくなった瞬間にループが終わると覚えておきましょう。
覚え方:繰り返しは「条件判定→処理」の1回分を表で順に書き出すのが確実です。加算してちょうど境界値(ここでは10)に達したら、その時点で条件が偽になり止まることを忘れないようにしましょう。
他の選択肢はなぜ違う?
- ア9は1から3ずつ加算する途中の値(1→4→7→10)には現れないため、出力される値にはなりません。
- イ12も加算の経路(1→4→7→10)に現れない値です。3ずつ足すと7の次は10になり、12を経由することはありません。
- エ13は「条件を満たす限り加算し続ける」と思い込んだ場合の誤りです。x が 10 になった時点で『10より小さい』が偽となり加算は止まるので、13まで進みません。
この問題について
IPAのITパスポート試験シラバスとIT基礎知識を参考に、Sikaku Master向けに独自作成した問題です。公式試験問題・過去問題の転載ではありません。
IPAの過去問題の転載ではなく、シラバス・公開情報に基づく独自問題として作成しています。