変数とは?スクラッチ(Scratch)を使って解説

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

しかし、

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

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

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

 

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

なるべくむずかしい言葉は使わないようにしました。
お子さんに説明する時の参考になればと思います。

 

スポンサーリンク

変数とは

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

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

 

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

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

 

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

 

PR自宅にいながら本格的プログラミング学習|Tech Kids Online Coaching

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

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

変数の作り方(宣言)

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

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

変数を作るをクリック

 

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

変数名を入力しOK

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

 

3.変数ができました

変数ができた

 

変数の宣言とデータ型

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

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

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

 

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

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

 

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

あまり意識することがないかもしれませんが
覚えておくとよいと思います。

 

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

変数に代入するブロック

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

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

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

 

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

変数を参照するブロック

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

 

PR【Z会プログラミング講座】テクノロジーに触れ、考え、実践しながら学ぶ経験を、ご家庭で。<資料請求>

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

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

変数を使ったプログラム

 

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

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

 

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

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

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

 

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

 

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

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

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

 

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

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

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

 

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

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

 

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

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

もし、リンゴの値段の場所が100ヵ所あったら…

 

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

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

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

 

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

 

まとめ

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

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

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

 

 

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