問64の正解: ウテクノロジ系/アルゴリズムとプログラミング
関数 sigmaは、正の整数を引数 max で受け取り、1から max までの整数の総和を戻り値とする。プログラム中のaに入れる字句として、適切なものはどれか。 [プログラム] ○整数型: sigma(整数型: max) 整数型:calcX ← 0 整数型:n for (nを1から max まで 1 ずつ増やす) [ a ] endfor return calcX

この設問が問うていること
1からmaxまでの総和を計算する疑似プログラムのループ内処理について問う設問です。
アcalcX ← calcX × n
選択肢アの解説: 各ループで掛け算を繰り返す(階乗の計算になる)ため、総和は求められず不適切です。
イcalcX ← calcX + 1
選択肢イの解説: 毎ループで1を足すため、ループ終了時には単に `max` の値になり、総和の計算としては誤りです。
ウcalcX ← calcX + n正解
選択肢ウの解説: それまでの累計値(calcX)に現在のループの添え字(n)を足し合わせていく処理であり、適切です。
エcalcX ← n
選択肢エの解説: ループの最後に `calcX` に `max` の値がそのまま代入されるだけであり、総和にはならず不適切です。
総合解説
1から max までの整数の総和を計算するプログラムを構築する問題です。 ・ループが回るたびに、カウンタ変数 n の値(1, 2, 3, ... max)を、合計値を保持する変数 `calcX` に順次足し合わせていく(加算する)必要があります。 ・よって、ループ内の処理は `calcX ← calcX + n` となります。 ・aは総乗(掛け算)の計算、bは単にループ回数をカウントする式、dは最後のループ値が代入されるだけの式になります。したがって、正解はcです。
AIAIにその場で質問(デモ応答)
こんな聞き方もできます(タップで質問)