令和8年度 ITパスポート 問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
正解と解説を見る
正解:イ
選択ソート。j番目以降で最小の要素を探し、j番目と入れ替える。{3,5,1,2,4}→j=1で{1,5,3,2,4}→j=2で{1,2,3,5,4}→j=3は3が既に3番目なので変わらない。
選択肢ごとの解説
- ア
- 全部並べ終わった最後の状態。j=3の時点では4番目と5番目がまだ入れ替わっていない。
- イ正解
- j=3の時点の{1,2,3,5,4}。
- ウ
- 昇順に並べ替える手続なので、大きい数が先頭に来ることはない。
- エ
- 大きい順の並び。最小値を前に持ってくる手続なので、こうはならない。
出典:令和8年度 ITパスポート試験 公開問題 問67
問題文・選択肢はIPA公開問題の原文です。解説は本サービスが独自に作成したもので、IPAの公式解説ではありません。
この問題のテーマを基礎から学ぶ
同じテーマの過去問
この分野の続きをアプリで解く
アプリでは公式過去問500問を本番の並びのまま解けるほか、分野別の演習や100問模試、合格準備度スコアで弱い分野と次の一歩が分かります。最初の7日間は学習記録も無料です。