【子ども向け】関数とは?スクラッチ(Scratch)を使ってわかりやすく解説

プログラミングにすこれてくると、関数(かんすう)とかサブルーチンっていう、ちょっとむずかしそうな言葉ことばてきます。

スクラッチ(Scratch)では「ブロック定義ていぎという機能きのうがそれにあたります。

でも、はじめてくと

  • えっ、なんでそんなことするの?
  • ブロックをつくらなくてもうごくのに?

と、おもうかもしれません。

じつは「関数かんすう」や「サブルーチン」は、プログラムをもっとかりやすく、もっと使つかいやすくするための、とても便利べんり仕組しくみなんです。

これから、スクラッチ使つかいながら「関数かんすうやサブルーチンってなに?」「どうやって使つかうの?」を、いっしょにていきましょう。

 

スポンサーリンク

関数・サブルーチンとは

関数かんすうサブルーチンは、よく使つか命令めいれいをまとめて名前なまえをつけた、「何回なんかいでも使つかえる部品ぶひん」のようなものです。

たとえば、スクラッチでキャラクターを「うごかす→まわす→おとらす」といったうごきをよく使つかうとします。

そのたびに毎回まいかいおなじブロックをならべるのは大変たいへんですよね。

そこで、「ダンス」という名前なまえのブロックを自分じぶんつくっておけば、
そのブロックをつなげる(す)だけで、なかうごきをぜんぶまとめて実行じっこうしてくれるようになります。

このように、何度なんど使つか処理しょりをひとまとめにしておくと、とても便利べんりです。

 

引数と戻り値

関数かんすうなかには、引数(ひきすう)戻り値(もどりち)という、すこしむずかしい言葉ことばてきます。

  • 引数ひきすう入力にゅうりょくするもの
    → 「ジャンプのたかさ」や「まわ角度かくど」など、関数かんすうにわたす情報じょうほうのことです。
  • もど結果けっかとしてかえってくるもの
    → たとえば、計算けいさんしてこたえをかえすときなどに使つかいます。

 

スクラッチにはもどかえ仕組しくみはありません
あたいかえってこない命令めいれいのまとまりをサブルーチンび、関数かんすう区別くべつされます。

 

たとえば、ツルのかたっているひとに「がみでツルをつくって」とおねがいするとします。
そのひとがみり、ツルをってくれます。

このとき、

  • ツルのかたっているひと → 関数かんすう
  • がみでツルをつくって」という指示しじ → 関数かんすう
  • 材料ざいりょうであるがみ → 引数ひきすう
  • 完成かんせいしたツル → もど

にあたります。

関数を例える

そして、いろおおきさのちがうがみをわたせば、ちがういろおおきさのツルができます。

関数かんすうおなじで、引数ひきすうがちがうと結果けっかもど)もわることがあります。

 

スクラッチのブロック定義の使い方

ここでは、スクラッチ(Scratch)のブロック定義ていぎ使つかかた説明せつめいします。

ブロックをつくる → 中身なかみつくる → す、という3つのステップでていきましょう。

ブロックを作る

1.ブロック定義ていぎのカテゴリにある「ブロックをつくる」をクリック

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

 

2.必要ひつよう情報じょうほう入力にゅうりょくし、「OK」をクリック

Scratch ブロック定義

  • ブロックめい
    ブロックの名前なまえです。
    なにをするブロックなのかかりやすい名前なまえをつけましょう。
     
  • 引数ひきすう追加ついか
    テキストまたは数値すうち真偽値しんぎちのデータがた追加ついかできます。
    いま処理しょり引数ひきすう必要ひつようだったら、追加ついかしましょう。
     
  • ラベルのテキストを追加ついか
    ブロックの名前なまえのあとに、説明せつめい文字列もじれつをつけられます。
    れい:スコアを(ブロックめい) ○○(引数ひきすう) だけふやす(ラベル)
    これで、ブロックがなにをするのかがもっとかりやすくなります。
     
  • さい描画びょうがせずに実行じっこうする
    チェックをれると、ブロックを実行じっこうしているあいだうご様子ようす表示ひょうじせず、最後さいご結果けっかだけすぐに表示ひょうじします。そのぶんうごきがはやくなります。
    キャラクターのうごきをせたいときは、チェックをはずしておきましょう。

 

ブロックを作る

 

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

関数が作成された

 

ブロックの中身を作る

つぎに、ブロックのなかでどんなうごきをするかをつくっていきます。

ふつうにプログラミングするときおなじように、定義ていぎブロックのした命令めいれいブロックをわせていきます。

引数ひきすう使つか場合ばあいは、引数ひきすうをドラッグアンドドロップで移動いどうさせます。

関数の中身を作る

 

ブロックを呼び出す

中身なかみつくったら、いよいよそのブロックを使つかってみましょう。

つくったオリジナルブロックは、ブロックカテゴリーにあたらしく追加ついかされています。
あとは、そのブロックをコードエリアにドラッグしてつなげるだけです。

引数ひきすう場所ばしょには、使つかいたいあたい数字すうじ変数へんすうなど)をれましょう。

これで、一度いちどつくったうごきをいろいろな場所ばしょ何回なんかいでも使つかえるようになります。

数字すうじ入力にゅうりょくすると、そのだんの九九をうプログラムができました。

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

スポンサーリンク

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

ネコとイヌのスプライトで、2つのプログラムをつくりました。

どちらもおおきさのちがう正方形せいほうけいを2つかくプログラムで、位置いちがちがうだけで やっていることはおなじです。

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

 

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

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

イヌのほうは、ひとつひとつの命令めいれいわないと、なにをしているのかかりづらいですね。

でも、ネコのほうは「四角しかくをかく」という名前なまえのブロックを使つかっているので、
ただけで「四角形しかくけいを2つかくプログラムなんだな」とかります。

あとで見直みなおしたときも、「このブロックはなにをするのか」がひとかるので、
整理せいりされた、みやすいプログラムになります。

 

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

関数かんすうやサブルーチンを使つかえば、おなうごきを何度なんど必要ひつようがありません。
そのぶん、プログラムがすっきりしてやすくなります。

さらに、修正しゅうせいもしやすいというメリットもあります。

たとえば、四角形しかくけいではなく六角形ろっかくけいえたいとき、くりかえしの回数かいすうまわ角度かくど変更へんこうする必要ひつようがあります。

ネコのプログラムなら、ブロックのなかを2かしょだけなおせばOK。

でも、イヌのようにおな処理しょり何度なんどいていると、4かしょすべてなおさなければなりません。

このように、ブロックをまとめて名前なまえをつけておくことで、プログラムのがスッキリし、まちがいやエラーもらせます。

 

まとめ

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

よく使つか命令めいれいをまとめて名前なまえをつけておくことで、おなうごきを何度なんどでもかんたんにせます。

関数かんすうやサブルーチンを使つかうと、プログラムがすっきりやすくなり、修正しゅうせいらくちんです。

最初さいしょすこしむずかしくかんじるかもしれませんが、「関数かんすう」を使つかいこなせるようになれば、プログラムがもっとかっこよく、きれいになりますよ。

すこしずつで大丈夫だいじょうぶ。一ずつ、自分じぶんのペースでまなんでいきましょう。

 

 

\【PR】オールカラー総ルビで読みやすい/
タイトルとURLをコピーしました