スポンサーリンク

ITパスポート試験 令和5年度 [問60] 問題&解説

問題

問60

手続 printArray は、配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで、配列の要素番号は1から始まる。

  • 1,2,3,4
  • 1,3,2,4
  • 3,1,4,2
  • 4,3,2,1

[出典:ITパスポート試験 令和5年度 問60]

スポンサーリンク

正解

正解は「」です。

解説

 この問題のプログラムは、「バブルソート」というソートアルゴリズムを用いて配列を昇順に並べ替える処理を行います。バブルソートは隣り合う要素を比較しながら、小さいものを前に移動させる方式であり、最も基本的なソートアルゴリズムの一つです。

 初期状態の配列は {2, 4, 1, 3} です。バブルソートの処理をステップごとに見ていきます。

  • 1回目のループ(n=1)  {2, 4, 1, 3} → {2, 1, 4, 3} → {2, 1, 3, 4}
  • 2回目のループ(n=2)  {2, 1, 3, 4} → {1, 2, 3, 4}
  • 3回目のループ(n=3)  {1, 2, 3, 4}(すでにソート済みなので変化なし)

 このように、最終的な配列の並びは {1, 2, 3, 4}となるため、正解は「ア」となります。

イ(1,3,2,4):
 バブルソートの基本的な動作に従うと、この並びにはなりません。
ウ(3,1,4,2):
 これは初期状態とも異なり、バブルソートの動作結果とも一致しません。
エ(4,3,2,1):
 これは降順の並びであり、バブルソートの結果とは異なります。

難易度

やや易しい
 バブルソートの基本的な仕組みを理解していれば解答できる問題です。プログラムを一行ずつトレースする力が必要ですが、アルゴリズムの基本に沿った出題のため、比較的容易な問題といえます。

スポンサーリンク

用語補足

バブルソート:
 隣り合う要素を比較しながら、より小さい値を前方へ移動させることでリストをソートするアルゴリズムです。処理のたびに最大の要素が末尾に移動するため、泡(バブル)が上がるような動作に見えることからこの名前がついています。

ソートアルゴリズム:
 データを特定の順序(昇順や降順)に並べ替える処理のことです。代表的なソートには「バブルソート」「クイックソート」「マージソート」などがあります。

対策

  • バブルソートのアルゴリズムを理解し、実際に手を動かしてトレースできるようにする。
  • 他のソートアルゴリズム(選択ソート、クイックソートなど)と比較し、それぞれの特徴を理解する。
  • プログラムを読み解く力をつけるために、条件分岐やループ処理の流れを整理しながら考える練習を行う。


タイトルとURLをコピーしました