ITパスポートの過去問
令和5年度
テクノロジ系 問9

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

令和5年度 ITパスポート試験 テクノロジ系 問9 (訂正依頼・報告はこちら)

関数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

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説 (2件)

01

アルゴリズムの問題です。具体例で考えてみましょう。

仮にmaxが5としてみます。

とすると、aには1 + 2 + 3 + 4 + 5 = 15となるようにしたいです。

順番に考えていくと

①n = 1のとき、1

②n = 2のとき、① + 2 = 3

③n = 3のとき、② + 3 = 6

④n = 4のとき、③ + 4 = 10

⑤n = 5のとき、④ + 5 = 15

となっています。

aにcalcX ← calcX + nを入れると

初めはcalcX = 0なので

①n = 1のとき、calcX + n = 1

②以降は、calcXの値はひとつ前のcalcX + nの値なので

②n = 2のとき、calcX + n = 3

③n = 3のとき、calcX + n = 6

④n = 4のとき、calcX + n = 10

⑤n = 5のとき、calcX + n = 15

となります。

よって、calcX ← calcX + nが正しいです。

選択肢3. calcX ← calcX + n

calcX ← calcX + nが正しいです。

よって本選択肢の内容は正しいです。

まとめ

アルゴリズムの問題は、簡単な具体例を考えてから解くと分かりやすいでしょう。

参考になった数12

02

関数sigmaは、正の整数を引数maxで受け取り、1からmaxまでの整数の総和を戻り値とする、とありますので、例えばmaxが4の場合の値は以下となります。

1+2+3+4=10

これを踏まえ、選択肢にあるプログラムを当てはめた場合、どのような挙動になるかを確認するようにしましょう

選択肢1. calcX ← calcX × n

calcX ← 0とあります

0に何を掛けても0となり、戻り値と一致しないため不正解です

選択肢2. calcX ← calcX + 1

n=1

calcX+1=0+1=1

n=2

calcX+1=1+1=2

n=3

calcX+1=2+1=3

n=4

calcX+1=3+1=4

戻り値と一致しないため不正解です

選択肢3. calcX ← calcX + n

n=1

calcX+n=0+1=1

n=2

calcX+n=1+2=3

n=3

calcX+n=3+3=6

n=4

calcX+n=6+4=10

戻り値と一致するため、正解です

選択肢4. calcX ← n

n=1

calcX=1

n=2

calcX=2

n=3

calcX=3

n=4

calcX=4

戻り値と一致しないため不正解です

参考になった数4