プログラミングの変数ってどう使うの?箱って何?今更聞けない基礎

コンピュータは情報を処理しています。

情報とは「データ」のことです。「データ」は【変数】を使って表します。

 

あなたはコンピュータがどのように「データ」を扱っているのか知っていますか?

プログラミングは情報を「データ」として表現する方法を知ることからはじまります。

 

・情報を「データ」として表現する?
・コンピュータが情報を処理するってどういうことなの?
冒頭に書いた文の意味がわからない人もいると思います。
人によっては、

「データ」は変数という箱を使うと簡単に扱えるよ

変数はプログラムを書いていけば自然に理解できるようになるよ
という声も聞こえてきます。確かに、

情報や「データ」といった言葉を意識して理解していなくとも、プログラムは書けるようになるかもしれません。

 

ただ、変数の根本的な理解ができていなければ、なかなか学習が前に進んでいかないことも事実です。

 

今回はまず、“変数は箱である”という理解を一歩踏み込んで"変数というラベルのついた箱を自分で用意する"ことでプログラムが書きやすくなることを理解しましょう。

 

その次に、「データ」とは具体的に何か?を解説します。

 

そして最後に、変数を使いこなすためには、どんな手続きが必要になるのかを確認します。

 

この記事を読めば、

情報という「データ」を扱うために、変数の使い方の理解を深めることができます。

 

 

 

変数は箱であるというけれど・・・

データはメモリに保存される

冒頭でも説明したように、情報は「データ」です。

コンピュータは情報を処理しています。

 

処理の流れは次のような流れになります。

①「データ」を入力 
→ ②「情報処理」 
→ ③「加工されたデータ」を出力
①:キーボードやマウスなどの入力装置
②:コンピューターの内部
③:ディスプレイ装置

このときの「データ」はコンピュータ内部のメモリという装置に保存されます。

 

コンピュータは「情報処理」してはメモリに入れ、データを出しては「情報処理」を繰り返し行っています。

 

 

データを保存するために変数を使う

メモリとは教室の後ろのロッカーのようなもので、規則正しくたくさん並んでいます。

見た目が同じロッカーに「データ」を入れて保存します。

 

ロッカーには、どの「データ」を入れたか住所となるアドレスがあります。

メモリ自体が4GBであれば、約40億個という膨大な数のロッカーがあります。

 

どこのアドレスが空いているかを調べるのは面倒になります。

そこで自分でアドレスの代わりにラベル(名前)をつけて使うものが【変数】です。

 

 

【変数】とはロッカーに「データ」を入れて自分でそのロッカーにラベルを付けて管理している状態だよ

 

 

番地を指定するより、自分のラベルを指定すればいつでも「データ」を出し入れすることができるよ

 

変数を使うと処理を一般化できる

この際、何度でも言います。コンピュータは「データ」を処理します。

「データ」は情報であり、さまざまな値のことです。

 

この値を入れておく箱が【変数】です。

たとえば、ラベルAとラベルBの箱の和を求める場合、

 

・ラベルA + ラベルB

 

として処理を一般化することができます。

 

箱【変数】を用意して、その中に「データ」を入れることで「情報処理」の表現を1つにすることができます。

 

 

一般化していなければ、都度 1+3、4+5、7+9というように値が変わるたび3つの情報処理が必要になるよ

同じような情報処理をまとめて行えるのがプログラムのメリットだから、プログラムに【変数】を使わないなんて考えられないよ

もっと変数を理解するために「データ」とは何かを知ろう!

「データ」はさまざまな情報

情報には種類があります。

コンピュータがメモリを確保しやすくするために情報に型を設けています。

 

データ型にはいろいろな種類がありますが、基本的なデータ型は以下の通りです。

他のプログラミング言語にも、おおよそ共通しています。

 

    • 整数型 例:0、555、-999
    • 実数型 例:1.2、0.5、-9.9
    • 文字型 例:A、あ、エ
    • 文字列型 例:ABC、あめ
    • 論理型 例:true、false

もっとも単純な「データ」は値

物の量を表現したものが値になります。

料理でいう分量や時間、温度などを数で表現できます。

 

    • 分量:100g
    • 時間:20分
    • 温度:180℃
具体的な情報で表現できるとコンピュータにとっては理解がしやすくなります。

また、文字型、文字列型の値は、シングルクォーテーション記号「'」やダブルクォーテーション記号「"」でくくって表現します。

 

たとえば数値の50なのか、それとも文字列としての"50"なのか?

記号を使い数値か文字列かを区別します。

 

    • 数値としての「値」の50 → 50
    • 文字列としての「値」の50 → "50"

コンピュータにとってあいまいな表現はNGだね。きっちり区別しよう!

変数を使いこなすためには?

①変数名を付ける

どんな「データ」を入れておくものなのか変数に名前を付けておきます。

変数名は、

  • 1つのプログラムの中で、同じ変数名を使うことはできません

 

  • 数字のみ、もしくは数字から始まる変数名は使用できません。

変数名を付けるポイントは

  • 変数が扱うデータの種類・内容がわかるようにする

 

  • プログラムを数年後に読んで、誰でも理解できる変数名を付けることを心がける

②変数の型を決める

宣言するデータの型により、どのくらいのメモリを確保するかが変わってきます。

どのくらいのメモリ容量を使うかは、予約制と考えるとわかりやすくなります。

 

たとえば、会議室が予約制であれば、どのくらいの時間を確保するのか?と同じようなことです。

会議の出席者は何人なのか?それによって用意する資料の数も変化します。

 

扱うデータにより必要なメモリ領域の大きさが違うということを理解しておきましょう!

 

 

③1つの変数には1つのデータしか入らない

変数を扱うときのルールとして

1つの変数には、1つのデータしか入れることができません。

 

変数Cに値5が入った状態で変数Cに違う値9を代入すると、値5は消えてなくなり、値9のみが入っている状態となります。

 

それまで変数に入っていた値5はなくなります。

 

 

 

④代入の記述と初期化

変数にデータを入れることを代入といいます。

 

多くのプログラミング言語では、変数名と代入するデータを等号でつなぎます。

たとえば、整数型変数iに整数15を代入する場合は
i = 15;
と書きます。

数学で習った「=」とは意味が違うよ。

変数を宣言してから、最初におこなう代入のことは、とくに変数の初期化といいます。

 

変数名をつけて値を代入する場合、適当なメモリ領域から割り当てるので、前回使われていた値を消すために必要になります。

 

”1つの変数に1つのデータしか入れることができない” という性質を利用すれば、初期化できるということだね

⑤変数のデータを参照

変数iに自分の値を参照して計算し代入する、次のようなケースを見てみます。

int i = 1;
i = i +1;
この場合は、i=1+1で2となります。

この表現はプログラムを学習する上で幾度となく出てくるので慣れておこう!

まとめ

プログラミングをするには、情報処理の仕方を学ばなければなりません。

 

今回は情報である「データ」を扱う上での基本となる変数を解説しました。

以下で、学んだポイントをまとめておきます。

 

    • 変数を使用する場合は、自分でラベルを付けてデータを管理すれば便利

 

    • 「データ」でもっとも単純なものは数値であり、その数値にも型がある

 

    • 変数を使いこなすためのルールや変数の性質を学びデータの代入やデータの参照についての理解を深めた
おすすめの記事