令和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に入れる字句の適切な組合せはどれか。

calcXとcalcYの繰返し処理と空欄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
選択肢ab
ア2 × num + iiを1から7まで3ずつ増やす
イ2 × num + iiを2から6まで2ずつ増やす
ウnum + 2 × iiを1から7まで3ずつ増やす
エnum + 2 × iiを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 · 編集方針

公開日:

内容更新:

問題・解説の誤りを報告する

画像を拡大表示