関数とは?スクラッチ(Scratch)を使ってわかりやすく解説

今回は、Scratch(スクラッチ)を使って、関数・サブルーチンの考え方について解説します。
(MakeCodeでも考え方は同じです。)

  • 関数・サブルーチンって何?
  • スクラッチの「ブロック定義」ってどう使うの?
  • 関数・サブルーチンを使うメリットは?

といったことをなるべく難しい言葉を使わないように解説しました。

お子さんに説明する時の参考になればと思います。

 

スポンサーリンク

関数・サブルーチンとは

関数・サブルーチンとは、命令をまとめていつでも使えるようにしたものです。

何度も使う処理があったら、それらをまとめると便利です。

引数と戻り値

引数とは、関数を呼び出した時に引き渡される値のことで、関数が処理するための材料です。

また、関数から返される結果のことを戻り値と言います。

 

スクラッチには戻り値を返す仕組みがありません。
このように値が返ってこない命令のまとまりをサブルーチンと呼び、関数と区別されています。

 

例えると・・・

関数を例える

折り鶴の作り方を知っている人に「折り鶴を作って」と折り紙を渡すとき、

「折り鶴を作って」という指示は関数の呼び出しに当たり、

  • 折り紙(材料)は、引数
  • 折り鶴を折る手順は、関数
  • 完成した折り鶴は(結果)、戻り値

に当てはまります。

また、折り紙の色や大きさがちがっても、色や大きさのちがう「折り鶴」が出来上がりますね。

このように引数を使うことで、材料になるデータはちがっても同じ処理をすることができます。

 

ブロック定義の使い方 スクラッチを使って解説

ブロック定義は、自分で命令をまとめて新しいブロックを作ることができる機能です。

では、スクラッチで「ブロック定義」を使ってみましょう。

ブロックを作る

1.ブロック定義のカテゴリにある「ブロックを作る」をクリック

ブロックを作るをクリック

 

2.必要な情報を入力し、「OK」をクリック

Scratch ブロック定義

  • ブロック名
    ブロックの名前です。
    何の処理をするブロックなのか分かりやすい名前をつけましょう。
     
  • 引数を追加
    テキストまたは数値、真偽値のデータ型を追加することができます。
    引数を追加しないことも可能です。
     
  • ラベルのテキストを追加
    定義ブロックの最後に文字列を追加することができます。
    これで何をするブロックなのかより分かりやすくなりますね。
     
  • 再描画せずに実行する
    チェックすると、処理中の状態を見せないで
    最後の状態だけ表示されます。

 

ブロックを作る

 

3.ブロックができました

関数が作成された

 

ブロックの中身を作る

関数の中身を作る

普通にプログラミングするのと同じように、定義ブロックの下に命令ブロックを組み合わせていきます。

引数を使う場合は、引数をドラッグアンドドロップで移動させます。

 

ブロックを呼び出す

Scratch 定義ブロックの呼び出し

ブロック定義のカテゴリにできた自作のブロックを、ドラッグアンドドロップで移動させて使います。

引数の場所には、直接値を入れたり、変数を入れたりします。

数字を入力するとその段の九九を言うプログラムができました。

 

スポンサーリンク

関数・サブルーチンを使うメリット

ネコとイヌのスプライトを使って2パターンのプログラムを作りました。

どちらも大きさのちがう正方形を2つ描くプログラムで、描く位置がちがう以外はやっていることは同じです。

関数を使って四角形を描くプログラム

 

プログラムの内容が分かりやすくなる

ネコとイヌのプログラムどちらが見やすかったでしょうか?

イヌの方はひとつひとつ処理を追わないと、何をしているのか分かりません。

しかし、ネコの方は「四角を描く」という名前をつけているので、四角形を2つ描くプログラムだとすぐに分かります。

 

関数・サブルーチンに名前をつけることで、プログラムの内容が分かりやすくなります。

 

同じプログラムを何度も作らなくていい

関数・サブルーチンの呼び出しは何度でもできるので、同じプログラムを何度も作らなくていいです。

その分すっきりと見やすいプログラムになりますね。

また、修正がかんたんになります。

四角形ではなく六角形を描くプログラムに変えた場合、くり返しの回数と回す角度を変える必要があります。

ネコの場合は2ヵ所の修正で済みますが、イヌの場合は4ヵ所修正が必要になりますね。

 

関数・サブルーチンを使うと、同じプログラムを何度も作らなくてよく、修正がかんたんになります。

 

まとめ

関数・サブルーチンとは、命令のまとまりのことです。

何度も使う処理があったら、それらをまとめると便利。

関数・サブルーチンを使うことで、すっきりと見やすいプログラムになり修正がかんたんになります。

 

タイトルとURLをコピーしました