はじめてのプログラミング入門
第13回 プログラムを分けてみよう

プログラムを分けると、使いまわすことができるようになるよ

こんにちは、来週に引っ越しを予定しているあらたまです!

引越し準備の段ボール詰めって、なんかテトリスみたいですよね。 色々なものを組み合わせて段ボールにぴったりハマったときは、「テトリス!」とぜひ大声で叫びましょう。

そしてそこまではチュートリアル。そのうちギックリ腰になって這って進むようになってからが本番ステージです。

さて、今日は「はじめてのプログラミング入門」の第13回目です。

おさらい

前回では ユーザーに文字を入力してもらい、その値によって処理を分岐しましたね。

今回は「プログラムを分ける」ということについてお話したいと思います!

それでは、いつものようにスクラッチを起動してください。

スクラッチキャットを震わせてみよう!

さて前回作ったプログラムに、僕の方で少し変更を加えてみました。

変更したのはこの場所です。 右に5歩動かして左に5歩戻す、ということを4回繰り返していますね。
これはスクラッチキャットがぶるぶるっと震える動作をします。

実際に動作を確認しておきましょう!緑の旗をクリックして、りんごと入力します。

スクラッチキャットがぶるぶるっと震えましたね。

プログラムを分けてみよう

この追加したぶるぶると震える部分、これを今回は別に分けて作ってみたいと思います。

分けるメリットについては、この記事の後半でお話しますね。

「4回繰り返す」の部分をドラッグして、横にずらします。

「りんごきらーいと2秒言う」だけドラッグして、元の場所に戻しましょう。

これで今回追加した部分が分かれましたね。

メッセージ

さて、この分かれたプログラム同士を連携したいとき、 スクラッチでは「メッセージ」というものを使います。

イメージ的にはこんな感じ。 プログラムAが「処理を開始してー」というメッセージを投げると、 プログラムBが反応して処理を開始しているわけですね。

それでは、メッセージを実装していきましょう。

「イベント」をクリックして、 「メッセージ1を受け取ったとき」を分けたプログラムの一番上に置きます。

続いて、「メッセージ1を送って待つ」を分けたプログラムを呼び出したい場所に置きます。

これでプログラムを分けることができました!

動きを確認してみよう

それでは動きを確認してみましょう。緑の旗をクリックして、りんごと入力します。

スクラッチキャットがぶるぶるっと震えましたね。
プログラムを分ける前と変わらず、ちゃんと動作しています。

プログラムを分ける利点

さて、プログラムを分けることが出来ることはわかりました。
ですが、いったい何のためにそのようなことをするのでしょうか。

メリットとしては

  • プログラム全体がわかりやすくできること
  • 同じ処理をいくつも書かなくてよくなること
  • 分けた部分を色々な場所で再利用できること
といったものがあります。

下の例を見てみてください。赤の点線の部分をあらたに追加してみました。

「みかん」と入力した場合にもスクラッチキャットが震えて 「みかんもきらーい」と言うようになっています。

注目して欲しいのは、「りんご」と入力されたときと「みかん」と入力されたときの 2個所でメッセージ1を送信していることです。

つまり、「スクラッチキャットが震える処理」を分けておくことで、 複数の場所で使うことが出来ている、ということですね。

緑の旗をクリックして「みかん」と入力してみると、ちゃんと震える動作をしますね。

もしも分けなかった場合

もしも同じことを、プログラムを分けずに作った場合はどうなるのでしょうか。

もしも分けずに作った場合は下のようになります。

なんか長いですね。。

いまは「りんご」と「みかん」だけですがこれもバナナも追加したら、さらにもっと長くなりますね。 さらにパイナップルも追加したら、もっともっと長くなりますよね。

繰り返し使われる処理は分けて使いまわしてあげることで、 プログラム全体を短く、わかりやすくすることができるのですね。

今回はここまでです!

プログラムを分けられるということ、分けるメリットがわかりましたね。

プログラミングの基礎はこれですべてになります!

次回は基礎を学んだみなさんへ、プログラミングの世界への飛び込み方をお話ししていきたいと思います!

次回へ続く

>> 続きの記事
【はじめてのプログラミング入門】第14回 プログラミングの世界へ飛び込もう!