関数の作り方 [VB]

VB2012-2017

関数を作って効率的なプログラムに

同一処理がプログラム内に複数回出てきたら、関数(Function プロシージャ)を使うことによって、効率的なプログラムを作成することができます。

Function を利用しないサンプル

まず最初に、Function プロシージャを利用しないで、消費税額を計算するプログラムを作成します。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim zeikomi(3) As Double
      ' キーボードから3商品の税込み価格を入力
      For i As Integer = 1 To 3
          Console.WriteLine(i & "番目の税込み価格を入力して")
          Console.WriteLine("Enterキーを押してください")
          InStr = Console.ReadLine()
          ' 文字列を整数に変換して配列に保存
          zeikomi(i - 1) = Integer.Parse(inStr)
      Next

      Dim hontai As Integer
      Dim zei As Integer
      ' 消費税額を求めて表示する
      hontai = zeikomi(0) / 1.08    ' 本体価格は四捨五入
      zei = zeikomi(0)- hontai
      Console.WriteLine("消費税は" & zei & "円です")
      hontai = zeikomi(1) / 1.08    ' 本体価格は四捨五入
      zei = zeikomi(1)- hontai
      Console.WriteLine("消費税は" & zei & "円です")
      hontai = zeikomi(2) / 1.08    ' 本体価格は四捨五入
      zei = zeikomi(2)- hontai
      Console.WriteLine("消費税は" & zei & "円です")
  End Sub

End Module

消費税額を計算するプログラムが複数あり、すべて同一のプログラムになります。

たとえば税率が変わったら、プログラムのあちこちに出てくる税率の修正だけでも、大変なことになってしまいます。

上の例題は短いサンプルなので、すぐに修正できますが、長いプログラムだとそうはいきません。修正漏れが重大な事故につながることもあります。

そこで活躍するのが、Function ステートメント(関数)です。Function ステートメントを使えば、効率的なプログラムを作成するるうえことができ、後からの修正も、関数の内部だけで済み簡単になります。