過去問ドリル

令和5年度 ITパスポート試験 問64

テクノロジ/アルゴリズム

関数 sigma は,正の整数を引数 max で受け取り,1から max までの整数の総和を戻り値とする。プログラム中の a に入れる字句として,適切なものはどれか。 〔プログラム〕 ○整数型: sigma(整数型: max)  整数型: calcX ← 0  整数型: n  for (n を 1 から max まで 1 ずつ増やす)   [ a ]  endfor  return calcX

出典:令和5年度 ITパスポート試験 問64

正解:ウ

解説

calcX は合計を入れる変数で,最初は 0 です。繰り返しの中で n が 1,2,…,max と増えていくので,毎回 calcX に n を足していけば,1 から max までの総和になります。たとえば max が 3 なら 0+1+2+3=6 です。したがって a には calcX ← calcX + n が入ります。

選択肢ごとの解説

  • ア誤り。n を掛けていくと,総和ではなく階乗(積)になり,しかも初期値が 0 なのでずっと 0 のままです。
  • イ誤り。毎回 1 を足すだけでは,繰り返した回数(max)になってしまい,総和になりません。
  • ウ正しい。毎回 n を足し込むことで,1 から max までの総和が calcX に求まります。
  • エ誤り。n を代入するだけでは,最後の n(=max)しか残らず,総和になりません。
ITパスポートの過去問を演習モードで解く