Exemplo n.º 1
0
 public double this[params Tuple <string, double>[] args]
 {
     get
     {
         RPN r = this.MemberwiseClone() as RPN;
         foreach (var arg in args)
         {
             r.SetVariable(arg.Item1, arg.Item2);
         }
         r.Execute();
         return(r.Result);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Функция возвращает результат вычисления формулы по известным значениям параметров
        /// </summary>
        /// <param name="formula">Строковое представление формулы</param>
        /// <param name="values">Набор значений параметров (значения тригонометрических функций в радианах)</param>
        /// <returns></returns>
        public static string Analysator(string formula, string[] values)
        {
            string Result = string.Empty;

            RPN rpn = RPN.CreateRPN(formula);

            if (!rpn.SetVariables(values))
            {
                return(rpn.Errors);
            }

            rpn.Execute();
            return(Result = rpn.Result.ToString());
        }