コード例 #1
0
 /// <summary>
 /// (Вспомогательная) Находит сумму всех вещественных чисел A, A + h, A + 2h , … в диапазоне [A, B], удовлетворяющих заданному предикату.
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <param name="h"></param>
 /// <param name="pred"></param>
 /// <returns></returns>
 static double SumPred(double a, double b, double h, MyPredOfDouble pred)
 {
     Debug.Assert(a <= b + h, "A<=B+h in SumPred!");
     if (a > b)
     {
         return(0);
     }
     if (a == b)
     {
         return(a);
     }
     if (pred(a))
     {
         if (a == b)
         {
             return(a);
         }
         return(a + SumPred(a + h, b, h, pred));
     }
     return(SumPred(a + h, b, h, pred));
 }
コード例 #2
0
 /// <summary>
 /// (Активирующая) Находит сумму всех вещественных чисел A, A + h, A + 2h , … в диапазоне [A, B], удовлетворяющих заданному предикату.
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b"></param>
 /// <param name="h"></param>
 /// <param name="pred"></param>
 /// <returns></returns>
 static double ActSumPred(double a, double b, double h, MyPredOfDouble pred)
 {
     Debug.Assert(a <= b, "A<=B in SumPred!");
     return(SumPred(a, b, h, pred));
 }