パスポイ

令和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: 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の変化(1→3→7→13)は差が2,4,6と増えていくため,num←num+2×i(aの式)で説明できる。calcYの変化(1→5→13→25)は差が4,8,12であり,同じ式num+2×iを使うにはiが2,4,6と2ずつ増える必要があるため,bは「iを2から6まで2ずつ増やす」となる。よってエの組合せが正しい。

解いて競うと、毎月上位3名にAmazonギフト券5,000円分

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。