ITパスポート試験 令和6年度分 解説

問62 関数 convert は, 整数型の配列を一定のルールで文字列に変換するプログラムである。 関数 convert を convert(array Input) として呼び出したときの戻り値が“AABAB” になる引数 array Input の値はどれか。 ここで, array Input の要素数は1以上とし, 配列の要素番号は1から始まる。
[プログラム]
○文字列型: convert (整数型の配列: array Input)
 文字列型: stringOutput ← "" // 空文字列を格納
 整数型: i
 for (i を 1 から array Input の要素数 まで 1ずつ増やす)
  if (arrayInput[i] が 1 と等しい)
   stringOutput の末尾に "A" を追加する
  else
   stringOutput の末尾に "B" を追加する
  endif
 end for
 return stringOutput

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

解説

関数convertは、配列arrayInputの各要素を順に確認し、要素が1であれば"A"を、1でなければ"B"をstringOutputに追加します。戻り値が"AABAB"となるのは、以下の場合です。

要素番号arrayInputstringOutput
11"A"
21"AA"
32"AAB"
41"AABA"
50"AABAB"

この配列は選択肢エの「{1, 1, 2, 1, 0}」に該当します。したがって、正解はです。