科目A問60
手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで,配列の要素番号は1から始まる。
〔プログラム〕
〔プログラム〕

| 1,2,3,4 | |
| 1,3,2,4 | |
| 3,1,4,2 | |
| 4,3,2,1 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ア
解説
このプログラムは、二重ループ(for文)と条件分岐(if文)を用いて、配列の隣り合う要素を比較し、大きい値が前にあれば入れ替えることで配列を昇順に並べ替える処理(バブルソート)を行っています。繰り返し処理の回数と比較・交換の流れを正確に追うことが重要です。
初期状態は
integerArray = {2, 4, 1, 3}
1回目の外側ループでは、隣同士を順に比較して大きい値を後ろへ移動させます。
{2, 4, 1, 3} → {2, 1, 4, 3} → {2, 1, 3, 4}
2回目では、さらに前の要素を整列します。
{2, 1, 3, 4} → {1, 2, 3, 4}
3回目では交換は発生せず、そのまま終了します。
よって最終的に配列は {1, 2, 3, 4} となり、出力は
1,2,3,4 となります。
初期状態は
integerArray = {2, 4, 1, 3}
1回目の外側ループでは、隣同士を順に比較して大きい値を後ろへ移動させます。
{2, 4, 1, 3} → {2, 1, 4, 3} → {2, 1, 3, 4}
2回目では、さらに前の要素を整列します。
{2, 1, 3, 4} → {1, 2, 3, 4}
3回目では交換は発生せず、そのまま終了します。
よって最終的に配列は {1, 2, 3, 4} となり、出力は
1,2,3,4 となります。