
はじめに
プログラムの問題で「最後の値はいくつですか」と聞かれて、手が止まってしまったことはありませんか。
テスト前に見直しておきたいのに、どこから手をつければいいのか分からない、という声もよく聞きます。
でも安心してください。この手の問題は、変数と代入という二つの考え方をつかめば、ほとんどが「順番に追うだけ」で解けるんです。
変数は、値を入れておく名前つきの箱。代入は、その箱に値を入れる命令です。
この記事では、箱のイメージから始めて、値が変わっていくようすの追い方、そして名前のつけ方や入れかえ、よくある失敗までを、例題つきでていねいに整理します。
動画で見たい人は、記事の最後にある動画もどうぞ。
休んだ授業の学び直しや、定期テスト前の確認にも使えますよ。
変数と代入を3つの順で整理する
変数と代入は、順番に整理すると迷いません。
まず「変数とは何か、代入とは何か」という意味をつかみます。
次に、値がどう変わっていくかを追う練習をします。
最後に、名前のつけ方・入れかえ・失敗の3つを確認すれば、テストの例題まで手が届きます。
- 意味:変数は名前つきの箱、代入は右の値を左の箱へ入れる命令。
- 値の追い方:一行ごとに箱の中身を書き出し、上書きと更新を確かめる。
- 名前・入れかえ・失敗:中身が分かる名前、予備の箱、初期化忘れを押さえる。
ポイント1:変数は名前のついた箱
まずは言葉の意味から始めましょう。
変数は「値を入れておく、名前のついた箱」で、代入は「その箱に値を入れる命令」です。
この2つを箱のイメージで覚えるだけで、あとの内容がぐっと楽になります。
変数と代入の意味のポイントを紹介します
なぜ値を覚えておく箱が必要なのか
ゲームで敵を倒すたびに、得点が増えていきますよね。
あの得点は、遊んでいる間ずっとどこかに覚えておかないと、次に何点足せばいいのか分からなくなってしまいます。
プログラムも同じで、計算の途中の結果や入力された数を、あとで使えるように置いておく場所が必要です。
その置き場所が変数です。
値を入れておく箱だと考えると、イメージしやすくなります。
しかも箱には名前がつけられるので、名前を呼ぶだけで、中身を取り出したり入れかえたりできるんです。
もし変数がなかったら、「80」「95」といった数を、プログラムのあちこちにそのまま書くことになります。
点数が変わるたびに、書いた場所をすべて探して直さなければなりません。
変数を使えば、点数という名前の箱の中身を一か所入れかえるだけで、全体が新しい値で動きます。
プログラムを短く、直しやすくするための工夫でもあるんです。
変数を支える名前・値・種類
変数は、名前・値・種類の三つで考えると整理しやすくなります。
名前は箱に貼るラベル、値は箱の中身です。
種類は、数を入れるのか文字を入れるのかという区別で、点数なら数、名前なら文字を入れます。
数と文字では、できる計算がちがいます。
たとえば数なら足し算ができますが、文字を足し算することはできません。
だから「この箱には何を入れるのか」を最初にはっきりさせておくことが、まちがいを減らす第一歩になるんです。
テストでも、種類のちがいを聞かれることがあります。
ここで一つ注意があります。
名前は、箱の外側に貼るラベルにすぎません。
ラベルを貼りかえても、中身の値は変わりません。
逆に、値が変わっても、ラベルはそのままです。
「名前」と「値」を別々に考えるくせをつけておくと、あとで出てくる更新の問題で、混乱しにくくなります。
代入は右から左へ入れる命令
代入は、右にある値を左の箱に入れる命令です。
たとえば、点数イコール80と書くと、点数という箱に80が入ります。
大切なのは向きです。
書いてある順に左から読むと、つい「点数は80に等しい」と考えたくなりますが、プログラムでは右の値を先に決めて、それを左の箱へ運びます。
右から左へ流れる矢印をイメージしておくと、右と左を取りちがえるミスがぐっと減りますよ。
問題文で代入の式を見たら、まず指で右から左へなぞる習慣をつけてみてください。
それだけで、読みまちがいがかなり防げます。
- 左は箱:入れ先になる変数の名前を書く。
- 右は値:数や計算式など、入れる中身を書く。
- 向きは右から左:右を先に決めて、左の箱へ入れる。
式の右側には、数だけでなく、計算式や別の変数も書けます。
たとえば、合計イコール点数たす10と書けば、点数の中身に10を足した結果が合計に入ります。
このとき、点数の箱の中身はそのまま変わりません。
取り出して計算するだけで、箱の中身が減るわけではないんです。
ここまでのまとめです。
変数は名前つきの箱、代入は右の値を左の箱へ入れる命令。
この二つが分かれば、次は「値が変わっていくようす」を追う練習に進めます。
ポイント2:値の変わり方を追う
変数と代入の問題でいちばん大事なのは、「いま箱の中身はいくつか」を一行ずつ追いかけることです。
計算が得意かどうかよりも、順番に書き出す習慣のほうが、点数に直結します。
値の変わり方のポイントを紹介します
イコールは「等しい」ではなく「入れる」
プログラムのイコールは、数学の等号とは意味がちがいます。
数学では「左と右が等しい」と読みますが、プログラムでは「右の結果を左の箱に入れる」という合図なんです。
だから、合計イコール合計たす1という式も、ふつうに書けます。
数学なら成り立たない式ですが、プログラムでは、まず右側を今の値で計算し、その答えを左の箱に入れ直す、という意味になります。
この読み方に慣れることが、更新を理解する近道です。
最初は変な式に見えても、入れる命令だと思えば自然に読めますよ。
- 数学の=:左と右が等しいという関係を表す。
- プログラムの=:右を計算して、左の箱へ入れる命令。
- 合計 = 合計 + 1:今の中身に1を足して、同じ箱へ入れ直す。
試しに、合計の中身が5のときを考えてみましょう。
合計イコール合計たす1を実行すると、まず右側が5たす1で、6と決まります。
その6が、合計の箱に入ります。
実行前は5、実行後は6です。
このように「実行前」と「実行後」を分けて考えると、同じ名前が左右に出てきても、まったく混乱しません。
新しい値を入れると前の値は消える
箱には、値をひとつしか入れられません。
新しい値を入れると、前の値は上書きされて消えてしまいます。
例題で確かめましょう。
aに3を入れ、bにaたす2を入れ、そのあとaに10を入れます。
このとき最後のbは、5のままです。
bに入れたのは、そのときのaの値3に2を足した5で、あとからaを変えても自動では書きかわらないからです。
箱の中身は「入れた瞬間の値」だと覚えておきましょう。
消えた値は、あとから呼び戻すことができません。
残したい値は、別の名前の箱に入れておく必要があります。
テストでは、この問題がひっかけとしてよく出ます。
「aを10にしたのだから、bも12になるのでは」と考えてしまう人が多いんです。
そんなときは、一行ごとに箱の中身を書き出してみてください。
aが3、bが5、そしてaが10。
bの欄は5のまま変わりません。
目で見ると、答えがはっきり分かりますよ。
更新と初期化で合計を求める
点数の合計を求めるときは、まず合計の箱に0を入れて始めます。
これが初期化です。
そのあと、点数が出るたびに、合計イコール合計たす点数を繰り返します。
たとえば30、40、50を足すなら、合計は0、30、70、120と変わっていきます。
最初に0を入れておかないと、箱の中に前の値が残っていて、答えがずれてしまうことがあります。
足す前の準備として、初期化をかならず忘れないようにしましょう。
箱を空っぽの状態から始めると考えると、イメージしやすいですよ。
ボタンを押した回数を数えるときにも、同じ形を使います。
回数イコール回数たす1を、ボタンが押されるたびに実行すれば、箱の中身が1ずつ増えていきます。
この「今の値をもとに新しい値をつくって入れ直す」使い方を、更新といいます。
合計もカウンタも、仕組みは同じ。
一つ分かれば、ほかの問題にもそのまま使えます。
値の追い方のコツは、一行ごとに箱の中身を書き出すことです。
表にして、変数ごとに欄をつくると、見まちがいが減ります。
ポイント3:名前・入れかえ・失敗
変数の使い方がわかったら、最後は「まちがえにくく使う工夫」です。
名前のつけ方、値の入れかえ、よくある失敗の3つを押さえておけば、テストの落とし穴をほとんど避けられます。
名前・入れかえ・失敗のポイントを紹介します
中身が分かる名前をつける理由
変数の名前は、aやbでも動きますが、できれば中身が分かる名前にしましょう。
点数や合計といった名前なら、あとから読み返したときに、何が入っているのかすぐに分かります。
プログラムは書くより読む時間のほうが長いので、読みやすさはとても大切です。
もう一つ大事なのが、同じ名前は同じ箱をさすということです。
つづりが少しでもちがうと、別の箱として扱われてしまいます。
書きまちがいが、思わぬ答えのずれにつながるんです。
名前は、見た目で選ぶより、意味で選ぶのがコツですよ。
多くのプログラミング言語では、大文字と小文字も別のものとして扱われます。
たとえば「Score」と「score」は、別の名前です。
テストの問題文では、変数の名前がたくさん出てくることがあります。
似た名前に注意して、どの箱の話なのかを丸で囲みながら読むと、取りちがえを防げますよ。
値の入れかえに予備の箱を使う理由
aとbの中身を入れかえたいとき、aにbを入れるだけでは、うまくいきません。
aの元の値が上書きされて、消えてしまうからです。
そこで、予備の箱をひとつ用意します。
まず予備にaの値をあずけ、次にaへbの値を入れ、最後にbへ予備の値を戻します。
この三つの手順で、どちらの値も失わずに入れかえられます。
コップの水を入れかえるとき、空のコップを一つ使うのと同じ考え方です。
入れかえは、プログラムで並べかえをするときにも、よく登場する大切な技です。
この機会に、手順をしっかり覚えておきましょう。
- 手順1:予備 = a で、aの値を予備の箱にあずける。
- 手順2:a = b で、aにbの値を入れる。
- 手順3:b = 予備 で、あずけた値をbへ戻す。
手順の順番を変えると、値が消えてしまいます。
たとえば最初にaイコールbを実行すると、aの元の値はもう取り出せません。
入れかえの問題では、箱の中身を一行ずつ書き出して、最後にどちらの箱にどの値が入っているかを確かめましょう。
aが3、bが5なら、最後はaが5、bが3になれば成功です。
つまずきやすい3つの失敗
つまずきやすい失敗は三つあります。
一つ目は、初期化を忘れることです。
二つ目は、変数の名前を書きまちがえて、別の箱を作ってしまうことです。
三つ目は、イコールを「等しい」と読んでしまうことです。
どれも、うっかりでは片づけられないほど、よく起きます。
でも、原因が分かっていれば、見直しのときに確かめる場所が決まります。
テストで見直すときは、この三つを順番に指でなぞって確認してみてください。
確認する順番を決めておけば、焦っていても抜けが出にくくなりますよ。
プログラムの誤りを見つけて直すことを、デバッグといいます。
変数まわりの誤りは、初期化の有無、名前の一致、代入の向きの三点を見るだけで、かなりの数が見つかります。
むずかしい理屈より、確認の順番を決めておくことが、いちばんの近道です。
名前・入れかえ・失敗の3つが分かれば、変数と代入の基本はひと通りそろいました。
あとは例題を自力で追ってみるだけです。
テスト前の確認リスト
ここまで読んだら、テスト前にもう一度、次の項目を確かめてみましょう。
用語の意味、代入の向き、値の追い方、入れかえの手順。
どれも一つずつなら、むずかしくありません。
ノートに自分の言葉で書き出して、すらすら説明できるかを試してみてください。
説明できたら、その項目は身についています。
あやしい項目だけ、記事の該当する部分に戻って読み直せば十分ですよ。
- 変数:値を入れておく、名前つきの箱だと説明できる。
- 代入:右の値を左の箱へ入れる命令で、向きは右から左だと言える。
- 上書き:新しい値を入れると前の値が消えることを、例で示せる。
- 更新と初期化:合計を求める前に0を入れる理由を答えられる。
- 入れかえ:予備の箱を使う3手順を、順番どおりに書ける。
よくある質問
変数の名前はaやbでも問題ないですか
結論から言うと、動きはしますが、中身が分かる名前にするのがおすすめです。
aやbでも、プログラムは正しく動きます。
ただ、問題が長くなると、aが何の値だったのか分からなくなって、読みまちがいが増えるんです。
点数や合計のように、中身を表す名前にしておけば、読み返したときにすぐ意味が分かります。
テストの問題文では、名前が単純なことも多いので、その場合は何を表す変数なのかを、余白にメモしてから追うと安心です。
イコールが数学とちがう理由が分かりません
プログラムのイコールは、等しいかどうかの判定ではなく、値を入れる命令だからです。
数学のイコールは「左と右が同じ」という関係を表しますが、プログラムは上から順に命令を実行していきます。
だから、合計イコール合計たす1のように、数学では成り立たない式が書けるんです。
迷ったら、イコールを「入れる」と読みかえてみてください。
合計に、合計たす1を入れる、と読めば、意味がすっと入ってきますよ。
この読みかえは、更新の問題を解くときにも、そのまま役に立ちます。
ぜひ今日から試してみてください。
例題を解くときのいちばんのコツは何ですか
一行ごとに、箱の中身を書き出すことです。
頭の中だけで追うと、上書きされた値を、つい古いまま使ってしまいます。
変数ごとに欄をつくった表を、ノートの余白に書いてみてください。
一行実行するたびに、変わった欄だけを書きかえていきます。
この方法なら、更新の問題でも、入れかえの問題でも、同じやり方で解けます。
時間はかかりますが、まちがいがぐっと減るので、結局いちばん早い方法なんです。
慣れてきたら、頭の中で追えるようにもなりますよ。
おわりに
変数と代入について、順番に見てきました。
変数は名前のついた箱、代入は右の値を左の箱へ入れる命令。
値は上書きされて、前の値は消えること。
合計を求める前には、初期化で0を入れること。
値を入れかえるときは、予備の箱を使うこと。
これだけ押さえておけば、テストの例題は、順番に追うだけで解けます。
まずは今日の例題を、もう一度ノートに書き出して、自分の手で追ってみてください。
ご視聴ありがとうございました。
この記事の内容を動画でも解説しています。
ぜひご覧ください。
中学技術の授業解説動画を、これからも投稿していきます。
役に立ったと感じたら、YouTubeのチャンネル登録をしてもらえるとうれしいです。
変数と代入の応用:テストによく出る3つの形
ここまでで、変数の意味と値の追い方は身につきました。次は、テストで出題されやすい少し発展した形を見ていきます。基本の考え方が分かっていれば、どれも落ち着いて解けますよ。
- ポイント1:右辺から計算:先に右側を計算して、あとで左へ入れる。
- ポイント2:足していく:合計は、初期値から順に足して求める。
- ポイント3:初期値に注意:最初の値を決め忘れると、答えがずれる。

