アルゴリズムとプログラミング

ITパスポート試験アルゴリズムとプログラミング」の問題

テクノロジ系アルゴリズムとプログラミング難易度:easy
関数 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

総和は『これまでの合計に今のnを足す』累積加算で求まる。calcXを0から始めnを順に加えるcalcX ← calcX + n により,1からmaxまでの和が正しく蓄積される。sigma(5)=15となりウが正しい。

?選択肢ごとの解説

ア ×calcX ← calcX × n は累積積(階乗的)になり,初期値0のため常に0を返す。sigma(5)=0×1×2×3×4×5=0で総和にならない。
イ ×calcX ← calcX + 1 はnの値に関係なく毎回1だけ加えるので,ループ回数(=max)を返すだけ。sigma(5)=5で総和にならない。
ウ ○総和は『これまでの合計に今のnを足す』累積加算で求まる。calcXを0から始めnを順に加えるcalcX ← calcX + n により,1からmaxまでの和が正しく蓄積される。sigma(5)=15となりウが正しい。
エ ×calcX ← n は加算せず代入なので,毎回上書きされ最後のnすなわちmaxだけが残る。sigma(5)=5で総和にならない。
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。

ITパスポート試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · ITパスポート試験 · itpass-r5k-q64

【ITパスポート試験】アルゴリズムとプログラミングの問題と解答・解説|ukamiru 過去問