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
[プログラム]
○整数型: 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が正しいです。
calcX ← calcX + nが正しいです。
よって本選択肢の内容は正しいです。
アルゴリズムの問題は、簡単な具体例を考えてから解くと分かりやすいでしょう。
参考になった数12
この解説の修正を提案する
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
戻り値と一致しないため不正解です
参考になった数4
この解説の修正を提案する
前の問題(問8)へ
令和5年度問題一覧
次の問題(問10)へ