ITパスポート 過去問
令和5年度
問64 (テクノロジ系 問9)
問題文
[プログラム]
○整数型: sigma(整数型: max)
整数型: calcX ← 0
整数型: n
for(nを1からmaxまで1ずつ増やす)
( a )
endfor
return calcX
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
ITパスポート試験 令和5年度 問64(テクノロジ系 問9) (訂正依頼・報告はこちら)
[プログラム]
○整数型: 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
正解!素晴らしいです
残念...
この過去問の解説 (3件)
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が正しいです。
calcX ← calcX + nが正しいです。
よって本選択肢の内容は正しいです。
アルゴリズムの問題は、簡単な具体例を考えてから解くと分かりやすいでしょう。
参考になった数35
この解説の修正を提案する
02
関数sigmaは、正の整数を引数maxで受け取り、1からmaxまでの整数の総和を戻り値とする、とありますので、例えばmaxが4の場合の値は以下となります。
1+2+3+4=10
これを踏まえ、選択肢にあるプログラムを当てはめた場合、どのような挙動になるかを確認するようにしましょう
calcX ← 0とあります
0に何を掛けても0となり、戻り値と一致しないため不正解です
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
戻り値と一致しないため不正解です
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
戻り値と一致するため、正解です
n=1
calcX=1
n=2
calcX=2
n=3
calcX=3
n=4
calcX=4
戻り値と一致しないため不正解です
参考になった数10
この解説の修正を提案する
03
問題文の関数sigmaは、for文でnを1からmaxまで繰り返しており、その中でcalcXにnの値を足しこんでいます。
1回目は、calcXが「0」で、nが「1」のため、0+1をcalcXに格納します。
2回目は、calcXが「1」で、nが「2」のため、1+2をcalcXに格納します。
これを繰り返すことで総和が求められます。
よって、calcX←calcX+nになります。
不正解です。掛け算ではありません。
不正解です。この式では、maxになるまで、1ずつ積算されます。
これが正解です。
不正解です。この式では、nの値が格納されます。
参考になった数0
この解説の修正を提案する
前の問題(問63)へ
令和5年度 問題一覧
次の問題(問65)へ