この概念が出た関連問題

この試験の対策ガイド

ITパスポート試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

この問題は、1からmaxまでの整数の総和(シグマ計算)を求めるプログラムについての問題です。例えば max=3 の場合、1+2+3=6を計算する必要があります。プログラムでは、calcXという変数に初期値0を設定し、forループで1からmaxまでの数(n)を順番に加算していきます。そのため、ループ内では 'calcX ← calcX + n' という処理が必要となります。これにより、各ループでnの値がcalcXに累積的に加算されていきます。

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

選択肢 ア
calcX ← calcX × n は乗算を行うため、1からmaxまでの数の積(階乗)を計算することになってしまいます。例えばmax=3の場合、0×1×2×3=0となり、総和を求める目的を達成できません。
選択肢 イ
calcX ← calcX + 1 では、nの値に関係なく毎回1を加算するだけなので、単にループ回数をカウントすることになります。max=3の場合、3という結果になってしまいます。
選択肢 エ
calcX ← n では、前回までの計算結果(calcX)を無視して単にnを代入するだけなので、最後のnの値だけが残ります。max=3の場合、3という結果になってしまいます。

解くときのポイント

シグマ計算(Σ)をプログラムで実装する際は、累積加算が基本となります。変数に初期値0を設定し、ループ内で各値を加算していく方法を覚えておきましょう。また、似たような計算でΠ(総乗)を求める場合は、初期値を1にして乗算を行います。