手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで,配列の要素番号は1から始まる。 〔プログラム〕 ○printArray() 整数型: n, m 整数型の配列: integerArray ← {2, 4, 1, 3} for (n を 1 から(integerArray の要素数 − 1)まで 1 ずつ増やす) for (m を 1 から(integerArray の要素数 − n)まで 1 ずつ増やす) if (integerArray[m] > integerArray[m + 1]) integerArray[m] と integerArray[m + 1] の値を入れ替える endif endfor endfor integerArray の全ての要素 を先頭から順にコンマ区切りで出力する

テクノロジ系

ア 1,2,3,4
イ 1,3,2,4

なぜ違う: 完全にソートされておらず,バブルソートの実行結果と一致しない。

ウ 3,1,4,2

なぜ違う: 昇順に並んでおらず,処理結果として誤り。

エ 4,3,2,1

なぜ違う: 降順であり,このアルゴリズムは昇順ソートのため一致しない。

正解: ア

要点: 隣接交換による昇順バブルソート。{2,4,1,3}→1,2,3,4。

このプログラムは隣接する要素を比較して大きい方を後ろへ送るバブルソートであり,昇順に並べ替える。初期値 {2,4,1,3} は最終的に 1,2,3,4 となる。

この問題に出てくる用語

関連キーワード: アルゴリズム・バブルソート・擬似言語

同じ回の前後の問題

テクノロジ系の他の問題

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

App Store

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

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