応用問題のポイントを紹介します
「x = x + 1」は何をしている命令か
数学の目で見ると、「x = x + 1」はあり得ない式に見えますよね。でもプログラムでは、とても大切な形です。読み方は、右側の「x + 1」を先に計算し、その結果を左側の箱xに入れ直す、という手順になります。たとえばxが5なら、右側は6になり、xの中身は6に変わります。この形は、回数を数えたり、得点を一つずつ増やしたりする場面で何度も出てきます。
合計を足していく問題の解き方
「sum = 0」から始めて、「sum = sum + 3」「sum = sum + 5」のように並ぶ問題があります。これは、箱の中身に値を足し続けて、合計を作る流れです。解くときは、一行ごとにsumの値を表に書き出しましょう。0、3、8、というふうに、変わった所だけを順に追えば、最後の値が自然に出てきます。頭の中だけで計算しようとしないのが、まちがえないコツです。
初期値を決め忘れると起こる失敗
合計や回数を数える変数は、最初にいくつから始めるかを決めておく必要があります。これを初期値といい、多くの場合は0にします。初期値を決めないまま足し算を始めると、箱の中に前の値が残っていたり、そもそも値がなくてエラーになったりします。問題文に「最初に0を入れる」という行があるかを確かめるくせをつけておくと、記述問題でも理由を説明しやすくなります。
場面別のつまずきと直し方
変数と代入は、分かったつもりでも、細かい所でつまずきやすい単元です。よくある三つの場面を、直し方といっしょに紹介します。
数と文字列のちがいでまちがえる場面
プログラムでは、5と「5」は別のものとして扱われます。かぎかっこやクォーテーションで囲まれたものは文字列で、足し算をすると数ではなく、文字がつながってしまいます。たとえば「5」と「3」を足すと、8ではなく「53」になることがあります。答えが思ったと違うときは、その値が数なのか文字なのかを疑ってみましょう。問題文の書き方をじっくり見るのが、いちばんの近道です。
途中経過を表に書くと間違いが減る
値の変化を追う問題では、変数ごとに列を作り、行ごとに中身を書き込む表がとても役に立ちます。一行実行するたびに、変わった箱だけ書き換えます。変わらない箱は、前の値をそのまま写します。こうすると、どの行で値が変わったのかがひと目で分かります。テストの余白に小さな表を書く時間は、十秒もかかりません。見直しのときにも、考え方が残っているので、ミスを見つけやすくなります。
入れかえの手順を書き間違えたときの直し方
二つの値を入れかえるとき、「a = b」「b = a」の順に書くと、どちらも同じ値になってしまいます。最初の命令でaの元の値が消えるからです。直し方は、作業用の箱を一つ用意し、aの値を先に避難させることです。避難、上書き、戻すの三歩で考えると、失敗しません。自分で書いた手順が正しいか不安なときは、具体的な数を入れて、一行ずつ追ってみましょう。








