関数convertは,整数型の配列を一定のルールで文字列に変換するプログラムである。関数convertをconvert(arrayInput)として呼び出したときの戻り値が"AABAB"になる引数arrayInputの値はどれか。ここで,arrayInputの要素数は1以上とし,配列の要素番号は1から始まる。 〔プログラム〕
○文字列型: convert(整数型の配列: arrayInput)
文字列型: stringOutput ← "" // 空文字列を格納
整数型: i
for (i を 1 から arrayInput の要素数 まで 1 ずつ増やす)
if (arrayInput[i] が 1 と等しい)
stringOutput の末尾 に "A" を追加する
else
stringOutput の末尾 に "B" を追加する
endif
endfor
return stringOutput- ア{0, 0, 1, 2, 1}
- イ{0, 1, 2, 1, 1}
- ウ{1, 0, 1, 2, 0}
- エ{1, 1, 2, 1, 0}
正解と解説を見る
正解
エ {1, 1, 2, 1, 0}
プログラムはarrayInputの各要素を先頭から順に見て、値が1なら"A"、それ以外なら"B"を出力文字列の末尾に追加していく処理である。戻り値"AABAB"は「A,A,B,A,B」の順であるため、要素の並びは「1,1,1以外,1,1以外」となる必要があり、これに合致するのは{1, 1, 2, 1, 0}である。