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
[プログラム]
○文字列型: 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"となるのは、以下の場合です。
要素番号 | arrayInput | stringOutput |
---|---|---|
1 | 1 | "A" |
2 | 1 | "AA" |
3 | 2 | "AAB" |
4 | 1 | "AABA" |
5 | 0 | "AABAB" |
この配列は選択肢エの「{1, 1, 2, 1, 0}」に該当します。したがって、正解はエです。