令和5年度 問64
総和を求めるプログラム
出典: 令和5年度 ITパスポート試験 公開問題 問64 (IPA)
関数 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
正解と解説を見る
正解: ウ
- ア: n を掛けると、総和ではなく階乗になります。しかも初期値が 0 なので、ずっと 0 のままです。
- イ: 1 を足すと、繰返しの回数 (max) になります。総和にはなりません。
- ウ: calcX に n を足していくと、1 から max までの総和になります。正しい答えです。
- エ: 代入だけでは、最後の n (max) の値になるだけで、総和にはなりません。
ポイント
n を 1 から max まで 1 ずつ増やしながら、calcX に足していくと、1 から max までの総和になります。
- max = 3 のとき: calcX = 0 → 0 + 1 = 1 → 1 + 2 = 3 → 3 + 3 = 6
- よって a は calcX ← calcX + n です。
広告
「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告