令和5年度 ITパスポート 問64 解説
関数sigmaは,正の整数を引数maxで受け取り,1からmaxまでの整数の総和を戻り値とする。プログラム中のaに入れる字句として,適切なものはどれか。
〔プログラム〕
○整数型: sigma(整数型: max)
整数型: calcX ← 0
整数型: n
for (n を 1 から max まで 1 ずつ増やす)
[a]
endfor
return calcX
- アcalcX ← calcX × n
- イcalcX ← calcX + 1
- ウcalcX ← calcX + n
- エcalcX ← n
答えを見る
正解 ウcalcX ← calcX + n
要点1からmaxまでの総和は、変数にnを順に加算して求める
解説
1からmaxまでの総和を求めるには、ループのたびにcalcXにnを加える calcX ← calcX + n とします。例えば max=3 なら 0+1+2+3 = 6 になります。
- ア:calcX ← calcX × n は、初期値0に掛け算するので常に0のままで誤り。
- イ:calcX ← calcX + 1 は、1を加えるだけなので結果はmaxになり誤り(回数を数える処理)。
- エ:calcX ← n は、最後のnの値(max)が残るだけなので誤り。