예제 #1
0
        public override double Calculate()
        {
            double operandValue = Operand.Calculate();

            switch (Operation)
            {
            case "-": value = -operandValue; break;

            case "sign":
                if (operandValue > 0)
                {
                    value = 1;
                }
                else if (operandValue < 0)
                {
                    value = -1;
                }
                else
                {
                    value = 0;
                } break;

            case "sqr": value = operandValue * operandValue; break;

            case "sqrt": value = Math.Sqrt(operandValue); break;

            default: throw new Exception("Неизвестный унарный оператор:" + Operation);
            }
            return(value);
        }
예제 #2
0
        public override double Calculate()
        {
            var operandResult = Operand.Calculate();

            if (operandResult < 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            return(Math.Sqrt(operandResult));
        }
예제 #3
0
파일: Sqr.cs 프로젝트: Mikhailo98/mnprogram
 public override double Calculate()
 {
     return(Math.Pow(Operand.Calculate(), 2));
 }