【embotでプログラミングを学ぼう②-1】プログラムをまとめて箱に入れる:解説編
目次
- 【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]ブロックは左下の「セーブリスト」エリアに保存され、再利用することができるので便利です。また、ここでは[function]を1個しか作っていませんが、いくつ作っても構いません。
ファンクションには名前をつけられる
[function]ブロックを複数作ると、どれが何の役割をするプログラムだったのかをつい忘れてしまいます。わかりやすい名前をつけておくと便利です。名前をつけるには、[function]の編集画面上部にあるエリアから鉛筆マークを押して、直接好きな名前を入力してください。
フローチャートの画面に戻ると、せっかく[function]につけた名前が見えません。名前を確認するには[function]ブロックをタップしてください。[開く/消す]のメニューの上部に「かん数名」という欄があり、そこに名前が表示されます。なお、ファンクション(function)のことを日本語のプログラミング用語では「関数」と呼ぶため、「かん数名」という見出しがついています。
続いて、この技を使った課題に挑戦します。