Esempio n. 1
0
 /// <summary>
 /// Метод, выводящий таблицу значений функции в промежутке от х1 до х2.
 /// </summary>
 /// <param name="F">Функция, принимающая два аргумента типа double и возвращающая значение double</param>
 /// <param name="a">Константа типа "double"</param>
 /// <param name="x1">Значение, начиная с которого будет выводиться таблица</param>
 /// <param name="x2">Значение, до которого будет выводиться таблица</param>
 public static void Table(Fun2 F, double a, double x1, double x2)
 {
     Console.WriteLine("----- X ----- Y -----");
     while (x1 <= x2)
     {
         Console.WriteLine("| {0,8:0.000} | {1,8:0.000} |", x1, F?.Invoke(a, x1) /*F(a)*/);
         x1 += 1;
     }
     Console.WriteLine("---------------------");
 }
Esempio n. 2
0
        public static void Table2(Fun2 F, double a, double x, double b, double h)
        {
            Console.WriteLine("----- A ----- X ----- Y -----");
            while (a <= b)
            {
                Console.WriteLine("| {0,8:0.000} | {1,8:0.000} | {2,8:0.000} ", a, x, F?.Invoke(a, x));
                double x1 = x + h;
                while (x1 <= b)
                {
                    Console.WriteLine("| {0,8:0.000} | {1,8:0.000} | {2,8:0.000} ", a, x1, F?.Invoke(a, x1));
                    x1 += h;
                }
                a += h;
            }

            Console.WriteLine("-----------------------------");
        }
 private void CalAndPush(Fun2 fun)
 {
     IConstant arg2 = core.PopOperand();
     IConstant arg1 = core.PopOperand();
     core.PushOperand(fun.Invoke(arg1, arg2));
 }