※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「D. a.num + 2 × i b.iを2から6まで2ずつ増やす」です。
この問題では、ループ内で変数numがどのように変化するかを追い、適切な計算式とループ範囲を選ぶことがポイントです。
この記事では、ITパスポート試験(令和4年度)で出題された過去問の第42問「関数内の計算式とループ制御」について、試験対策の観点からわかりやすく解説します。
問題の理解
関数calcXとcalcYでは、引数inDataを元に変数numを更新して戻り値を返します。問題文にあるnumの変化を追うことで、ループ内の計算式(a)とループの範囲(b)を特定できます。
具体的なnumの変化:
- calcX: 1 → 3 → 7 → 13
- calcY: 1 → 5 → 13 → 25
この変化を式で表すと、num ← num + 2 × i、ループ範囲 i = 2,4,6 が一致します。
他の選択肢との違い
- a.2 × num + i:numの増加が大きすぎる、変化列と不一致
- ループ範囲 i=1から7まで3ずつ:calcYの変化と合わない
- num + 2 × i, i=1から7まで3ずつ:計算式は正しいがループ範囲が異なる
正しい組み合わせは、計算式とループ範囲の両方がnumの変化と一致するものです。
問われているポイント
この問題では、関数内の変数更新とループ制御の理解が問われています。
ループごとのnumの変化を追い、計算式とループ範囲を正しく組み合わせることが重要です。
気を付けてほしい点(勘違いしやすいポイント)
- ループ範囲と計算式の両方を確認しないと正解にならない
- 直感的に「1から3まで」と考えるとnumの変化と合わない
補足
プログラミング問題では、変数の更新順序やループ回数を逐次追うことが正確な理解につながります。
ITパスポート試験での出題パターン
テクノロジ系では、関数やループ処理の理解を問う問題が出題されます。
変数の更新とループ制御を正確に追えることがポイントです。
この知識が使われている問題
まとめ
- 正しい組み合わせは a.num + 2 × i, ループ範囲 i=2から6まで2ずつ増やす
- ループごとのnumの変化を追うことで計算式と範囲を特定できる
- プログラム中の変数更新とループ制御の理解が問われる問題