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

関数 convert は、整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert (array Input)として呼び出したときの戻り値が“AABAB”になる引数 array Input の値はどれか。ここで、 arrayInput の要素数は1以上とし、配列の要素番号は1から始まる。

  • ア. {0, 0, 1, 2, 1}
  • イ. {0, 1, 2, 1, 1}
  • ウ. {1, 0, 1, 2, 0}
  • エ. {1, 1, 2, 1, 0}

【答え】エ

【解説】

処理内容の確認

  1. i = 1 から配列の最後までループ。
  2. arrayInput[i] == 1 の場合 → stringOutput に “A” を追加
    それ以外の場合 → “B” を追加
  3. 最終的に stringOutput を返す

各選択肢の検証

ア. {0, 0, 1, 2, 1}

iarrayInput[i]出力文字
1 0(≠1)B
2 0(≠1)B
31A
4 2(≠1)B
51A

→ 結果: BBABA

イ. {0, 1, 2, 1, 1}

iarrayInput[i]出力文字
1 0(≠1)B
21A
32(≠1)B
41A
51A

→結果: BABAA

ウ. {1, 0, 1, 2, 0}

iarrayInput[i]出力文字
11A
20(≠1)B
31A
42(≠1)B
50(≠1)B

→結果: ABABB

エ. {1, 1, 2, 1, 0}

iarrayInput[i]出力文字
11A
21A
32(≠1)B
41A
50(≠1)B

→結果: AABAB

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

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

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

※処理内容が分かってしまえば難しい問題ではありませんが、苦手な人はあまり時間をかけずに他の問題に移りましょう。