プログラミングの学習サンプルを、Scratch初心者向けに考えています。「変数」について。

本連載は、プログラミング学習に関心のある保護者の方が、お子さま(小学3年生以上)と一緒に読むことを想定して書いています。

変数について

名前を付けて、使う

変数の理解は、スクラッチ初心者の最初の難関かも知れません。しかし、変数はプログラミングの一番初歩的な概念です。

変数を使うには、その変数に「名前を付ける」ことから始めます。

プログラミングでは物事の性質・状態を全て数値に置き換えて考える、という話を繰り返ししていますが、その数値を入れるために名前を付けた入れ物を「変数」と言っています。

メモリとの関係

高学年のお子さまには、こんな詳しい話をしてもいいかも知れません。僕は以前の記事でこんなことも書きました。

コンピュータというのは、平たく言うと「メモリ」の集合体です。「メモリ」とは、これもあっさり言うと、数値や文字などに置き換えたデータを「記憶」するものです。

「デジタル」という言葉の原義は「指」であり、つまり数で示すことを意味します。

写真も、音楽も、数で表現するテクノロジーを、僕たち人類は開発しました。それでも、コンピュータにできる仕事とは、この「記憶」を書き換えていくことだけです。

コンピュータは万能に見えますが、実は文書作成ソフトも、表計算ソフトも、WEBも、全て「記憶」の読み取りや書き換えを行っているに過ぎません。

変数は「メモリ」を、プログラマーにとって使い易い仕組みにしたものです。

メモリはコンピュータが番号で識別するため、人間に分かり易いような言葉で置き換えたのが「変数」です。

変数を使ってできること

昔、僕が教えていた小学生の男の子は、「困ったときに使う」のが変数だと説明してくれましたが、これは的を得た回答だと思います。

スクラッチは、普通のプログラミングでは自分で考えて作るべき変数を、最初からセットで用意してくれています。「x座標」、「y座標」、「色の効果」など、どれも本当のプログラミングなら、自分で用意する(「定義する」と言います)ものなのです。

新しい変数を使えば、スクラッチでは足りない機能を新しく作ることができます。

さて、難しい説明はこのぐらいにして、さっそく実践してみましょう。

実践

「風の強さ」を変数で表現してみましょう。さっそく「変数を作る」ボタン(オレンジ色の「変数」カテゴリー内にあります)を押して、「風の強さ」という名前の変数を作ってみてください。

デバッグ環境

「変数」カテゴリー内の「風の強さ」のチェックボックスにチェックを入れると、今の変数の値が表示されます。

そしてこの変数を、矢印キーで変えられるようにしましょう。以下のブロックを連結してください。

こうすれば、いわゆる「デバッグ(バグを取り除く)」するための環境が整います。

開始処理の変更

変数は、プログラムの開始と同時にすぐ、「初期化」と言って、最初の値を設定しておくのが普通です。「風の強さを0にする」のブロックをプログラムの最初に連結します。

それ以外に、以下の例に従って、少し仕様を変えてください。

これによって、スペースキーを押さなくても、無作為の間隔(「乱数」を使っています)で、画面の中央からふうせんが飛ぶようになりました。

変数を使う

では、x座標を変えるブロック内の乱数の範囲を、「0」から「変数」までに置き換えましょう。動きとして分かりやすいように、乱数を2で割っていますが、この部分は変えなくても構いません。

するとどうでしょうか。

風の強さを操作して、ふうせんの飛び方を実験できるようなプログラムになりました。

これから先へ

今日の内容は、実際にブロックを組み立てた作品を、以下のリンクから見ることができます。

https://scratch.mit.edu/projects/391667805/

この「ふうせんを飛ばそう!」の連載は、この第4回をもって終わりです。

今回の学習内容を振り返れば、「雨」を降らせるプログラムも作れるはずです。小雨から土砂降りまで、色々な表現に、ぜひ挑戦してみてください。

ここまでお読みくださり、誠にありがとうございました。