令和4年度 問96 繰返し処理における変数の増加量
関数 calcX と関数 calcY は,引数 inData を用いて計算を行い,その結果を戻り値とする。関数 calcX を calcX(1) として呼び出すと,関数 calcX の変数 num の値が,1→3→7→13と変化し,戻り値は13となった。関数 calcY を calcY(1) として呼び出すと,関数 calcY の変数 num の値が,1→5→13→25と変化し,戻り値は25となった。プログラム中のa,bに入れる字句の適切な組合せはどれか。

コードをテキストで確認
プログラム1。
○整数型: calcX(整数型: inData)
整数型: num, i
num ← inData
for (i を 1 から 3 まで 1 ずつ増やす)
num ← [a]
endfor
return num
プログラム2。
○整数型: calcY(整数型: inData)
整数型: num, i
num ← inData
for ([b])
num ← [a]
endfor
return num
| 選択肢 | a | b |
|---|---|---|
| ア | 2 × num + i | iを1から7まで3ずつ増やす |
| イ | 2 × num + i | iを2から6まで2ずつ増やす |
| ウ | num + 2 × i | iを1から7まで3ずつ増やす |
| エ | num + 2 × i | iを2から6まで2ずつ増やす |
a:2 × num + i / b:iを1から7まで3ずつ増やす
a:2 × num + i / b:iを2から6まで2ずつ増やす
a:num + 2 × i / b:iを1から7まで3ずつ増やす
a:num + 2 × i / b:iを2から6まで2ずつ増やす
先に解説を見る
正解エ
a:num + 2 × i / b:iを2から6まで2ずつ増やす
解説
隣り合う値の差を調べ、繰返し変数との関係を確認します。
calcXでは、numが1 → 3 → 7 → 13と変わるため、加算する値は2、4、6です。iが1、2、3と変わるなら、毎回numに2×iを加えることでこの変化になります。
calcYでは、加算する値は4、8、12です。同じ加算式を使うには、iが2、4、6と変わればよいので、2から2ずつ増やします。
この更新式と繰返し条件に対応する組合せはエです。

続けて練習して、学習記録を残そう。
同じ分野の別の問題を解く同じ分野の問題
関連する用語
編集・確認:kakoloop · 編集方針
公開日:
内容更新:
問題・解説の誤りを報告する