配列のソート
やること
この教材では、配列のソート( 配列の要素を昇順に並び替える)仕組みを学びます。このプログラムでは、基本的なソートアルゴリズムの仕組みを理解します。
ステップ1
エディターに以下のプログラムを入力してみましょう。
numbers@=[42,3,15,8,23]
print "元の配列:"
for i=0 to len(numbers@)-1
print numbers@[i]
next
for i=0 to len(numbers@)-2
for j=0 to len(numbers@)-2-i
if numbers@[j] > numbers@[j+1] then
temp=numbers@[j]
numbers@[j]=numbers@[j+1]
numbers@[j+1]=temp
end if
next
next
print "昇順にソートされた配列:"
for i=0 to len(numbers@)-1
print numbers@[i]
next
ステップ2
エディターの右下にある「▶実行」ボタンを押すと、入力したプログラムが実行されます。実行した後は、画面の右上にある「ドキュメント」タブを押して、ここに戻ってきてください。
では、「▶実行」ボタンを押してください。
ステップ3
実行画面に以下のように表示されたら成功です。
元の配列:
42
3
15
8
23
昇順にソートされた配列:
3
8
15
23
42
ステップ4
実行したプログラムを解説します。
使っている命令の簡単な紹介
-
for-next
は繰り返し処理を実行します。 -
if-then
は 条件に応じた分岐処理を行います。 -
len
は 配列の要素数を取得します。 -
配列のインデックス操作 は
numbers@[i]
で配列の指定した位置の要素を取得します。
プログラムで行われていること
-
配列
numbers@
に初期値として 5 つの数値を格納します。 - 配列の各要素を画面に表示します。
-
バブルソートアルゴリズムを使用して、配列を昇順に並び替えます。
- 外側のループでソートの回数を制御します。
- 内側のループで隣り合う要素を比較し、大小関係が逆であれば入れ替えを行います。
- ソートされた結果を画面に表示します。
学ぶべきこと
- 配列の操作方法(要素の取得、更新)。
- 条件分岐や繰り返し処理を使ったアルゴリズムの実装方法。
- バブルソートの仕組みとその動作原理。
チャレンジ
-
配列の初期値を変更して、プログラムを実行してみましょう。
-
例:
[5,1,9,7,3]
に変更してみる。
-
例:
-
昇順ではなく降順にソートするようにプログラムを修正してみましょう。
-
if numbers@[j] < numbers@[j+1] then
のように条件を変更します。
-
-
配列の要素数を増やし、10個以上の数値をソートしてみましょう。
-
例:
[12,7,19,3,5,8,23,15,10,1]
を試してください。
-
例: