Scratchで正多角形を描いてみる

指導要領に例示されているようにScratchで正多角形を描く場合を考えてみましょう。

まずは一番簡単な正方形です。下のようにブロックを組むと描くことができますね。

ですが、これでは効率的ではありません。下のように繰り返しを使うように修正するとすると、繰り返す回数と角度を変えることで他の正多角形を描くこともできるようになります。

Scratchに触れたことのある子なら、多少のヒントでここまでたどり着けます。

次に正三角形を描くように投げかけると、大概は下のように失敗します。

これは正三角形の内角が60°なので回転する角度を60°にしてしまうことで起きる失敗です。正方形は内角も外角も90°なので問題なく描けてしまったのですが、実際には正多角形の内角ではなく外角を回転角度としなければいけないわけです。

正解は次のようになります。

あわてた子どもが適当に数値を変えて何回も試行錯誤すると画面がぐちゃぐちゃになってどれが今描いた線かわからなくなってしまうので、右下のようにペンを上げる→全部消す→座標と角度を0に戻すというブロックを配置しておくと、クリックすれば初期の画面に戻るので便利でしょう。

回転する角度を外角にすることが理解できれば後は簡単です。繰り返しの回数と外角を指定していけば他の正多角形を描くことができます。正五角形なら繰り返し5回、角度は72°ですね。

実は最初に失敗した例も、繰り返し回数を6回にすれば正六角形を描くプログラムとなります。

「アンプラグド」って何?

「アンプラグド」とは「接続されていない」と言う意味で、パソコンやタブレットなどの電子機器を使わず、プログラミング的思考を学ぶ学習方法を意味します。絵本やカード等を使用する実践例がよく見られますね。
「それなら、パソコンなんて使わないで、アンプラグドだけやっていればいいんじゃないか。」とICTが不得意な教員は考えてしまうかもしれません。これはよくありがちな間違いです。反対にプログラミング教育では難しいプログラミング言語を使ってコードを書かなければいけないと思い、尻込みしてしまう間違いもあります。
しかし、学習指導要領を見てみると、小学校では児童が基本的操作を身につけコンピューターを活用すること、プログラミング言語を覚えたり技能を習得することをねらいとはしないことが明記されています。ですから、「アンプラグド」は導入段階や低学年で行うことが想定されていますし、また、プログラミングにはビジュアルプログラミング言語を活用することが一般的です。

こう書いてくると「アンプラグド」って必要ないんじゃないか、時数も足りないことだしそんなのやってられない!となってしまいそうですが、パソコンを使ってなくてもプログラミング的思考を意識して授業を行うことは大事なことだと思います。
具体例として6年理科「水溶液の性質」で考えてみましょう。
この単元では水溶液について学習します。気体が溶けた水溶液があること、リトマス紙で酸性・アルカリ性を見分けること、金属を溶かす水溶液があること、それぞれの水溶液を蒸発させた時の違いについてなどです。実験を通してそれらを学習するわけですが、これまでの指導では学習したことを結びつける指導が不十分だったと思います。学習後のテストでは何種類かの水溶液を判別する問題が必ず出題されますが、それぞれの性質を覚えていれば解けるものでしょうか。
例えば食塩水、炭酸水、アンモニア水の3種類の水溶液があり、与えられた情報から見分けなさいという問題があったとします。この場合どうすれば見分けられるのかフローチャート風に表してみると、

こんな感じになるでしょうか。こうした見分けるためのアルゴリズムの指導をしていくことは算数、理科の授業では常に意識していくことが必要でしょう。