tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
引数の中で最小の正値を返す関数(VB6.0)_5 ( No.5 )  [親スレッドへ]
日時: 2011/04/05 13:08
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[基本コード][][]                                               *
* キーワード:プロシージャ,複数の引数,配列処理,コードの簡略化,,                   *
***********************************************************************************

-----------------------------------------------------------------------------
Re^5: 補填してGood - ダンボ   2004/09/08-09:38 No.339
-----------------------------------------------------------------------------

黒影さん、どうもありがとうございます。
IIfの小技を使って簡略化しましたね。判定と値代入を1命令で実行する。
Elseの後がもっちゃりした感じがあるので、ここの必要性を考えていくと
最初の2命令(全て0の場合)がこちらに吸収されていることが分かりました。

'**********************************************************
'*  pMin2       :引数の中で最小の正値を返す。但し3つとも0なら0を返す
'*  i,j,k       :いずれも、0または正整数
'*  戻り値      :最小の値、又は0
'**********************************************************
Function pMin2(i As Integer, j As Integer, k As Integer) As Integer

     Dim min         As Integer  '最小値

         '最小値初期設定
         min = i
        
         If (min > j) Then
             min = IIf(j = 0, min, j)
         Else
             min = IIf(min = 0, j, min)
         End If
        
         If (min > k) Then
             min = IIf(k = 0, min, k)
         Else
             min = IIf(min = 0, k, min)
         End If
            
         pMin2 = min
    
     End If

End Function

で、必要十分のようですよ。



 [スレッド一覧へ] [親スレッドへ]