令和6年度 ITパスポート 公開問題 問62
問 62 / 100関数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」、それ以外なら「B」を順に追加します。{1, 1, 2, 1, 0}を変換すると、A、A、B、A、Bとなり「AABAB」です。 「{0, 0, 1, 2, 1}」は、0と2はB、1はAなので「BBABA」となり、「AABAB」にはなりません。 「{0, 1, 2, 1, 1}」は、順に変換すると「BABAA」となり、「AABAB」にはなりません。 「{1, 0, 1, 2, 0}」は、順に変換すると「ABABB」となり、「AABAB」にはなりません。 「{1, 1, 2, 1, 0}」が正しいです。1、1、2、1、0を変換すると「AABAB」になります。