【解答】(5)(1)
(a)
このフローチャートは、選択ソートのアルゴリズムです。選択ソートは、ソート対象範囲の中から最も小さいデータを見つけ出し、ソート対象範囲の先頭と交換することでソートしていくものです。
最初は先頭のa[1]とa[2]~a[5]を比較し、それが終わればa[2]とa[3]~a[5]を比較し、その次はa[3]とa[4]・a[5]を比較し、最後にa[4]とa[5]を比較して、それぞれの場面で小さい方の数字を前に持ってくるわけです。
これが分かってしまえば、出力されるa[5]は初期値の中で最も大きい数値の8であることが分かります。
(b)
フローチャート中のX部分は数値を入れ替える処理ですから、(2,3,8,6,5)を(2,3,5,6,8)にするために必要な入れ替え回数は3回です。アルゴリズムに沿って考えると、
- (2,3,8,6,5)→(2,3,6,8,5)→(2,3,5,8,6)→(2,3,5,6,8)
と変化していきます。