スポンサーリンク

ITパスポート試験 令和4年度 [問96] 問題&解説

問題

問96

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

[出典:ITパスポート試験 令和4年度 問96]

スポンサーリンク

正解

正解は「」です。

解説

 正解は「エ」です。プログラムにおける関数 calcX と calcY の動作を分析するために、各変数の変化を追跡します。
関数 calcX では、num の初期値は inData であり、i が 1 から 7 まで 3 ずつ増加します。選択肢「エ」の a は num + 2 × i であり、この操作によって、num の値が 1→3→7→13 と変化し、戻り値として 13 を得られます。
一方、calcY では、num の初期値は inData であり、i が 2 から 6 まで 2 ずつ増加します。同じ選択肢「エ」の b が適用されることで num の値は 1→5→13→25 となり、戻り値として 25 を得られます。

このように、プログラム内の変数の動きが問題文の条件と一致するため、正解は「エ」となります。

ア(2 × num + i):
 この選択肢では、num の変化が問題文で示された条件と一致しません。
イ(2 × num + i):
 この選択肢では、変数 num の動作が一致しないため不適切です。
ウ(num + 2 × i):
 この選択肢では、i の範囲が問題文の条件に合わず正しくありません。

難易度

やや難しい
 この問題はプログラム設計における変数の操作とループ構造の理解が必要です。初心者には若干難しく感じられるかもしれませんが、基本的なプログラミング知識を持っていれば解答可能な問題です。

スポンサーリンク

用語補足

変数:
  プログラム内で値を保持するための記号や名前のことです。プログラムの実行中に値を変更することができます。

ループ:
  プログラム内で特定の処理を繰り返し実行する構造のことです。条件に従ってループ回数を制御することができます。

対策

 この問題を解くには、プログラム内での変数の操作やループ構造についての理解を深めることが重要です。特に、変数の値の変化を追う練習を積むことで、問題文に基づいた正確な判断ができるようになります。また、実際にプログラムを書いて動作を確認することで、実践的な理解も深めることができます。


タイトルとURLをコピーしました