ITパスポート試験 ITパスポート 2022年 (令和4年)96: 関数calcXと関数calcYは,引数inDataを用いて計算を行い,その結果を戻り値とする。関数calcXをcalcX(1)として呼び出すと,関数calcXの

ITパスポート 2022年 (令和4年)
Q 9696 / 100
関数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
この問の正解率:50.00%(910件)
この問題の本文・選択肢・正解・解説(展開)

問題本文

関数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 で num が 1→3→7→13 と +2,+4,+6 で増加し i=1,2,3 で num+2×i.calcY は同式で 1→5→13→25 (+4,+8,+12) で i は 2 から 6 まで 2 ずつ増加する.

選択肢ごとの解説

  • .2 × num + i では増分が指数的で観測値と不一致で誤り.
  • .2 × num + i は観測値と不一致で組合せが誤った記述であり該当しない.
  • .i を 1 から 7 まで 3 ずつでは増分パターンが不一致で誤り.
  • .正しい. num + 2 × i かつ i は 2 から 6 まで 2 ずつ.

ITパスポート 2022年 (令和4年)過去問一覧へ戻る・問96