ВУЗ:
Составители:
Рубрика:
59
// класс, определяющий ограничение
class Constraint
{
Function function; // объект, описывающий функцию
// в левой части ограничения
double b; // правая часть
TypeInequation type; // тип ограничения
. . .
}
// класс, определяющий множество
class Set
{
Constraint [] constraints; // массив ограничений
int n; // количество ограничений в системе
. . .
}
При определении, удовлетворяет ли точка ограничению, требуется
вычислять в этой точке значение функции, заданной с помощью объекта
класса Function. Для этого в классе должен быть определен
соответствующий метод:
// метод вычисления значения функции в заданной точке
public double Calculate(double x, double y)
{
double value = 0.0;
switch (typeFunction)
{
case 1:
value = a * x + b * y; break;
case 2:
value = (x - x0) * (x - x0) / (a * a) +
(y - y0) * (y - y0) / (b * b); break;
case 3:
value = (x - x0) * (x - x0) / (a * a) –
(y - y0) * (y - y0) / (b * b); break;
case 4:
value = (y - y0) * (y - y0) – 2*p*x; break;
default:
// неизвестен тип функции,
// поэтому генерируется исключение
throw new Exception("Неизвестен тип функции");
}
return value;
}
// класс, определяющий ограничение class Constraint { Function function; // объект, описывающий функцию // в левой части ограничения double b; // правая часть TypeInequation type; // тип ограничения . . . } // класс, определяющий множество class Set { Constraint [] constraints; // массив ограничений int n; // количество ограничений в системе . . . } При определении, удовлетворяет ли точка ограничению, требуется вычислять в этой точке значение функции, заданной с помощью объекта класса Function. Для этого в классе должен быть определен соответствующий метод: // метод вычисления значения функции в заданной точке public double Calculate(double x, double y) { double value = 0.0; switch (typeFunction) { case 1: value = a * x + b * y; break; case 2: value = (x - x0) * (x - x0) / (a * a) + (y - y0) * (y - y0) / (b * b); break; case 3: value = (x - x0) * (x - x0) / (a * a) – (y - y0) * (y - y0) / (b * b); break; case 4: value = (y - y0) * (y - y0) – 2*p*x; break; default: // неизвестен тип функции, // поэтому генерируется исключение throw new Exception("Неизвестен тип функции"); } return value; } 59
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »