プログラミングの「変数」とは?小学生でもわかるようにやさしく解説
プログラミングを学んでいると、「変数(へんすう)」という言葉が出てきます。
よく、「変数とは、数字や文字を入れておく箱のようなもの」と説明されます。
これは間違いではありません。ただ、「箱」と言われても、「なぜわざわざ箱に入れるの?」と少し疑問に感じますよね。
この記事では、そこからもう一歩踏み込んで、「なぜ変数が必要なのか」まで考えてみましょう。
変数の基本

まずは、次の数字を見てみてください。
10
これだけでは、この10が何を表しているのかわかりません。
年齢かもしれませんし、点数かもしれません。
では、こうするとどうでしょう。
年齢 = 10
これなら、「10は年齢を表しているんだな」とすぐにわかりますよね。
プログラムでは、このように値に名前をつけて扱います。
この「年齢」のようなものが変数です。
たとえば、
年齢 = 10
点数 = 85
気温 = 25
とすれば、
- 年齢は10
- 点数は85
- 気温は25
という情報を扱えます。
よく「名前のついた箱」と説明されるのは、このイメージをつかみやすくするためです。
変数が必要な理由

変数の便利なところは、名前を使って値を利用できることです。
たとえば、
年齢 = 10
としておけば、
年齢 + 1
と考えることで、
10 + 1
と同じ計算ができます。結果は11になります。
もし年齢が15なら、
年齢 = 15
となり、
年齢 + 1
の結果は16になります。
毎回「10」「15」のように数字を直接書くより、「年齢」と書いてある方が何を計算しているのかわかりやすいですよね。
このように変数を使うと、意味のある名前を使ってプログラムを書けます。
変数の値の変更

変数に入っている値は、あとから変更できます。
たとえば最初は、
年齢 = 10
だったとします。誕生日が来れば、
年齢 = 11
になります。
「年齢」という名前は同じですが、中の値が10から11に変わりました。
ここは、変数という言葉のイメージにもつながりやすいところですね。
同じように、
点数 = 70
だったものを、
点数 = 85
に変えることもできます。つまり変数は、
同じ名前を使いながら、必要に応じて値を変えられる仕組み
と言えます。
変数が使われる場面とは?

変数は、プログラムの中でさまざまな情報を扱うときに使われます。
たとえば、
年齢 = 10
名前 = "たろう"
点数 = 85
気温 = 25
商品の値段 = 1500
のように、
- 人の情報
- 計算に使う数字
- 入力された内容
- 商品の情報
- 現在の状態
などを扱うときに使えます。
こうして見ると、変数は特別な場面だけで使うものではなく、プログラムが情報を扱うための基本的な仕組みだとわかりますね。
Scratchにおける変数

小学生向けのプログラミング学習では、Scratch(スクラッチ)がよく使われます。
Scratchは、文字でコードを書く代わりに、色のついたブロックを組み合わせてプログラムを作る学習用のプログラミング環境です。
Scratchにも変数があります。
たとえば「スコア」という変数を作り、最初に、
スコアを0にする
とします。そのあと、
スコアを1ずつ変える
というブロックを実行すれば、
0 → 1 → 2 → 3
と値が変わっていきます。
実際に数字が変わる様子を見ると、変数の役割がかなりイメージしやすくなりますよね。
Scratchではブロックで操作しますが、
「名前をつけた値を使う」
という考え方は、ほかのプログラミングでも同じです。
PythonやJavaScriptにおける変数

Scratchに慣れたあと、より本格的なプログラミングを学ぶと、Python(パイソン)やJavaScript(ジャバスクリプト)といったプログラミング言語に触れることがあります。
プログラミング言語とは、コンピューターに命令を書くための「ことば」のようなものです。
Pythonは、比較的読みやすい書き方が特徴で、学習やAI開発など幅広く使われています。
また、JavaScriptは、Webサイトに動きをつけるときなどによく使われる言語です。
こうした言語でも変数を使います。たとえば、
score = 10
と書いた場合、
scoreという名前で10という値を使えるようにしている
と考えれば十分です。さらに、
score = score + 1
という書き方もあります。これは、
今のscoreを使う
↓
1を足す
↓
その結果を新しいscoreにする
という意味です。
scoreが10なら、
10 + 1 = 11
なので、その後のscoreは11になります。最初に見ると少し不思議な書き方ですよね。
ただ、ここでは書き方そのものを覚える必要はありません。
大切なのは、
Scratchで学んだ「変数」の考え方が、PythonやJavaScriptでも使われている
と知っておくことです。
変数名の付け方

変数には、何を表しているかが分かる名前をつけることが大切です。
たとえば、
a = 85
だけでは、85が何を表しているのかわかりません。
一方、
score = 85
なら、「点数やスコアを表しているのかな」とわかりやすくなります。
後から自分でプログラムを見直したときも、意味のわかる名前の方が読みやすいですよね。
Scratchなら、
点数
残り時間
商品の個数
のように日本語で名前をつけることもできます。
PythonやJavaScriptでは英語で変数名をつけることが多いですが、名前を見ただけで、何の値かわかるようにするという考え方は同じです。
変数のまとめ

変数は、よく「値を入れておく名前のついた箱」と説明されます。
最初はそのイメージで問題ありません。
ただ、この記事ではそこからもう一歩踏み込んで考えてきました。
変数について、まず覚えておきたいのは次の3つです。
- 値に名前をつけて扱える
- 名前を使って、その値をあとから利用できる
- 必要に応じて値を変更できる
たとえば、
年齢 = 10
なら、
- 変数名 → 年齢
- 値 → 10
です。そして、
年齢 = 11
のように値を変えることもできます。
「変数」という言葉だけを見ると少し難しそうですが、具体例に置き換えると意外とシンプルですよね。
まずは、「値に名前をつけて使うのが変数」と覚えておけば十分です。
Scratchでブロックを使う場合でも、PythonやJavaScriptで文字のコードを書く場合でも、この基本的な考え方は変わりません。
実際にプログラミングを体験してみませんか?

変数は、説明を読むだけでも基本的な考え方は理解できます。
ただ、実際に自分でプログラムを作って動かしてみると、理解しやすさは大きく変わります。
たとえばScratchで、
スコア = 0
から始めて、アイテムを取るたびに、
0 → 1 → 2 → 3
と数字が変わるプログラムを作ってみると、「変数ってこういうことか」と実感しやすいですよね。
テックチャンスでは、小学生・中学生・高校生を対象に、実際にプログラムを作りながら学ぶ授業を行っています。
Scratchを使ったプログラミングから、Minecraft、Unityを使ったゲーム制作まで、学習段階に合わせて取り組めます。
「プログラミングに興味はあるけれど、何から始めればいいかわからない」
「子どもが楽しみながら続けられるか、一度試してみたい」
という方は、まずは無料体験授業で実際のプログラミングに触れてみてください。
この記事で紹介した「変数」のような考え方も、実際に自分で作って動かしてみることで、少しずつ理解できるようになります。