Wakaru Lens

ITパスポート過去問の解説 > 令和8年度 問67

ITパスポート 令和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 の全ての要素 を先頭から順にコンマ区切りで出力する

出典:令和8年度 ITパスポート試験 公開問題 問67(IPA)

答えと解説を見る

答え:イ 1,2,3,5,4

基本選択法で並べ替えます。j=1で最小値1と先頭の3を交換して{1, 5, 3, 2, 4}、j=2で2番目以降の最小値2と5を交換して{1, 2, 3, 5, 4}となります。j=3では3番目以降の最小値が3自身のままで交換されないため、出力は「1, 2, 3, 5, 4」です。

この解説は、AI解説アプリ「Wakaru Lens」で問題を撮って実際に解いた結果(精度優先の設定)です。答えがIPAの解答例と一致していることを運営チームが確認しています。

ほかの問題も、撮るだけで解説

手元の過去問や問題集も、スマホで撮るだけで答え・AIの自信度・解説が数秒で出ます。答えを隠して自分で選んでから確かめる「学習モード」もあります。問題モードの使い方

← 問66問題の一覧問68 →
📸 無料でためしてみる登録なしで1回ためせる・毎日チケット5枚無料