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

問62

関数 convert は,整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert(arrayInput) として呼び出したときの戻り値が"AABAB"になる引数 arrayInput の値はどれか。ここで,arrayInput の要素数は1以上とし,配列の要素番号は1から始まる。

〔プログラム〕
62.gif/image-size:403×301
  • {0,0,1,2,1}
  • {0,1,2,1,1}
  • {1,0,1,2,0}
  • {1,1,2,1,0}

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解

解説

関数 convert は、次のような操作を行うプログラムです。
  1. 引数として与えられた配列 arrayInput の要素を先頭から1つずつ見ていく
  2. その要素が1であれば"A"を、そうでなければ"B"を変数 stringOutput に追加する
  3. 配列の走査が完了したら、戻り値として変数 stringOutput を返却する
戻り値の"A"と"B"を分けるのはif文による分岐部分です。対応する位置の配列要素が1であれば"A"、0または2であれば"B"となりますから、戻り値の文字列が"AABAB"となるには、1番目、2番目、4番目の要素が1であり、それ以外の要素が1以外になっている必要があります。これを満たす配列は「エ」の {1,1,2,1,0} です。
  • 3番目と5番目の要素が1なので、戻り値は"BBABA"となります。
  • 2番目、4番目、5番目の要素が1なので、戻り値は"BABAA"となります。
  • 1番目と3番目の要素が1なので、戻り値は"ABABB"となります。
  • 正しい。1番目、2番目、4番目の要素が1なので、戻り値は"AABAB"となります。
© 2009-2024 ITパスポート試験ドットコム All Rights Reserved.

Pagetop