60の正解: テクノロジ系アルゴリズムとプログラミング

手続 printArray は、配列 integerArray の要素を並べ替えて出力する。手続 printArray を呼び出したときの出力はどれか。ここで、配列の要素番号は1から始まる。 [プログラム] ○printArray() 整数型:n, m 整数型の配列: integerArray ← {2, 4, 1, 3} for (nを1から (integerArray の要素数 -1) まで1ずつ増やす) for (mを1から (integerArray の要素数-n) まで1 ずつ増やす) if (integerArray [m] > integerArray[m + 1]) integerArray[m] と integerArray [m + 1] の値を入れ替える endif endfor endfor integerArray の全ての要素を先頭から順にコンマ区切りで出力する

この設問が問うていること

疑似コードに記述されたバブルソートアルゴリズムを実行した結果を問う設問です。

1,2,3,4正解
選択肢の解説: 初期状態の配列をバブルソートによって昇順に正しく並べ替えた結果(1,2,3,4)であり、適切です。
1,3,2,4
選択肢の解説: ソート途中の状態であり、完全にソートされていないため不適切です。
3,1,4,2
選択肢の解説: 要素がソートされておらず、順序が誤っているため不適切です。
4,3,2,1
選択肢の解説: 降順(大きい順)に並べ替えた結果になっており、if文の条件(左の方が大きいときに入れ替える)から昇順になるはずであるため誤りです。

総合解説

提示された疑似コードは、隣り合う要素の大小関係を比較し、順序が逆であれば入れ替えることを繰り返す「バブルソート(隣接交換法)」アルゴリズムです。 ・初期状態の配列は `{2, 4, 1, 3}` です。 ・アルゴリズムを適用すると、最終的に昇順(小さい順)に並べ替えられます。 ・昇順に並べ替えた結果は `{1, 2, 3, 4}` となり、出力はコンマ区切りで `1, 2, 3, 4` です。 したがって、正解はaです。

執筆・監修: 運営者 KH更新日: 2026-07-05出典: IPA公式PDF(過去問題・解答例)
AIAIにその場で質問(デモ応答)

こんな聞き方もできます(タップで質問)

令和5年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和5年度の過去問CBTを解く