ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
