ITパスポート試験 過去問解説

バブルソートとは?ITパスポート試験 2023年 (令和5年) 問60を解説

ITパスポート試験 2023年 (令和5年) 問60は、バブルソートに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

手続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. ア1,2,3,4正解
  2. イ1,3,2,4
  3. ウ3,1,4,2
  4. エ4,3,2,1

正解

ア: 1,2,3,4

解説

隣り合う二つの要素を比べ、前が後ろより大きければ入れ替える操作を繰り返しているので、昇順に整列するバブルソートである。1周目で 2,4,1,3 は 2,1,3,4 となり、最大値の4が末尾に定まる。2周目で 1,2,3,4 となり、3周目は入れ替えが起きない。最終的な出力は 1,2,3,4 である。

なぜ他の選択肢が違うのか

  • ア(正解)

    正しい。1周目で 2,1,3,4、2周目で 1,2,3,4 となり、3周目は入れ替えが起きないため、昇順に整列した並びが出力される。

  • イ

    どの周回を終えた時点でもこの並びにはならない。全ての周回を終えると必ず昇順に整うので、逆順の組(3と2)が残る並びは出力されない。

  • ウ

    入れ替えの条件は、前の要素が後ろの要素より大きいことである。全ての周回を終えた後に、大小が乱れた 3,1,4,2 のような並びが残ることはない。

  • エ

    降順になるのは、前の要素が後ろの要素より小さいときに入れ替える場合である。このプログラムは大きいときに入れ替えるので、昇順になる。

解き方の整理

バブルソートの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

2023年 (令和5年) の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。