Sub プロシージャ [VB 2010]

Visual Basic 2010/2008 超やさしい文法

   Sub プロシージャ

Sub プロシージャ関数は、Function プロシージャと異なり、戻り値がありません。

戻り値のない関数

Sub プロシージャは、Sub ステートメントを使って次のような形式で記述します。

  Public Sub 関数名(ByVal 引数名 As データ型)
      .................
      ..............
      .................
  End Function

引数の無い場合には、次のような形式になります。

  Public Sub 関数名()
      .................
      ..............
      .................
  End Function

戻り値があるときは、Function プロシージャを使って記述します。

関数名

Public Sub 関数名 と始めるのが普通です。Function プロシージャ同様に、Public を書くと覚えてください。関数名は先頭文字を英字の大文字で始めて、処理内容が分かる名称をつけます。

  Public Sub 関数名
引数

何度でも再利用するためには、様々な値を使えるようにする必要があります。その仕組みとして引数があります。これもFunction プロシージャと同様です。ByVal を引数名の前に付けることで、本体の変数とは別のコピーされ、本体のプログラムから関数に渡されます。また、引数はいくつでも指定でき、ひとつも指定しなくても大丈夫です。

  関数名(ByVal 引数1 As データ型, ByVal 引数2 As データ型, ....)

商品の価格から税込価格を計算し、税込価格を表示する関数を使ったプログラムを作成します。

Module Module1

    Sub Main()
        ' 変数の宣言
        Dim inStr As String
        Dim nedan As Integer = 0
        Console.WriteLine("/// 税込価格を計算するプログラム ///")
        ' キーボードから商品価格を入力して、税込価格を求める
        Do
            Console.WriteLine()    ' 改行
            Console.WriteLine("** 商品価格を入力してください **")
            ' キーボードから入力
            inStr = Console.ReadLine()
            ' 入力した文字列を整数に変換
            nedan = Integer.Parse(inStr)
            If nedan > 0 Then
                ' 税込価格を関数を使って計算
                CalucZeikomi(nedan)
            Else
                ' 入力値が0以下なら入力を終了してLoopを抜ける
                Console.WriteLine("プログラム終了")
                Exit Do
            End If
        Loop
    End Sub

    '***************************************************************
    ' 機能:税込価格を計算して表示する関数
    ' 引数:商品価格
    ' 戻値:なし
    '******1*********2*********3*********4*********5**********6*****
    Public Sub CalucZeikomi(ByVal kakaku As Integer)
        Dim zeikomi As Double = 0
        ' 税込価格を計算
        zeikomi = kakaku * 1.05
        ' 税込価格を表示
        Console.WriteLine()              ' 改行
        Console.WriteLine("税込価格は")
        Console.WriteLine(zeikomi & "円です")
    End Sub

End Module

【注意】Sub Main()プロシージャも、Sub ... End Sub の形をしていますが、Main()はプログラムの開始点を示す特殊なプロシージャです。

次回は、Exit Subを使った Sub関数 を作成します。


Copyright© やさしいVB2010/2008 ADO.NET. All rights reserved.