第2講 変数を理解しよう
第3話 変数の再利用 
変数3個の場合のコーティング例
Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim 言葉1 As String
      Dim 言葉2 As String
      Dim 言葉3 As String
      Dim 言葉4 As String
      Dim 言葉5 As String
      Dim 人1 As String
      Dim 人2 As String
      Dim 人3 As String

      言葉1 = "明るく"
      言葉2 = "前向き"
      言葉3 = "優しく"
      言葉4 = "活発"
      言葉5 = "は"

      人1 = "太郎"
      人2 = "花子"
      人3 = "次郎"

      Label1.Text = 人1 + 言葉5 + 言葉1 + 言葉2
      Label2.Text = 人2 + 言葉5 + 言葉3 + 言葉4
      Label3.Text = 人3 + 言葉5 + 言葉1 + 言葉3

      人1 = "優子"
      人2 = "三郎"
      人3 = "洋子"

      Label4.Text = 人1 + 言葉5 + 言葉2 + 言葉3
      Label5.Text = 人2 + 言葉5 + 言葉1 + 言葉4
      Label6.Text = 人3 + 言葉5 + 言葉1 + 言葉3 + 言葉2 + 言葉4
   End Sub
End Class

「人1」という変数は、一人二役を演じています。
動きを追うと(コンピュータの動きを追うことをトレースといいます。)
人1 = "太郎"で
変数の代入
となります。次に、人1 = "優子"によって、
変数の再利用
中に優子が入ることによって太郎は外に押し出されて、太郎は消滅します。
変数という箱は、常に1つしか入れられないのです。
だから、もう1個入れると前のものは出て消滅します。
箱から出てしまったものは消滅してしまうのです。
変数の中身は、箱の中でしか生きられないです。
後で学習しますが、人1 = "優子"の=は数学の=とは違います。
むしろ人←"優子"とイメージした方がよいのです。
つまり箱に入れる操作を人1 = "優子"で表しているのです。


人を表す変数が1個の場合のコーティングはどうなるでしょうか。
考えてみてください。
解答例は20行下。


















Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim 言葉1 As String
      Dim 言葉2 As String
      Dim 言葉3 As String
      Dim 言葉4 As String
      Dim 言葉5 As String

      Dim 人 As String

      言葉1 = "明るく"
      言葉2 = "前向き"
      言葉3 = "優しく"
      言葉4 = "活発"
      言葉5 = "は"

      人 = "太郎"
      Label1.Text = 人 + 言葉5 + 言葉1 + 言葉2
      人 = "花子"
      Label2.Text = 人 + 言葉5 + 言葉3 + 言葉4
      人 = "次郎"
      Label3.Text = 人 + 言葉5 + 言葉1 + 言葉3
      人 = "優子"
      Label4.Text = 人 + 言葉5 + 言葉2 + 言葉3
      人 = "三郎"
      Label6.Text = 人 + 言葉5 + 言葉1 + 言葉3 + 言葉2 + 言葉4
      人 = "洋子"
      Label5.Text = 人 + 言葉5 + 言葉1 + 言葉4

   End Sub
End Class
尚、これは
Public Class Form1
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim 言葉1 As String
      Dim 言葉2 As String
      Dim 言葉3 As String
      Dim 言葉4 As String
      Dim 言葉5 As String
      Dim 人 As String
      言葉1 = "明るく"
      言葉2 = "前向き"
      言葉3 = "優しく"
      言葉4 = "活発"
      言葉5 = "は"
      人 = "太郎"
      Label1.Text = 人 + 言葉5 + 言葉1 + 言葉2
      人 = "花子"
      Label2.Text = 人 + 言葉5 + 言葉3 + 言葉4
      人 = "次郎"
      Label3.Text = 人 + 言葉5 + 言葉1 + 言葉3
      人 = "優子"
      Label4.Text = 人 + 言葉5 + 言葉2 + 言葉3
      人 = "三郎"
      Label6.Text = 人 + 言葉5 + 言葉1 + 言葉3 + 言葉2 + 言葉4
      人 = "洋子"
      Label5.Text = 人 + 言葉5 + 言葉1 + 言葉4
   End Sub
End Class
と書いても、、
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim 言葉1 As String
Dim 言葉2 As String
Dim 言葉3 As String
Dim 言葉4 As String
Dim 言葉5 As String
Dim 人 As String
言葉1 = "明るく"
言葉2 = "前向き"
言葉3 = "優しく"
言葉4 = "活発"
言葉5 = "は"
人 = "太郎"
Label1.Text = 人 + 言葉5 + 言葉1 + 言葉2
人 = "花子"
Label2.Text = 人 + 言葉5 + 言葉3 + 言葉4
人 = "次郎"
Label3.Text = 人 + 言葉5 + 言葉1 + 言葉3
人 = "優子"
Label4.Text = 人 + 言葉5 + 言葉2 + 言葉3
人 = "三郎"
Label6.Text = 人 + 言葉5 + 言葉1 + 言葉3 + 言葉2 + 言葉4
人 = "洋子"
Label5.Text = 人 + 言葉5 + 言葉1 + 言葉4
End Sub
End Class
と書いても全くプログラムには影響を与えません。

改行や右左の位置は関係ないです。
しかし、わかりやすさを優先させて、
Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim 言葉1 As String
      Dim 言葉2 As String
      Dim 言葉3 As String
      Dim 言葉4 As String
      Dim 言葉5 As String

      Dim 人 As String

      言葉1 = "明るく"
      言葉2 = "前向き"
      言葉3 = "優しく"
      言葉4 = "活発"
      言葉5 = "は"

      人 = "太郎"
      Label1.Text = 人 + 言葉5 + 言葉1 + 言葉2
      人 = "花子"
      Label2.Text = 人 + 言葉5 + 言葉3 + 言葉4
      人 = "次郎"
      Label3.Text = 人 + 言葉5 + 言葉1 + 言葉3
      人 = "優子"
      Label4.Text = 人 + 言葉5 + 言葉2 + 言葉3
      人 = "三郎"
      Label6.Text = 人 + 言葉5 + 言葉1 + 言葉3 + 言葉2 + 言葉4
      人 = "洋子"
      Label5.Text = 人 + 言葉5 + 言葉1 + 言葉4

   End Sub
End Class
とするべきです。
後で(といっても本講座の最後の方ですが)構造化プログラミングについて述べますが、
この言葉は難しいですが、内容は簡単です。
内容は、部品をプログラムのパーツのように独立させて、そのパーツから全体を組み立てることをいいます。
構造化プログラミングの重要な思想は、プログラムをわかりやすく書くです。
常にわかりやすく書きましょう。
意味の固まりごとに段組をする、あるいは空白行を入れる等をするとわかりやすくなります。


第2話へ 第4話へ

006


vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座


数学研究室に戻る