変数(へんすう)って、なんだかむずかしそうな言葉ですよね。
スクラッチ(Scratch)をやっていると、「スコアを入れる変数を作ろう」なんて出てきますが、はじめて聞いたとき、こんなふうに思いませんでしたか?
- ヘンスウってなに?
- なんで箱に入れるの?
- 数字をそのまま書けばいいんじゃないの?
ちょっとややこしくて、頭の中がごちゃごちゃしてしまいますよね。
でも大丈夫!
「変数」は、あとで使いたい数字や言葉を入れておく箱のようなもの。
ゲームのスコアや時間、体力などを覚えておくための、とても大事な仕組みなんです。
これから、スクラッチを使いながら「変数ってなに?」「どうやって使うの?」を、いっしょに見ていきましょう。
変数とは
変数(へんすう)とは、プログラムの中で使うデータを一時的にしまっておく場所のことです。
変数には、数や文字などのデータを入れておくことができて、あとでその中身を取り出して使うことができます。
変数は、よく「数字や文字を入れておく箱」と言われます。
「スコア」や「たいりょく」といった名前をつけて、数字や言葉を入れて使うイメージです。
たとえば、ゲームをしているとスコアがふえたり、時間がへったりしますよね。
変数を使うと、スコアを計算したり、キャラクターのセリフを変えたりと、プログラムの中でいろいろな動きを作ることができます。
中身はがプログラムの動きにあわせて変わるので、「変わる数」=「変数」と呼ばれているんですね。
変数は、コンピュータの中の「メモリ」というところに作られています。
メモリは、コンピュータがデータを一時的におぼえておくための場所で、コンピュータの頭脳であるCPUと直接データをやりとりできます。
くわしくは「コンピュータのしくみを分かりやすく解説(五大装置)」で説明しています。
変数の使い方 スクラッチを使って解説
ここでは、スクラッチ(Scratch)で変数を使うながれを見ていきましょう。
変数の作り方(宣言)
変数を作ることを変数の宣言と言います。
1.変数のカテゴリにある「変数を作る」をクリック
2.変数の名前を入力し、「OK」をクリック
- すべてのスプライト用(グローバル変数)
ステージとすべてのスプライトから使える変数 - このスプライトのみ(ローカル変数)
この変数を作ったスプライトのみ使える変数
3.変数ができました
変数の宣言とデータ型
プログラミング言語の中には、変数を作るときに、名前のほかに「この変数には何を入れるか」を前もって決めておくものがあります。
この「入れるものの種類」をデータ型と呼びます。型といったりもします。
データ型には、下のような種類があります。
- 数値型 :計算で使う数字(1、2、3…、または小数)
- 文字列型:文字のあつまり(”ABC”、”あいうえお”など)
- 真偽型 :正しいか まちがいか(真(true)、偽(false))
スクラッチでは、数も文字も同じように変数に入れられます。
スクラッチが「今この変数には数字が入っているな」「今この変数には文字が入っているな」と自動で判断してくれるので、自分で「これは数値型!」「これは文字列型!」と決めておく必要はありません。
変数にデータを入れる(代入)
変数を作ったら、その中にデータを入れてみましょう。
変数にデータを記憶させることを代入といいます。
変数にデータを代入するには、「変数▼を0にする」というブロックを使います。
▼をクリックすると変数を選べます。
0の部分は数値や文字を入れたり、変数や計算結果を入れられます。
変数に入れたデータを使う(参照)
次は、変数の中のデータを使ってみましょう。
変数に保存したデータは内容を表示したり、計算などに使うことができます。
変数を使ったプログラム例
リンゴとバナナの個数を入力して、合計金額を出すプログラムを作ってみましょう。
ネコのスプライトのプログラム
変数「合計」~変数はコロコロ変わる~
変数「合計」は、計算に使っています。
- 最初に0を入れて初期化。使う前に変数の中をキレイにしておきます。
- リンゴの金額を計算して「合計」に保存。
- 「合計」(この時はリンゴの金額)にバナナの金額を計算して足した値を保存。
変数「リンゴの値段」~変数のいいところ~
「リンゴ」と「バナナ」の変数を使わないで、プログラムを作ってみました(イヌのスプライト)
さっき作ったプログラム(ネコ)と くらべてみましょう。
ネコのスプライトは、最初に「リンゴの値段」「バナナの値段」へそれぞれ値段を入れて使いまわしています。
一方、イヌのスプライトでは変数を使わず、値段の値をそのまま表示したり計算の式で使っています。
どちらも結果は同じなのですが、
リンゴの値段が変わったら、ネコは1ヵ所だけ直せばいいですが、イヌは2ヵ所直す必要があります。
もし、リンゴの値段の場所が100ヵ所あったら……直すのが大変ですよね。
変数を使えば、プログラムの中で何度も同じ数字を書きかえなくてもよくなります。
また、イヌのプログラムは 計算に使われている150や120の数字の意味が、パッと見て分かりにくいです。
ネコのプログラムは変数の名前で意味がすぐ分かりますね。
まとめ
変数(へんすう)とは、プログラムの中で使うデータを一時的にしまっておく場所です。
数や文字などを入れておくことができ、あとでその中身を取り出して使うことができます。
変数を使うと、プログラムが分かりやすくなって、あとからの変更もかんたんになります。
ゲームでスコアがふえたり、時間がへったり、体力がのこったり。
そうした動きは、すべて変数があるからできることなんです。
最初はちょっとむずかしく感じるかもしれませんが、
変数を使えるようになると、プログラミングがもっと楽しくなりますよ!













