static void Main()
        {
            var dlg1 = new CalcConvergentSeries(CalcConvergentSum);
            var dlg2 = new CalcConvergentSeries(CalcConvergentSeriesAlternatingSign);
            var dlg3 = new CalcConvergentSeries(CalcConvergentSumFactorial);

            Console.WriteLine("1 + 1/2 + 1/4 + 1/8 + ... with precision {0} = {1}",
                              0.01, CalcInfiniteConvergentSeries(0.01, dlg1));

            Console.WriteLine("1 + 1/2 - 1/4 + 1/8 - ... with precision {0} = {1}",
                              0.01, CalcInfiniteConvergentSeries(0.01, dlg2));

            Console.WriteLine("1 + 1/2! + 1/3! + 1/4! - ... with precision {0} = {1}",
                              0.01, CalcInfiniteConvergentSeries(0.01, dlg3));
        }
        static void Main()
        {
            var dlg1 = new CalcConvergentSeries(CalcConvergentSum);
            var dlg2 = new CalcConvergentSeries(CalcConvergentSeriesAlternatingSign);
            var dlg3 = new CalcConvergentSeries(CalcConvergentSumFactorial);

           Console.WriteLine("1 + 1/2 + 1/4 + 1/8 + ... with precision {0} = {1}",
                0.01, CalcInfiniteConvergentSeries(0.01, dlg1));

           Console.WriteLine("1 + 1/2 - 1/4 + 1/8 - ... with precision {0} = {1}",
                0.01, CalcInfiniteConvergentSeries(0.01, dlg2));

           Console.WriteLine("1 + 1/2! + 1/3! + 1/4! - ... with precision {0} = {1}",
               0.01, CalcInfiniteConvergentSeries(0.01, dlg3));
        }
 public static double CalcInfiniteConvergentSeries(double precision, CalcConvergentSeries dlg)
 {
     return(dlg(precision));
 }
 public static double CalcInfiniteConvergentSeries(double precision, CalcConvergentSeries dlg)
 {
     return dlg(precision);
 }