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

プログラムを学ぶ上で変数は避けて通ることはできないものです。

しかし、

  • 変数って何?
  • 変数ってどうつかうの?
  • 変数を使うメリットは?

といったことをお子さんに説明するのは難しいのではないでしょうか?

子ども向けのプログラミングの本を読んでも、変数の説明が「数字や文字を入れておく箱」で終わっているものも少なくありません。

そこで今回は、変数の使い方やメリットをScratch(スクラッチ)を使って解説します。
(MakeCodeなど他の言語でも考え方は同じです。)

なるべくむずかしい言葉は使わないようにしました。

お子さんに説明する時の参考にしていただければと思います。

 

スポンサーリンク

変数とは

変数とは、プログラムで使う数字や文字のようなデータを一時的に保存するためにメモリ上に名前をつけて確保した場所のことです。

よく「数字や文字を入れておく箱」と言われたりします。

数値や文字列などのデータを変数に入れて保管することができ、後で変数に保管したデータを取り出して使います。

例えば、ゲームのスコアや残り時間などを保存するために使います。

 

メモリ(メインメモリ)とは
コンピュータが扱うデータやプログラムを記憶しておく装置。
コンピュータの頭脳であるCPUと直接データをやりとりできます。
コンピュータのしくみを分かりやすく解説(五大装置)」でくわしく解説しています。

 

変数の使い方 スクラッチを使って解説

では、スクラッチで変数を使ってみましょう。

変数の作り方(宣言)

変数を作ることを変数の宣言と言います。

1.変数のカテゴリにある「変数を作る」をクリック

変数を作るをクリック

 

2.変数名を入力し、「OK」をクリック

変数名を入力しOK

  • すべてのスプライト用(グローバル変数)
    ステージとすべてのスプライトから使える変数
  • このスプライトのみ(ローカル変数)
    この変数を作ったスプライトのみ使える変数

 

3.変数ができました

変数ができた

 

変数の宣言とデータ型

プログラミング言語の中には、変数の宣言で変数名の他にデータ型を指定する必要があるものがあります。

データ型とは数や文字などデータの種類のことです。と言ったりもします。

変数の宣言で「何を入れるか」まで決めているのですね。

データ型には下のような種類があります。

  • 数値型  … 数(1、2、3…)
  • 文字列型 … 文字列(”ABC”、”あいうえお”など)
  • 真偽型  … 真(true)か偽(false)

スクラッチの場合、基本ブロックの形がデータ型を表していますが、ブロックの形を共有する数値・文字列などの型は状態によって自動的に決まります。

あまり意識することがないかもしれませんが覚えておきましょう。

 

変数にデータを入れる(代入)

変数に代入するブロック

変数に値を記憶させることを代入といいます。

変数にデータを代入するには、「変数▼を0にする」というブロックを使います。

▼をクリックすると変数を選択することができます。

0の部分は数値や文字を入れたり、変数や計算結果を入れることができます。

 

変数に入れたデータを使う(参照)

変数を参照するブロック

変数に保存したデータは内容を表示したり、計算などに使うことができます。

 

スポンサーリンク

変数を使ったプログラム例

旗が押されたとき、リンゴとバナナの個数を入力して合計金額を表示するプログラムです。

変数を使ったプログラム

 

ネコのスプライトのプログラム

変数を使ったプログラム(ネコ)

 

変数「合計」~変数はコロコロ変わる~

変数「合計」は、計算に使っています。

  1. 最初に0を入れて初期化。使う前に変数の中をキレイにしておきます。
  2. リンゴの金額を計算して「合計」に保存。
  3. 「合計」(この時はリンゴの金額)にバナナの金額を計算して足した値を保存。

 

変数は中身をコロコロ変えていくことができます。

 

変数「リンゴの値段」~変数を使うメリット~

イヌのスプライトでもプログラムを作ってみました。

変数を使ったプログラム(イヌ)

 

ネコとくらべてみましょう。

変数を使ったプログラム(ネコとイヌ)

2つのスプライトを作って試すときは、一番上にある「旗が押されたとき」「このスプライトが押されたとき」に変えてください。

 

ネコのスプライトは、最初に「リンゴの値段」「バナナの値段」へそれぞれ値段を入れて使いまわしています。

一方、イヌのスプライトでは変数を使わず、値段の値をそのまま表示したり計算の式で使っています。

どちらも結果は同じなのですが、

リンゴの値段が変わったら、ネコは1ヵ所だけ直せばいいですが、イヌは2ヵ所直す必要があります。

もし、リンゴの値段の場所が100ヵ所あったら直すのが大変ですよね。

また、イヌの方は計算に使われている150や120の数字の意味がパッと見で分かりにくいですね。

「リンゴは150円です。と2秒言う」がなかったら、ますます分からなくなってしまうでしょう。

ネコの方は変数の名前で意味がすぐ分かります。

 

変数を使うことでプログラムを分かりやすくしたり、
変更がかんたんにできるようになるメリットがあります。

 

まとめ

変数とは、データを入れておくのようなもの。

プログラムで使うデータを一時的に保存するため、メモリ上に名前をつけて確保した場所のことです。

データを変数に入れて保管し、あとで変数に保管したデータを取り出して使います。

変数を使うことでプログラムを分かりやすくしたり、変更がかんたんにできるようになるメリットがあります。

 

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