こんにちは!ぴょろ先生です。

今回のテーマは「関数」です。

中学校の数学でも関数は出てきますが、プログラミングの関数はちょっとイメージが違います。

とはいえ安心してください。今日の内容は、小学生でも分かるように「めちゃめちゃ噛み砕いて」説明します。
関数が分かるようになると、プログラムが一気にスッキリして「ゲームづくりが上手くなった感」が出てきます。ぜひ親子で参考にしてみてください。

結論まとめ
  • プログラミングの関数は、ひとことで言うと 「プログラムをまとめる仕組み」
  • Scratchでは関数のことを 「定義」 と呼ぶ(内容は同じ)
  • まとめた処理は、必要なときに 呼び出すだけ で何回でも使える
  • さらに「引数」を使うと、同じ関数でも 中身(数字や文字)を変えて実行できる
  • 繰り返し出てくる処理ほど、関数化するとミスが減って上達が早い

関数ってなに?→一言でいうと「よく使う処理のまとめ」

関数は、めっちゃ簡単に言うと プログラムの“まとまり” です。
よく使う処理をまとめておいて、必要なときに呼び出して使える、というイメージですね。

「同じブロックを何回も並べるのが面倒…」
「あとで直すとき、全部直すの大変…」
こういうときに関数がめちゃくちゃ役立ちます。

洗濯機は「関数っぽい」!?

分かりやすい例として、洗濯機を想像してみてください。

洗濯機って、
洗濯物を入れて → ボタンを押して → コースを選んで → スタート
ですよね。スタートすると勝手に回って、終わったら「終わりました」となります。

これを関数にすると、例えばこんな感じです。

  • 関数名:洗濯
  • 実行すると:
    • 「洗濯を始めます」
    • しばらく待つ(洗う)
    • 「洗濯が終わりました」

つまり、ボタンを押すだけで一連の流れが動くのが、関数のイメージに近いんです。

Scratchでは「定義」=関数だと思ってOK

Scratchで関数にあたるのは「ブロック定義(定義)」です。
名前は違いますが、役割は同じなので

定義 = 関数

と思って大丈夫です。

関数の大事ポイント:作っただけでは動かない

ここが意外とつまずきポイント!
関数(定義)は、作っただけでは何も起こりません。

呼び出して初めて動く

「旗が押されたとき」に、作った関数を置いてあげる(呼び出す)ことで初めて実行されます。
これは「洗濯機も、ボタンを押さないと動かない」のと同じです。

関数を使うと、プログラムがスッキリする

たとえば「洗濯を始めます→待つ→終わりました」を2回やりたいとします。

関数がないと、同じブロックを2セット並べることになります。
でも関数があれば、
「洗濯」
「洗濯」
と、呼び出しを2回置くだけでOK。

見た目がスッキリするだけじゃなく、あとで修正するときもラクになります。
(文章を2箇所直すより、1箇所直す方がラクですよね。それと同じです。)


さらに便利!「引数」で中身を変えられる

関数のもう一段上の便利さが「引数(ひきすう)」です。
引数は、関数の中でだけ使える “変数みたいなもの” です。

同じ関数でも、毎回ちがう内容にできる

さっきの洗濯の例で言うと、
制服の洗濯」「ジーンズの洗濯」みたいに、洗うものは変わりますよね。

そこで引数を「洗濯物」にしておくと、関数の中の文章を

  • (洗濯物)の洗濯を始めるよ」
  • (洗濯物)の洗濯が終わりました」

のように書けます。

そして呼び出すときに

  • 洗濯(制服)
  • 洗濯(ジーンズ)

と入力すると、表示がちゃんと変わります。これが引数のイメージです。

引数は複数つけられる(順番に注意!)

引数は1つだけじゃなく、2つ、3つと増やすこともできます。
ただし、入力する順番を間違えると意味が変わってしまうので注意。
特にX座標・Y座標など数値で動かすときは、逆にすると動きが変わります。


動画もぜひご覧ください!

この記事で全体像はつかめますが、動画ではScratchの画面で

  • 定義ブロックの作り方
  • 呼び出さないと動かない理由
  • 引数を入れたときに、表示がどう変わるか

が実演で見られるようにしているので、理解がかなり早いです。
「なるほど、こういうことか!」が起きやすい回なので、ぜひ親子で見てみてください。

まとめ

プログラミングの関数は、よく使う処理をまとめて、何回でも呼び出せる仕組みです。Scratchでは「定義」と呼ばれます。そして引数を使えば、同じ関数でも中身を変えられるので、できることが一気に広がります。

当教室でも、ゲーム制作の中で「同じ処理が増えてきたら関数化しよう!」という形で、子どもたちが自然に関数を使えるようにサポートしています。
「うちの子に合うかな?」「まずは雰囲気を見たい」という方は、体験会で気軽に試してみてくださいね。