ITパスポート模擬試験~令和4年度【問96】~

関数 calcX と関数 calcY は,引数 in Data を用いて計算を行い、その結果を戻り値とする。関数 calcX を calcX (1) として呼び出すと、関数 calcX の変数 num の値が,1→3→7→13 と変化し、戻り値は13 となった。関数 calcY を calcY (1) として呼び出すと、関数 calcY の変数 num の値が,1→5→13→25 と変化し、戻り値は25 となった。プログラム中のa, bに入れる字句の適切な組合せはどれか。

【答え】エ

【解説】

プログラム1の正解を探す(calcX(1) :1→3→7→13)

まず、プログラム1の処理から空欄aに入る式を探します。

選択肢アとイ(2 × num + i)

iの値2 × num + i
初期値num = 1
i=1num = 2 × 1 + 1 = 3
i=2num = 2 × 3 + 2 = 8
i=3num = 2 × 8 + 3 = 19

❌ numの値が1→3→8→19となるため、これは不適切

選択肢ウとエ(num + 2 × i )

iの値num + 2 × i
初期値num = 1
i=1num = 1 + 2 × 1 = 3
i=2num = 3 + 2 × 2 = 7
i=3num = 7 + 2 × 3 = 13

⭕ numの値が1→3→7→13となるため、これが適切

プログラム2 の正解を探す(calcY(1) :1→5→13→25)

選択肢はウ.かエ.に絞れたため、この2つを比較します。

選択肢ウ(iを1から7まで3ずつ増やす:i = 1, 4, 7)

iの値num + 2 × i
初期値num = 1
i=1num = 1 + 2 × 1 = 3
i=4num = 3 + 2 × 4 = 11
i=7num = 11 + 2 × 7 = 25

❌ numの値が1→3→11→25となるため、これは不適切

選択肢エ(iを2から6まで2ずつ増やす:i = 2, 4, 6)

iの値num + 2 × i
初期値num = 1
i=2num = 1 + 2 × 2 = 5
i=4num = 5 + 2 × 4 = 13
i=6num = 13 + 2 × 6 = 25

⭕ numの値が1→5→13→25となるため、これが適切

以上より、正解はエ.となります。

間違えた人はこちらで復習

アルゴリズムとプログラミング2~擬似言語~

※アルゴリズムが苦手な人は、あまり時間をかけずに他の問題へ移りましょう。