Pintaniña, belongs to your side
学びの海の助け舟 ピンタニーニャ
Eatablished since 2020

titleimage

小学6年生のプログラミング・教科書に沿って
背の順ピンタで並び替えを理解しよう ~挿入ソート・バブルソート・選択ソート~

プログラミングとは、『達成する手順を構築すること』

プログラミングのイメージを直すところからスタートしましょう。みんながイメージしているプログラミングは『コーディング』であることが非常に多いです。パソコンに向かってキーを叩いて命令文を一生懸命に羅列する作業、ハイこれ。これは『コーディング』と言って、『プログラミングが終わった後の作業』です。
簡単に言うと、『仕掛けと順序を考える』のがプログラミングです。実際にやってみましょう!



 

1.プログラミングの基本

プログラムとは、何かを成し遂げるための決まった順序です。つまり、初めに「目的・課題」があります。
今回、5年生は「正多角形の描き方」という課題が、6年生は「バラバラの数字を並び替える」という課題が与えられています。この課題をどうしたら上手くクリアできるか?その方法を探し、解決できる手順を作っていきましょう。
この作業こそが『プログラミング』です!




ピン太とニーニャ

 

小学6年生 並び替えはイメージで理解しよう

『ソート』とは、並び替えのこと。知識として押さえておくのが大事。

 『バラバラに並んだ1~8までの数字を、小さい順に並べてください』と言われたら、おそらくバラバラの中から1を探していちばん左に置き、次に2を探してその右隣りに置く。3を探し右に置き、4を探し右に置く。このようにして並び替えるのが普通かと思います。
 では、1~99までの数字がバラバラに8個並んでいたとき、これを小さい順に並べるにはどうしたらいいか?どの数字があるか分からないので、1~8のときのようにはできませんね。
 そんなとき、一般的な並び替え方法を知っていると便利です。
一番小さいものを探して、左に置いていく『選択ソート』、左から順に、手前の適切な場所に差しこんでいく『挿入ソート』、となり合った二つを比べる『バブルソート』、などなど。
エクセルやスプレッドシートには標準で備わっている機能なので『このやり方を知らないと困る』ってこともないですが、教養として覚えておきたい知識です。また、できるようになると案外楽しいものです。何度かやってみると、けっこう簡単なことに気が付きますよ。

 

まずは挿入ソートを試してみよう。実際にやってみるのが一番早い!

下図の具体例を参考に、右側の記入シートに適当な数字を入れて実際に書いて確かめてみよう。 ・1番目の数はそのままにしておく。
・2番目の数は左の数と比較して小さければ前、大きければ後ろに置く。
・3番目の数は、左の2つの数とくらべ、小さい順になるような位置に差しこむ。
以降、これを8番目(最後)の数までくり返す。 これを踏まえて、教科書に載っているロボくんのQRコードで試してみましょう。


 

実際に試してみたらどうかな?

ロボくんのサイトでひとまずやってみましょう。残念なことに、並び替えの様子を眺めることしかできません。
ロボくんに教えよう(教科書の課題)のページへは教科書のQRコードを読み取るか
下記URLをアドレスバーに入力しよう。 
https://gakuto-plus.jp/PMPrograms2019/robokun6.html(※リンクにしてません)
↑これでうまくいかない場合は https://gakuto-plus.jp/01607

挿入ソート以外にも代表的なソートの方法に『選択ソート』と『バブルソート』があります。
バブルソートはロボくんのサイトでも見られますが、選択ソートは見ることができません。 今一つ分かりにくいので、分かりやすく、且つ自分で操作して試せるソートのプログラムと、自動で並び替える選択ソートのプログラムを用意しました。

イメージしやすいものを使って、『並び直さないといけない理由』も共感できるものがあり、なおかつ『解く必要性』も納得できれば、解きたくなるのも必然でしょう。
というわけで、こんなストーリーで実際に動かして確かめられるプログラムをScratchで作ってみました。

背の順ピンタの大冒険 ~助かる道は、並び替え~
 秋も深まり紅葉を楽しむピンタ8人兄弟。キレイな葉っぱに連れられ川に落ちてしまいました。そのまま流され、滝壺の中に!
丸太のイカダに乗り移ったピンタ兄弟、滝の手前にある斜めになったバーをみんな上手くつかんで脱出することができるでしょうか?


 

挿入ソート・バブルソートを実際に試しながら解いてみよう

イメージしやすい設定を踏まえて、実際にやってみましょう。一手ずつ動かします。
言葉で説明されてもよく分からないのが普通です。実際にやってみるのが手っ取り早い。


 

いろんなソートをもっと詳しく見たいなら、動画で確認しよう

バブルソート、挿入ソート、選択ソートのプログラムを動画にしてみました。
必要に応じて、一時停止しながら見てください。

背の順ピンタの『バブルソート』を動画で見てみよう



背の順ピンタの『挿入ソート』を動画で見てみよう



ミルクの並び替えの『選択ソート』を動画で見てみよう





ピン太とニーニャ

 

3.ソートのプログラム を もっと使ってみたい・作ってみたい

 ~もっと学びたいと思ったら~ 質の良いお手本から学ぶことが、学習の質を高めます

『背の順ピンタ』、『ミルクの並び替え』のプログラムはScratch(スクラッチ)で作っております。


これらのプログラムは見た目の演出部分に過剰な装飾があるので、お手本としては過ぎています。ソート部分だけに絞ったプログラムがあるので、これをお手本にするのが良いでしょう。自分で作ることで必然的に仕組みを理解します。

なお、複雑なプログラムを作る前には、このように仕掛けの確認用に簡易版で試してみるのが普通です。まずはカンタンなところから始める、これが鉄則!
Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.edu から自由に入手できます。

 バブルソートの簡易版プログラムを作ってみよう

『背の順ピンタ』のプログラムは、余計な装飾が多すぎて複雑ですが、ソートの部分だけならそれほど複雑ではありません。自動バブルソートのコードを紹介するのでScratch(スクラッチ)で作ってみよう。


scratchの基本的な操作ができるなら、コードをマネして作ってみよう。
ランダムリストの自動生成やソートのデータ数変更などの追加や、不慣れな人向けの丁寧な解説なども、今後別ページにて作成予定です。






ピン太とニーニャ

小学校プログラミング授業 他学年の記録

小学1年生 小学1年生プログラミング授業

向きと歩数で指示して落ちずに橋を渡るプログラムを使っての授業

小学2年生 小学2年生プログラミング授業

ハノイの塔を学べるプログラム『ニーニャのケーキ』を使っての授業

小学3年生 小学3年生プログラミング授業

天秤ばかりで重さの違う玉を探すプログラムを使って調べ方を学ぶ

小学4年生 小学4年生小学4年生プログラミング授業

一筆書きを描いて解くプログラムを使っての一筆書きを学ぶ

小学5年生 小学5年生プログラミング授業

直進・曲がるを繰り返しで描くプログラムを使って多角形を学ぶ

小学6年生 小学6年生プログラミング授業

背の順ピンタ/ミルクのソートプログラムを使って並び替えを学ぶ

 一般社団法人ピンタニーニャ・プログラミング学習協会


最後まで読んでいただきありがとうございます