TOMONOプログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。今回は「変数」について解説します。プログラミングで欠かせない変数。使いこなせるよう、頑張ってくださいね。変数って何?変数ってプログラミングしていると当たり前のようにでてきますが、子供たちには馴染みのない言葉。子供たちにわかりやすく説明できるように解説してみます。変数とは?変数とは、値(あたい)を入れる箱のようなものです。値(あたい)には、数値や文字列などがあります。変数の箱には名前がつけられるようになっていて、変数の箱の名前のことを「変数名」といいます。下の図は変数名がaの箱に、3という値が入っています。変数に値を入れることを「代入」と言います。下の図は「変数aに3を代入した」状態、と言うことができます。Scratchで変数を使う時は、スクリプトタブのデータというところから「変数を作る」ボタンを押して変数を作ります。作ると、ステージ上に変数が表示されます。ステージ上に表示された変数のことをScratchでは変数モニターといいますが、ここではそのまま「変数」と呼びます。変数ブロックの横のチェックボックスを外すと、変数は表示されなくなります。ステージ上の変数をダブルクリックしてみます。すると、変数名が消えて大きな表示になりました。一度、この変数をダブルクリックしてみます。すると、また表示が変わり、今度はスライダーが表示されました。このスライダーのツマミ(丸いところ)をドラッグしてみると・・・なんと、変数の値が変わりました!また変数のところを今度は右クリックしてみると、メニューが表示されました。変数の見た目はダブルクリックもしくは、右クリックのメニューで変えることができます。スライダー表示の時の最小値と最大値も右クリックのメニューで設定することができます。試しに設定してみたいと思います。メニューの「スライダーの最小値と最大値を設定」を選択すると、スライダーの範囲を設定するダイアログが表示されました。最初は0と100が設定されていましたが、これを1と10に変えてみます。スライダーのツマミが一番左にあるとき変数には1が入りました。スライダーのツマミを徐々に右にしていくと値が大きくなり、一番右側の時には10が入りました。変数は、ドラッグすることで置く場所を変えることができます。変数を作る時のダイアログに、「すべてのスプライト用」「このスプライトのみ」「クラウド変数(サーバーに保存)」が選択できるところがありました。「すべてのスプライト用」は、他のスプライトもこの変数を使用できます。正確な名称はグローバル変数と言います。「このスプライトのみ」は、変数を作ったスプライトしか使うことができません。正確な名称はローカル変数と言います。「クラウド変数」はScratchサイトのサーバー上に保存できる変数です。Scratchでゲームを作って公開した時、そのゲームをプレイして高得点を出した人の得点を保存したいときなどに使われます。クラウド変数には数値しか登録できません。Scratchのオフライン版ではクラウド変数は使用できません。大人用のプログラミング言語では、特別な理由がない限りはローカル変数(このスプライトのみ)を使うように教えられます。複数人で大規模な開発を行う時などにグローバル変数を使うことで、間違って変数の値を更新するプログラムを作ってしまって余計な不具合を生んでしまう恐れがあるからです。Scratchでお子さんが作品を作る時は、グローバル変数(すべてのスプライト用)を使うことの方が多いです。Scratchでは大規模な開発をすることはありませんし、いろいろなスプライトから変数にアクセスできるようにしておいた方がやり直しが少なくて済むと思います。ローカル変数を使った方が良い、特殊なケースもあります。それはクローンごとに変数を使い分けたい場合です。それはまた別の機会に解説したいと思います。変数に値を入れる変数の値を入れるには、以下のブロックを使います。文字を入れるところに値を返すブロックを入れることもできます。Scrathcの変数は文字列も使えますし、数値も使えます。「全角の数字」は数値ではなく文字列の扱いになるので気をつけてください。子供達には「全角」意味が伝わりづらいので「日本語の数字」と言って説明するときもあります。試しに全角の数字「4」を入れてみます。計算ブロックで次のような式を作ってみます。「数値」と認識されればこのブロックをクリックすると、4+2=6という答えが返ってくるはずです。クリックすると結果は・・・「2」が返ってきました。数値でないものは計算できないので、変数のところは無視されてしまいました。子供達はこの全角数字のところで、よく間違えるので、計算がおかしいときは気をつけてみてくださいね。変数に数値を使うときは、次のブロックも使えます。変数の中の数値を同じ数づつ増やすことができるブロックです。先ほど紹介したスライダーを使って、変数に数値を代入することもできますよ。変数を使ったプログラム変数の使い方がわかったところで、変数を使った簡単なゲームを作ってみたいと思います。得点に変数を使うまずは、簡単なゲームから。変数にゲームの得点を入れてみたいと思います。さるが落ちてくるバナナをキャッチすると1点入るというゲームです。さるの動きをプログラミング。猿は左右の矢印キーで動かします。つぎにバナナのプログラムです。最初に、変数「得点」を作りましょう。緑の旗を押したら得点が「0」になるようにします。「得点を0にする」のブロックを入れないと、何度もゲームをする場合に得点が前の続きから増えていってしまいますので気をつけましょう。0.1秒ごとにクローンを作るようにします。続いてクローンされた後のプログラムです。上から落ちてくるプログラムをつくります。さる(Monkey2)に触れたら「得点を1ずつ変える」で得点が1点づつ増えていきます。答えを変数に入れるマウラーローズという図形があります。ある数式で描ける図形なのですが、数式の中のnとdという変数の値を変えると、描く図形が変わります。マウラーローズの作り方についてもまた別の記事でご紹介したいと思います。今回は、変数に代入する部分だけをピックアップして解説します。黄色いスプライトのプログラムです。「●●と聞いて待つ」というブロックを使って数値を入力してもらうようにします。その「答え」を変数nと変数dに代入しています。「答え」と変数を使うと、クイズプログラムも作れますよ。Scratchの変数を使った面白プログラムScratchならではの変数を使った面白いプログラムがありますので、いくつかご紹介したいと思います。(1)スライダーで変数を変えると模様が変わるスライダーの変数の値を変えて、緑の旗を押すと模様が変わります。https://scratch.mit.edu/projects/219699168/自由に変数の値を設定しても大丈夫なプログラムではスライダーを使うのがオススメです。(2)ただひたすらクッキーをクリックするだけのゲーム変数がたくさん使われていて、画面にも変数を表示しています。クラウド変数がHighScoreとして使われているのでクラウド変数の使い方も参考になります。まとめ今回は、変数の使い方と使用例について解説しました。Scratchでは変数に何が入っているか見てわかりやすいので、子供たちもつまずくことなくマスターできると思います。変数の「見た目」が変えられることを知っていると、プログラミングの幅が広がると思います。見た目のところはぜひ覚えておいてくださいね。他の方の作品を見て、変数をどう使っているのか知るのも効果的だと思います。変数を使っていろいろなプログラミングにチャレンジしてみてください。TOMONO教育ヲタクの1児の母。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。TOMONO一緒に読まれている記事。Minecraftでプログラミング教育したい人のためのレッドストーン回路クイズ(17)コンパレーターその22019年8月9日970こんにちは。今日もMinecraftのコ...夏に応募したい!2019年子どもプログラミングコンテスト3選2019年7月29日1.14K夏休みが始まりましたね。子どもの頃は楽し...5歳児もハマるプログラミングアプリ-Springin’はじめて講座(4)絵の削除・インポート2019年7月26日865今日もSpringin’の続きです。新小学1年生の入学準備!知って安心、保幼少接続カリキュラム2020年1月14日2020年は教育はどうなるのか?ーやる気が出ない日に未来を心配してみる2019年12月27日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(2)キャラクターの操作2019年12月13日プログラミングアプリSpringin’でマリオ風アクションゲームを作ろう(1)ステージの作成2019年12月6日あなたへのおすすめ。暗算が早い子の頭の中、暗算が遅い子の頭の中ー算数ができる子が持っている「量的感覚」のこと2018年11月16日プログラミング初心者のためのScratch(スクラッチ)入門-基礎の基礎編(1)2018年7月31日2020年教育改革-AI時代の教育指標「ブルームタキソノミー」の話2018年12月5日ゲームで頭のいい子を育てるー幼児xマインクラフトの3つの教育的効果2018年11月14日このサイトについて。今、注目されている考えさせる教育、アクティブラーニング。AI時代に教えるべき教育とは何か。2020年に教育必修化するプログラミング教育を交えながら、これからの教育シーンに必要な情報をお届けします。CATMADE,Inc.サイトマップ。