ITパスポート試験 ITパスポート 2026年 (令和8年) 問67: 手続sortは,要素数が2以上の整数型の配列を引数numberArrayで受け取り,その要素を昇順に並べ替えた結果を出力する。手続sortの動作確認のために,処

←
ITパスポート 2026年 (令和8年)
Q 6767 / 100
手続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の全ての要素 を先頭から順にコンマ区切りで出力する ```
この問の正解率:59.57%(1,447件)

解説

ITパスポート 2026年 (令和8年) 問67「手続sortは,要素数が2以上の整数型の配列を引数numberArrayで受け取…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約60%です。

正解

イ. 1,2,3,5,4

正答率 59.6%(1,447人中 862人が正解)

問題の解説

手続は選択ソートで、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になる。

ITパスポート 2026年 (令和8年) の過去問一覧に戻る・問67

ITパスポート試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

ITパスポート試験 合格.dev を App Store でダウンロード