過去問ドリル

令和6年度 ITパスポート試験 問62

テクノロジ/アルゴリズム

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

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

正解:エ

解説

配列の各要素を先頭から見て,値が 1 なら “A”,1 以外なら “B” を末尾に追加します。戻り値が “AABAB” になるには,要素が順に「1,1,1以外,1,1以外」でなければなりません。選択肢のうちこの並びになるのは {1, 1, 2, 1, 0} です。

選択肢ごとの解説

  • ア誤り。順に B,B,A,B,A となり,“BBABA” が戻り値になります。
  • イ誤り。順に B,A,B,A,A となり,“BABAA” が戻り値になります。
  • ウ誤り。順に A,B,A,B,B となり,“ABABB” が戻り値になります。
  • エ正しい。順に A,A,B,A,B となり,“AABAB” が戻り値になるので適切です。
ITパスポートの過去問を演習モードで解く