アルゴリズムとプログラミング
ITパスポート試験|手続 sort は,要素数が2以上の整数型の配列を引数 numberArray で受け取り,その要素を昇順に並べ…
手続 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(4番目)とswap→{1,5,3,2,4}を出力。j=2:範囲[5,3,2,4]の最小2(4番目)とswap→{1,2,3,5,4}を出力。j=3:範囲[3,5,4]の最小は3(3番目)で自分自身とのswapとなり変化なし→{1,2,3,5,4}を出力。よってj=3直後の出力は1,2,3,5,4でイが正解である。
?選択肢ごとの解説
ア ×1,2,3,4,5は完全に整列した最終状態で,これはj=4の処理後(5番目は自動確定)に得られる。j=3直後はまだ4番目以降が整列しておらず5と4が逆のままであ…
イ ○これは選択ソートで,各回j番目以降の最小値をj番目に置く。初期{3,5,1,2,4}。j=1:範囲全体の最小1(4番目)とswap→{1,5,3,2,4}を出力。j=2:範囲[5,3,2,4]の最小2(4番目)とswap→{1,2,3,5,4}を出力。j=3:範囲[3,5,4]の最小は3(3番目)で自分自身とのswapとなり変化なし→{1,2,3,5,4}を出力。よってj=3直後の出力は1,2,3,5,4でイが正解である。
ウ ×4,5,3,2,1は降順に近い並びで,選択ソート(昇順)の途中経過として現れない。比較条件を逆(大きい値を選ぶ)に誤読した場合の誤答である。
エ ×5,4,3,2,1は完全な降順で,昇順選択ソートでは生じない。アルゴリズムの並べ替え方向を取り違えた場合の誤答である。
アルゴリズムとプログラミングの他の問題
二つの正の整数A1,A2を入力すると,二つの数値B1,B2を出力するボックスがある(図1)。このボックスの動作は次のとおりで…大文字の英字から成る文字列の暗号化を考える。英字と文字番号の対応は次のとおりである(A=0, B=1, C=2, D=3,…関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列…次の流れ図で示す処理を終了したとき,xの値はどれか。 〔流れ図〕 1. 開始 2. x を 98 とする 3. y を…手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray…関数 sigma は,正の整数を引数 max で受け取り,1から max までの整数の総和を戻り値とする。プログラム中の…配列に格納されているデータを探索するときの,探索アルゴリズムに関する手続 calcMod3 を呼び出したときの出力はどれか。 〔プログラム〕
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r8k-q67
