第3講 文字型変数を理解しよう
第1話 数字や文字を入れる変数

変数という言葉を聞いて、
顔をしかめている人いませんか。
プログラミングには、
関数や変数など一見数学を連想させる言葉
がしばしば出てきます。
VBやVBAの場合は、
命令の一定の集まりをプロシージャと呼んでいますが、
プロシージャはC言語でいう関数です。
でも、関数でも変数でも苦手意識をもつ必要はまったくありません。
なぜなら、関数も変数も基本的には数学を意識する必要はまったくないからです。
(もちろん、深いところではつながっています。
ですが、関数も変数も実はとても簡単な内容です。
ですから、プログラミングを学習すると、
数学の関数や変数に対する苦手意識もなくなるでしょう。)
関数は、前にも申し上げましたが、
プログラミングの単位=細胞にすぎません。
他の単位(関数)から仕事を命じられて、
任務を遂行するプログラムの単位(細胞)=命令の集合体に他ならないのです。
そして、変数は数字や文字を入れる箱にすぎません。


箱は、モノを保管する、分別・整理してモノを収める、という機能があります。
例えば、引っ越しの時にマジックで下着や本などと書いた箱を用意して、
下着は下着とマジックで書いてある箱に、本は本とマジックで記した箱に入れたりします。
あるいは、当面は使いそうもないものも
冬物などとマジックで書いた箱に入れて押し入れに入れて保管したりします。
プログラミングで出てくる箱(変数)もモノを保管したり、分別・整理する機能を持ちます。
ただし、プログラミングで出てくるモノは、文字と数字のみです。
ですから、文字を入れる箱(文字型変数)と
数字(数字型変数)を入れる箱を用意すれば、
プログラミングの場合は十分なわけです。
第3講では、文字型変数を学び、
第4講では、数字型変数の活用について考えます。

変数(箱)を用意にするには、変数(箱)を用意するという言葉を述べればよいのです。
もっとわかりやすくいえば、変数(箱)の呪文を述べればよいのです。
例えば、整数型変数(整数を入れる箱)を用意するときの呪文は、
Dim a As Integer
です。
Dimとは『定義する』、Asは『として』、Integerは『整数型』という意味です。
そして、aは変数(箱)の名称です。
ですから、呪文の意味は
整数を入れる箱(変数)を用意して、その箱(変数)の名前をaと定義するするという意味です。
定義という言葉に抵抗があるのでしたら、
整数を入れる箱を用意して、その箱にマジックでaと書き込むということです。
つまり、マジックでaと書かれた整数を入れる箱を用意するという意味です。

では文字型変数を用意する呪文は何でしょうか。
Dim b As String
です。この呪文によって、マジックでbと書かれた文字を入れる箱が用意されるのです。

箱の名前を変数名といいます。
Dim a As Integer
でしたら変数名はaですし、
Dim b As String
ならば変数名はbです。
p1
(これから変数名のことを、箱のラベルとも記します。)

箱の名前にすぎないのにいろいろな入門書や入門サイトは、
変数名を
Dim a_integer As Integer

Dim Name As String
などと書くように推奨していますが、
私は、変数名をこのように意味ありげに書くことが、
初心者を困惑させる大きな原因の一つになっていると考えています。
(なぜなら、
VC++系の入門サイトでは長年ダントツのトップを維持し続けている
サイトの著者の私が、
VC++を学ぶときに、a_integerといった書き方自体に意味があると思い、
VC++は難しいと感じてしまった体験があるからです。
ダントツのトップというのは、
『C++ 初心者』『VC++ 入門』『Visual C++ 入門』『Visual C++ 基礎』
など100項目以上で、Googleで第1位を占めているからです。

英単語で書くと、初心者はそこに意味があると思ってしまいます。
ですが、実は変数名自体には何の意味もないのです。
他と区別するという意味以外には。
同様な箱を2つ用意したときに、マジックで何も書かれていなければ、
箱を区別できません。
そこで箱を区別するために、マジックでaと書いたり
bと書いたりするだけなのです。
自分で何の箱であるかがわかればよいのです。
ですから、禁則を犯さなければ変数名=箱の名前は自由につけられのです。
では、禁則とは何でしょうか。
* アルファベット・数字・_(アンダーバー)以外の記号(例えば、/や\など)は使えない。
* 基本は半角
(ただし、VBAの場合は全角も使えます。
ですが、他の言語では全角は""の中以外は一切使えませんので、
半角英数の習慣をつけた方がよいでしょう。)
* 数字を先頭にもってきてはいけない。
です。
以上の禁則を守れば、箱の名前は自由につけられます。

確かに、箱がたくさん出てくるとaという名前をつけたのでは、
何を入れる箱であったかわからなくなります。
ですから、
Dim a_integer As Integer
と書くことを推奨するわけですが、
私は、むしろ次のように書くことをおすすめします。
Dim a As Integer 'aは整数を入れる変数
'aは整数を入れる変数 は注釈文といわれるものです。
コンピュータは『'』のついてある文を無視します。
ですから、
Dim a As Integer 'aは整数を入れる変数
と書いてあっても、コンピュータにとっては
Dim a As Integer
と同じなのです。
注釈文は、コンピュータのためにあるのではなく、
プログラムの文章を読む人間のためにあるのです。
Dim a As Integer 'aは整数を入れる変数
のように書けば、aが何を入れる箱であったかがわからなくなる心配はありません。
'aは整数を入れる変数をコードのあちらこちらにコピペで貼り付けておけば、
何を入れる変数であるかがわからなくなることはありません。


第2講第10話へ 第2話へ



トップ


初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