ITパスポート 過去問
令和8年度
問67 (テクノロジ系 問13)
問題文
手続sortは、要素数が2以上の整数型の配列を引数numberArrayで受け取り、その要素を昇順に並べ替えた結果を出力する。手続sortの動作確認のために、処理の途中での値と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の全ての要素を先頭から順にコンマ区切りで出力する
[プログラム]
◯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の全ての要素を先頭から順にコンマ区切りで出力する
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
ITパスポート試験 令和8年度 問67(テクノロジ系 問13) (訂正依頼・報告はこちら)
手続sortは、要素数が2以上の整数型の配列を引数numberArrayで受け取り、その要素を昇順に並べ替えた結果を出力する。手続sortの動作確認のために、処理の途中での値と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の全ての要素を先頭から順にコンマ区切りで出力する
[プログラム]
◯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
正解!素晴らしいです
残念...
この過去問の解説
前の問題(問66)へ
令和8年度 問題一覧
次の問題(問68)へ