HOME»応用情報技術者平成25年秋期»午前問9
応用情報技術者平成25年秋期 午前問9
問9
未整列の配列a[i](i=1,2,…,n)を,流れ図で示すアルゴリズムによって昇順に整列する。n=6でa[1]~a[6]の値がそれぞれ,21,5,53,71,3,17の場合,流れ図において,a[j-1]とa[j]の値の入替えは何回行われるか。
- 3
- 6
- 8
- 15
分類
テクノロジ系 » アルゴリズムとプログラミング » アルゴリズム
正解
ウ
解説
//初期の並び21,5,53,71,3,17
===ループ1:i=1===
===ループ2:j=6===
3>17=No
===ループ2:j=5===
71>3=Yes
71と3を入れ替える…1
===ループ2:j=4===
53>3=Yes
53と3を入れ替える…2
===ループ2:j=3===
5>3=Yes
5と3を入れ替える…3
===ループ2:j=2===
21>3=Yes
21と3を入れ替える…4
//j=1となりループ2の繰り返しが終了
//ここまでの並び3,21,5,53,71,17
===ループ1:i=2===
===ループ2:j=6===
71>17=Yes
71と17を入れ替える…5
===ループ2:j=5===
53>17=Yes
53と17を入れ替える…6
===ループ2:j=4===
5>17=No
===ループ2:j=3===
21>5=Yes
21と5を入れ替える…7
//j=2となりループ2の繰り返しが終了
//ここまでの並び3,5,21,17,53,71
===ループ1:i=3===
===ループ2:j=6===
53>71=No
===ループ2:j=5===
17>53=No
===ループ2:j=4===
21>17=Yes
21と17を入れ替える…8
//j=3となりループ2の繰り返しが終了
//ここまでの並び3,5,17,21,53,71
(以下省略)
ここまでの処理で値が昇順に整列されたので入替え回数は8回が適切です。===ループ1:i=1===
===ループ2:j=6===
3>17=No
===ループ2:j=5===
71>3=Yes
71と3を入れ替える…1
===ループ2:j=4===
53>3=Yes
53と3を入れ替える…2
===ループ2:j=3===
5>3=Yes
5と3を入れ替える…3
===ループ2:j=2===
21>3=Yes
21と3を入れ替える…4
//j=1となりループ2の繰り返しが終了
//ここまでの並び3,21,5,53,71,17
===ループ1:i=2===
===ループ2:j=6===
71>17=Yes
71と17を入れ替える…5
===ループ2:j=5===
53>17=Yes
53と17を入れ替える…6
===ループ2:j=4===
5>17=No
===ループ2:j=3===
21>5=Yes
21と5を入れ替える…7
//j=2となりループ2の繰り返しが終了
//ここまでの並び3,5,21,17,53,71
===ループ1:i=3===
===ループ2:j=6===
53>71=No
===ループ2:j=5===
17>53=No
===ループ2:j=4===
21>17=Yes
21と17を入れ替える…8
//j=3となりループ2の繰り返しが終了
//ここまでの並び3,5,17,21,53,71
(以下省略)
以下は整列される様子をアニメーションにしたものです。また次のプログラムは設問のアルゴリズムをJavaScriptで実装したものです。