embot

embot WOW!

2020.5.25

【embotでプログラミングを学ぼう②】
プログラムをまとめて箱に入れる:解説編

- 【embotレベル】2
- 【プログラムの技】ファンクション
- 【主に使うプログラム】[function]、[start]、[end]

「embotでプログラミングを学ぼう①」では、プログラムの命令は1列に整列させるという技を学びました。今回もembotのプログラマーとして新しい技を学んでステップアップしましょう。

長いプログラムはグループ分けすると便利

embotにたくさんの動作をプログラムしたい場合、命令を1列に並べたプログラムはどんどん長くなっていきます。長く長く1列に連なったプログラムは、あとで改造したいと思ったときに、とても見づらく、どこが何の命令だったのかを探すのが大変です。プログラムをキリのいいところで区切って小さなグループにわけておくと、とても見直しやすくなります。

embotアプリの「レベル1」ではプログムは長く一列に並べるだけでしたが、「レベル2」からは、このグループ分けの技が使えます。プログラムのまとまりを箱の中に入れて「ファンクション(function)」と呼んで管理します。

さらに、「レベル2」からは、プログラムを作るために「フローチャート」を使います。「はじめ」と「おわり」の間に「ファンクション(function)」を入れて線でつなぎます。「ファンクション(function)」はひとつだけでなく、いくつ入れても構いません。

こうして線でつなぐと、プログラムの流れを一目で確認することができます。プログラムの大きな流れを考えることができるので、複雑なプログラムを作るときほど便利さを実感できます。

embotでやってみよう

embotアプリのプログラミング機能で「レベル2」に設定し、「新しいプログラム」を作成します。「レベル2」の画面は「レベル1」の画面とはがらりと変わります。ここで「フローチャート」を使ってプログラミングします。

「フローチャート」で使うブロックには英語で役割が書かれていますが、アイコンがついているので、直感的に意味がわかります。「はじめ」の役割が[▶︎start]ブロックで、「おわり」の役割が[■end]ブロックです。「ファンクション(function)」はembotのシルエットが描かれた[function]ブロックです。[start]と[end]をプログラム編集エリアに置いたら、間に[function]を置き、矢印を引き出して順につなぎます。

次に、[function]ブロックの中のプログラムを作りましょう。[function]をタップして[開く]を選ぶと、下の図の画面が表示されます。この画面には見覚えがありますね。「レベル1」のプログラム作成画面とそっくりです。[function]の中には、「レベル1」で覚えた通り順次処理のプログラムを作ることができます。

ここで、「ドレミファソ」と音を鳴らすプログラムを作りましょう。下の図を参考に[ブザー]カテゴリーから[○の音を○拍ならす]ブロックを選んで並べます。出来上がったら、右上の[×]で閉じて、最初のフローチャート画面に戻ります。

フローチャートで見ると、長いプログラムがとてもすっきりしていますね。これで、フローチャートを使ったembotのプログラムが完成しました。作った[function]ブロックは左下の「Save List」エリアに保存され、再利用することができるので便利です。また、ここでは[function]を1個しか作っていませんが、いくつ作っても構いません。

あれ?[ブザーをとめる]は入れなくていいの?

「embotでプログラミングを学ぼう①」では、[ブザーをならす]ブロックを使ったら、[○秒待つ]と[ブザーをとめる]のブロックを入れて、音をOFFにするというお話をしました。今回のプログラムでは、[○秒待つ]と[ブザーをとめる]を使っていません。なぜ使わないのでしょうか?

今回使った[○の音を○拍ならす]という音を鳴らすブロックには、何の音を鳴らすかという指定だけでなく、何拍伸ばして止めるかという音の長さの指定が含まれています。そのため、[○秒待つ]と[ブザーをとめる]のブロックを入れる必要がありません。

ファンクションには名前をつけられる

[function]ブロックを複数作ると、どれが何の役割をするプログラムだったのかをつい忘れてしまいます。わかりやすい名前をつけておくと便利です。名前をつけるには、[function]の編集画面上部にあるエリアに直接好きな名前を入力してください。

フローチャートの画面に戻ると、せっかく[function]につけた名前が見えません。名前を確認するには[function]ブロックをタップしてください。[開く/消す]のメニューの上部に「かん数名」という欄があり、そこに名前が表示されます。なお、ファンクション(function)のことを日本語のプログラミング用語では「関数」と呼ぶため、「かん数名」という見出しがついています。

ロボットの設定をラクに行う方法

「レベル2」から使える便利な機能をひとつご紹介しましょう。さきほど、[function]ブロックの中をプログラムしたとき、1つ目にロボットの設定をするブロックをいれました。[function]をたくさん作るようになると、毎回このブロックを入れるのが少し面倒です。

そこで、このロボットの設定をembotアプリ全体に対して行います。新しいプログラムの作成画面で、右上のembotマークをタップすると、下の図のように「ロボットリスト」が表示されます。

embot本体の電源を入れて近くに置き、[せつぞく]をタップすると、アプリが自動でembotを検出します。好きな名前をつけて[ついか]をタップしてください。

ロボットが追加されて、「デフォルト」と記載されていれば、設定が完了です。

以上のようにアプリでロボットの追加をしておけば、ファンクション(function)ごとにロボットの設定ブロックを入れる必要がありません。

作業効率がアップするのでぜひ試してみてください。

続いて、この技を使った課題に挑戦します
→[embotでプログラミングを学ぼう②]プログラムをまとめて箱に入れる:課題編

もどる

embotアプリ

アプリは、embotを購入されていなくても、
お試しいただけます。