最小値を求める関数 [VB]

VB2012-2017

簡単に最小値を求める

多くの数値、たとえば配列に格納されている数値から最小値を知る簡潔なプログラムを勉強します。

数値型配列にはMin()メソッドが使えるので、配列から簡単に最小値を求めることができます。

Minメソッドを選択

通常、最大値と同様に、先頭から順に大小を比較し、その時点の最小値と次の数値を比較して、最小値を探しますが、プログラムが長くなります。

たとえば、Double型の配列suchiの最小値を取得するために、suchi.m と入力すれば、Minメソッド(関数)を選択できるのがわかります。

また、最大値を求めるメソッドも選択できるので、最大値も簡単に求めることができます。

最大値を求めるメソッド はこちら

Minメソッドを使ったサンプルプログラム

整数(Double型)の最小値を求めるサンプルプログラムを作成します。

Minメソッドを使って、Double型の配列の最小値を求めます。とてもシンプルなプログラムになります。

Module Module1

  Sub Main()
     ' 宣言と初期値代入
     Dim suchi() As Double = {12.0, -5.5, 300.38, 16.8, -250, 98.1}
     Dim min As Double = 0.0

     ' 最小値を求める
     min = suchi.Min()
     Console.WriteLine("最小値は" & min & "です")
  End Sub

End Module

2数値の小さいほうを求める

Math.Minメソッドを使うと、引数に指定した2つの数値のうち小さい方の数値を返します。

第1引数と第2引数は同じデータ型に揃えて指定します。

  Dim x As Integer = -8
  Dim y As Integer = -2
  Dim ans As Integer = 0

  ans = Math.Min(x, y)      ' -8

Math.Minメソッドを使ったやさしいプログラムを作成します。

キーボードから入力した2整数の小さいほうを取得します。

Module Module1

    Sub Main()
        ' 変数の宣言と初期化
        Dim inStr As String = ""
        Dim inNum1 As Integer = 0
        Dim inNum2 As Integer = 0
        Dim ans As Integer = 0
        Do
            Console.WriteLine("endを入力すると終了します")
            ' キーボードから入力
            Console.WriteLine("1番目の整数を入力してください")
            inStr = Console.ReadLine()
            If inStr = "end" Then
                ' endを入力したら、Exit Doで、Loopを抜ける
                Exit Do
            End If
            ' 入力した文字列を数値に変換
            inNum1 = Single.Parse(inStr)

            Console.WriteLine("2番目の整数を入力してください")
            inStr = Console.ReadLine()
            ' 入力した文字列を数値に変換
            inNum2 = Single.Parse(inStr)

            ' Math.Minを使って数値の大小を判定
            ans = Math.Min(inNum1, inNum2)
            Console.WriteLine("小さいほうの数値:" & ans)
            Console.WriteLine()
        Loop
    End Sub

End Module