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

Visual Basic 文法[2015 2013 2012]

簡単に最大値を求める

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

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

Maxメソッドを選択

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

たとえば、Integer型の配列kakakuがあれば、kakaku.m と入力すれば、Maxメソッド(関数)を選択できるのがわかります。

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

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

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

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

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

最大値をMsgBoxに表示します。

Module Module1

  Sub Main()
     ' 宣言と初期値代入
     Dim kakaku() As Integer = {120,  55, 300, 168, 250, 98}
     Dim maxKakaku As Integer = 0

     ' 最大値を求める
     maxKakaku = kakaku.Max()
     MsgBox("最大値は" & maxKakaku & "です")
  End Sub

End Module

2数値の大きいほうを求める

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

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

  Dim x As Integer = 12
  Dim y As Integer = 5
  Dim ans As Integer = 0

  ans = Math.Max(x, y)      ' 12

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

キーボードから入力した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.Maxを使って数値の大小を判定
          ans = Math.Max(inNum1, inNum2)
          Console.WriteLine("大きいほうは、" & ans)
          Console.WriteLine()
      Loop
  End Sub

End Module
[広告]と関連コンテンツ
[広告]
[広告]