関数を作って効率的なプログラムに
同一処理がプログラム内に複数回出てきたら、関数(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 ステートメントを使えば、効率的なプログラムを作成するるうえことができ、後からの修正も、関数の内部だけで済み簡単になります。