Объектно-ориентированное программирование на С#. Андрианова А.А - 70 стр.

UptoLike

70
solve = LinSolve;
else
// квадратное уравнение
solve = QSolve;
}
// метод решения квадратного уравнения
public void QSolve()
{
double disc = b * b - 4 * a * c;
if (disc < 0.0)
count = 0;
else if (disc == 0.0)
{
count = 1;
x1 = -b / (2 * a);
x2 = x1;
}
else
{
count = 2;
x1 = (-b + Math.Sqrt(disc)) / (2 * a);
x2 = (-b - Math.Sqrt(disc)) / (2 * a);
}
}
// метод решения линейного уравнения
public void LinSolve()
{
count = 1;
x1 = -c / b;
}
// метод решения уравнения 0-ого порядка
public void NullSolve()
{
if (c == 0)
count = infinity;
else
count = 0;
}
// метод печати результата решения уравнения
public void PrintSolution()
{
switch (count)
{
case 2:
Console.WriteLine("x1={0}, x2={1}", x1, x2);
break;
case 1:
Console.WriteLine("x={0}", x1);
break;
              solve = LinSolve;
         else
            // квадратное уравнение
            solve = QSolve;
     }
     // метод решения квадратного уравнения
     public void QSolve()
     {
        double disc = b * b - 4 * a * c;

         if (disc < 0.0)
            count = 0;
         else if (disc == 0.0)
              {
                 count = 1;
                 x1 = -b / (2 * a);
                 x2 = x1;
              }
              else
              {
                 count = 2;
                 x1 = (-b + Math.Sqrt(disc)) / (2 * a);
                 x2 = (-b - Math.Sqrt(disc)) / (2 * a);
              }
     }

     // метод решения линейного уравнения
     public void LinSolve()
     {
        count = 1;
        x1 = -c / b;
     }

     // метод решения уравнения 0-ого порядка
     public void NullSolve()
     {
        if (c == 0)
           count = infinity;
        else
           count = 0;
     }

     // метод печати результата решения уравнения
     public void PrintSolution()
     {
        switch (count)
        {
           case 2:
              Console.WriteLine("x1={0}, x2={1}", x1, x2);
              break;
           case 1:
              Console.WriteLine("x={0}", x1);
              break;

70