ITパスポート試験 令和4年度公開問題(全100問) トップへ
Part 4(問76〜100)

96

関数 calcR と関数 calcF は, 引数 inData を用いて計算を行い, その結果を返り値とする。関数 calcR を calcF(1) として呼び出した場合の戻り値を示した表を参考に, プログラム中の a に入れる字句として, 適切なものはどれか。ここで, 配列の要素番号は 1 から始まる。(図表あり) 【プログラム I】 ○関数型: calcR(整数型: inData)  整数型: num, i  num ← inData  for (i を 1 から 1 まで 1 ずつ増やす)    a  endfor  return num 【プログラム II】 ○関数型: calcF(整数型: inData)  整数型: num, i  num ← inData  for (i を 1 から 2 まで 1 ずつ増やす)    a  endfor  return num (表: inData の値が 2, 3, × 2 などのとき calcR と calcF の戻り値が示されている)

Anum ← 2 × num + 1
Bnum ← 2 × num
Cnum ← num + 2
Dnum ← num × num

解説

プログラムの処理を追跡(トレース)すると、関数calcFは引数numに対してnum×numを計算して返します。プログラムの流れに従って変数の値を順に追い、最終的な出力結果を確認することが重要です。プログラムのトレース問題では、各ステップでの変数の状態を正確に把握することが正答への鍵となります。