// метод возвращает частное от деления значения в точке x0 // квадратного трёхчлена на значение в точке x0 квадратного // трёхчлена, переданного в качестве параметра public double Division(QuadraticTrinomial another, double x0) { double div = 1; if (another.ValueInX(x0) == 0) { throw new DivideByZeroException(); } div = ValueInX(x0) / another.ValueInX(x0); return(div); }
static void Main(string[] args) { QuadraticTrinomial quadraticTrinomial1 = new QuadraticTrinomial(2, 3, 7); QuadraticTrinomial quadraticTrinomial2 = new QuadraticTrinomial(1, -5, 6); double[] arguments = new double[] { 1, -3, 3, 2, 7, 100, 0 }; foreach (double x in arguments) { try { Console.WriteLine(quadraticTrinomial1.Division(quadraticTrinomial2, x)); } catch (DivideByZeroException) { Console.WriteLine($"Ошибка(некорректные данные)! Второй трёхчлен принимает значение = 0 в точке {x}"); } } }
static void Main(string[] args) { QuadraticTrinomial a = new QuadraticTrinomial(2, 3, 7); QuadraticTrinomial b = new QuadraticTrinomial(1, -5, 6); int[] points = { 1, -3, 3, 2, 7, 100, 0 }; for (int i = 0; i < points.Length; ++i) { try { Console.WriteLine(a.Divide(points[i], b)); } catch (DivideByZeroException ex) { Console.WriteLine("Divide By zero happened: "); Console.WriteLine(ex.Message); } catch (OverflowException ex) { Console.WriteLine("Overflow exception happened:"); Console.WriteLine(ex.Message); } } }