Scratchで面積計算機を作る

文科省から示されているプログラミング教育の具体例は少ないので、どんな活動ができるのか考えてみたいと思います。
Scratchが活用できるのはどんな場面でしょうか?教師がクイズのプログラムを作って子どもにやらせる実践例も見かけますが、受け身ではなく子どもがプログラミングを組んでいく活動にしたいですね。となると、算数や理科での活動が考えやすいですね。
正多角形を描く活動例に似たものとして、図形の面積への理解を深めるために面積計算機を作る活動というのはすぐ思いつきますね。
いきなり子どもに「面積計算機を作りましょう。」と投げかけてもどんなものをどのように作るのか分からないでしょうから、具体例を示すことが必要です。と言うことで、長方形の面積を求める計算機を作ってみましょう。

まずは変数を作ります。長方形の面積の公式は「長方形の面積=たて×横」ですから、「たて」「横」「面積」の3つの変数を作ります。

変数を作る
次に繰り返し計算するように「ずっと」のブロックを置きます。その中に入力、計算、表示のプログラムを置いていくわけですが、分かりやすいように別々に組んで最後に中に入れるようにしてみましょう。

たて、横を入力するには「調べる」の中の「〇〇と聞いて待つ」のブロックを使います。入力された数値(答)を「変数」の中の「(変数)を〇にする」のブロックでたて、横それぞれの変数に入力します。

数値入力
次に面積を計算します。「演算」の中の「〇*〇」のブロックにたて、横の変数を入れて、その計算結果を面積に入力します。PCのプログラミングでは×には*、÷には/が使われているので注意しましょう。

最後に表示(出力)です。せっかくだから、式を表示してから面積を表示するようにしてみます。「見た目」の中の「〇〇と〇秒言う」のブロックを使い「演算」の中の「〇と〇」のブロックで式を表します。((たてと×)と(横と=))と二重にして使います。面積も同じように表示させます。これを全部「ずっと」の中に移動させれば完成です。

計算

入力

プログラムを走らせると「たての長さは何㎝ですか?」表示して入力待ちになります。数値を入力してエンターキーを押すかチェックマークをクリックすれば次に進みます。たて、横両方入力がすむと式を表示してから面積を表示し、また最初に戻ります。

表示

式表示

面積表示

やり方が分かったら教師から指示したり、子どもに選ばせたりして他の図形の面積の計算機を作る活動ができますね。三角形や台形の公式はより複雑になるので、難易度で得点をつけるなどしてみてもいいですね。

mBotの仲間たち

mBotを販売しているMakeblock社では他にもいろいろな製品を販売しています。
mBotの上位となるmBot Rangerは標準で3つの形態に組み立てることができます。(写真はLand Raider)

mBot Rnger
見てわかる通り制御基板がmBotより大分大きい基盤になっていますが、同じようにArduino互換です。センサー類は温度センサー、ジャイロセンサー、音声センサーがmBotより増えています。全体としての大きさもmBotの2倍ぐらいになっています。まあ、お値段も2倍ぐらいなんですが。センサー類は増えていますが基本的にプログラミング環境はmBotと同じなので、小学校あたりでプログラミング学習に使う分には差はないと言えるでしょう。
さらに上位のUltimate2.0というのもありますが、小学校で使うにはオーバースペックですしお値段も倍々ゲームなので・・・
新しい製品でcodey rockyというのもありますが、こちらはSTEM教育に関する要素をなくして、組み立て不要で音声認識、顔認識などに対応とAIよりのコンセプトになっているようです。お値段はmBotと同程度なので、これから購入するとしたらcodey rockyでいいのかも知れませんね。

airblock
これはモジュール式ドローンのAirblock。中央のコントロールモジュールとまわりの6個のパワーモジュールは磁石で連結されているので、壁などにぶつかった場合バラバラになることで破損を防ぐようになっています。また、パーツをいろいろ組み変えることでホバークラフトにしたりできます。

airblock

airblock

プログラミング環境としてはmBotと同じですが、ドローンだと飛行時間が短いのがネックで授業で扱うのは難しい感じですね。機体の安定システムも欲しいところです。これからドローンでプログラミング学習をするならTelloの方がいいかな、と思います。