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

- {0, 0, 1, 2, 1}
- {0, 1, 2, 1, 1}
- {1, 0, 1, 2, 0}
- {1, 1, 2, 1, 0}
[出典:ITパスポート試験 令和6年度 問62]
スポンサーリンク
正解
正解は「エ」です。
解説
[プログラムの説明]
プログラムの流れは以下の通りです。
- 文字列型変数
stringOutput
に空文字列""
を格納する。 - 配列
arrayInput
の要素を先頭から順に処理する。 - 各要素が
1
であれば、stringOutput
に"A"
を追加する。 - それ以外の要素であれば、
stringOutput
に"B"
を追加する。 - すべての要素を処理した後、最終的な
stringOutput
を返す。
選択肢エ {1, 1, 2, 1, 0}
の場合、プログラムのルールに従うと、以下のように文字列が生成されます。
- 最初の要素
1
→"A"
- 次の要素
1
→"A"
- 次の要素
2
→"B"
- 次の要素
1
→"A"
- 次の要素
0
→"B"
最終結果:"AABAB"
これにより、求める出力に一致するため、選択肢エが正解です。
選択肢ア: {0, 0, 1, 2, 1}
- 1番目 →
0
→"B"
- 2番目 →
0
→"B"
- 3番目 →
1
→"A"
- 4番目 →
2
→"B"
- 5番目 →
1
→"A"
結果: "BBAAB"
→ 不正解
選択肢イ: {0, 1, 2, 1, 1}
- 1番目 →
0
→"B"
- 2番目 →
1
→"A"
- 3番目 →
2
→"B"
- 4番目 →
1
→"A"
- 5番目 →
1
→"A"
結果: "BABAA"
→ 不正解
選択肢ウ: {1, 0, 1, 2, 0}
- 1番目 →
1
→"A"
- 2番目 →
0
→"B"
- 3番目 →
1
→"A"
- 4番目 →
2
→"B"
- 5番目 →
0
→"B"
結果: "ABABB"
→ 不正解
難易度
普通
配列の内容とプログラムの処理内容を正確に把握し、実際の動作をシミュレーションできる必要があります。
スポンサーリンク
用語補足
配列:
同じ型のデータを連続して格納できるデータ構造で、要素ごとにインデックス(番号)を持ちます。例えば、[1,2,3]のように格納し、各要素をインデックスを指定してアクセスできます。
条件分岐:
プログラム内で特定の条件を満たす場合に異なる処理を行うための制御構造です。IF文を用いることで、異なる処理を選択できます。
対策
- プログラムの処理フローを正確に理解し、条件分岐の流れに従って配列をシミュレーションする練習を行うことが重要です。
created by Rinker
¥1,793
(2025/04/19 05:40:52時点 楽天市場調べ-詳細)