ITパスポート|アルゴリズムとプログラミング 問7
関数 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正解:エ
解説
プログラムは、配列の要素を先頭から順に見て、値が 1 なら“A”、1 以外なら“B”を文字列の末尾に追加します。“AABAB”になるには、1 番目、2 番目、4 番目が 1 で、3 番目と 5 番目が 1 以外であればよいことになります。
- ア {0, 0, 1, 2, 1} は“BBABA”になります。
- イ {0, 1, 2, 1, 1} は“BABAA”になります。
- ウ {1, 0, 1, 2, 0} は“ABABB”になります。
- エ 正解。{1, 1, 2, 1, 0} は“AABAB”になります。
出典:令和6年度 ITパスポート試験 公開問題 問62(読点「,」を「、」に改変)