変数とは?スクラッチ(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をコピーしました