ITパスポート試験 過去問解説
ソートとは?ITパスポート試験 2026年 (令和8年) 問67を解説
ITパスポート試験 2026年 (令和8年) 問67は、ソートに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
手続sortは,要素数が2以上の整数型の配列を引数numberArrayで受け取り,その要素を昇順に並べ替えた結果を出力する。手続sortの動作確認のために,処理の途中でjの値とworkArrayの全ての要素を出力する。配列numberArrayを{3, 5, 1, 2, 4}とし,手続sortをsort(numberArray)として呼び出したとき,jの値が3と出力された直後のworkArrayの全ての要素の出力はどれか。ここで,配列の要素番号は1から始まる。 〔プログラム〕 ``` ○sort(整数型の配列: numberArray) 整数型: minIndex, j, k 整数型の配列: workArray ← numberArray // 配列の複製を作る for (j を 1 から (workArrayの要素数 - 1) まで 1 ずつ増やす) // j番目から末尾までの要素の中で最も小さい値をもつ要素の要素番号を // 一つ求める minIndex ← j for (k を (j + 1) から workArrayの要素数 まで 1 ずつ増やす) if (workArray[k] が workArray[minIndex] より小さい) minIndex ← k endif endfor workArray[j] と workArray[minIndex] の値を入れ替える // 動作確認のために,jの値とworkArrayの全ての要素を出力する j の値を出力する workArrayの全ての要素 を先頭から順にコンマ区切りで出力する endfor workArrayの全ての要素 を先頭から順にコンマ区切りで出力する ```
この問題の出題ポイント
- ソートの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
- 関連タグ: 擬似言語、ソート、トレース問題。
選択肢
- ア1,2,3,4,5
- イ1,2,3,5,4正解
- ウ4,5,3,2,1
- エ5,4,3,2,1
正解
イ: 1,2,3,5,4
解説
手続は選択ソートで、j番目から末尾までの最小値の位置を求め、j番目の要素と入れ替える。{3,5,1,2,4}を追うと、j=1で最小値1を先頭と入れ替えて{1,5,3,2,4}、j=2で最小値2を2番目と入れ替えて{1,2,3,5,4}になる。j=3では残りの{3,5,4}の最小値が3番目の3自身なので並びは変わらず、出力は1,2,3,5,4になる。
なぜ他の選択肢が違うのか
ア
完全に昇順になった状態で、これが出力されるのはj=4の処理後である。j=3の時点では、4番目と5番目の要素がまだ入れ替わっていない。
イ(正解)
正しい。j=3では、3番目以降の{3,5,4}の最小値が3番目の3自身なので入れ替えは起きず、j=2の後の並びのままになる。
ウ
昇順に並べる手続なので、j=1の処理後に先頭が最小値の1になる。先頭が4の並びが出力されることはない。
エ
降順の並びで、昇順に整列する手続の途中経過としてあり得ない。j=1の処理後には先頭が最小値の1になる。
解き方の整理
ソートの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
2026年 (令和8年) の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。