関数 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}

なぜ違う: 1番目が0なので先頭が"B"となり"AABAB"にならない("BBABA"になる)。

イ {0, 1, 2, 1, 1}

なぜ違う: 各要素を1ならA,それ以外ならBにすると,{0, 1, 2, 1, 1}は"BABAA"になり,"AABAB"とは一致しない。

ウ {1, 0, 1, 2, 0}

なぜ違う: 各要素を1ならA,それ以外ならBにすると,{1, 0, 1, 2, 0}は"ABABB"になり,"AABAB"とは一致しない。

エ {1, 1, 2, 1, 0}

正解: エ

要点: 要素が1なら"A",1以外なら"B"。"AABAB"は A,A,B,A,B なので,B の位置(3・5番目)は1以外なら何でもよく,選択肢では {1,1,2,1,0} が該当する。

プログラムは配列の各要素について,値が1なら"A"を,それ以外なら"B"を末尾に追加する。戻り値"AABAB"はA,A,B,A,Bの順なので,1番目から1,1,その他,1,その他={1,1,2,1,0}が該当する。

この問題に出てくる用語

関連キーワード: 擬似言語・配列・アルゴリズム

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

ITパスポートの学習アプリ(ITパストレ)

出典:令和6年度 ITパスポート試験 公開問題 問62