※このページには広告(PR)が含まれます

ITパスポート 令和5年度 問60 の解説テクノロジ系/アルゴリズムとプログラミング

正解はア。初期状態の配列をバブルソートによって昇順に正しく並べ替えた結果(1,2,3,4)であり、適切です。

手続 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です。

執筆・監修: はるのパパ(運営者)更新日: 2026-07-05出典: ITパスポート試験 令和5年度 問60(IPA)

アルゴリズムとプログラミングをまとめて学ぶ

アルゴリズムとプログラミング 重点教科書 →

データ構造・擬似言語・探索と整列アルゴリズム・プログラム言語・HTML/XML/JSONまで、ITパスポートのアルゴリズム分野を体系的に解説します。

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

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

令和5年度の過去問CBTを解く
PR(Amazon)

演習を続けやすい学習環境づくりに

🖥️

PC用モニター(学習環境を整える)

問題文と解説を並べて表示できると、長時間の演習でも目と首が疲れにくくなります。ノートPCに外付けする方に。