русс | укр

C# - Головна
Контакти
Задайте питання...
Перегляд всіх питань


Простір імен
  ► System (5)
  ► Microsoft (1)


Для учнів (початківців)
  ► Відео уроки (4)
  ► Навчання (177)
  ► Приклади програм (19)
  ► Секрети Сі Шарп (4)

Для професіоналів
  ► Навчання (6)
  ► Приклади програм (1)










Класс табулирования функции одной переменной

Опишем класс для табулирования функции y=Sin(x)/x. В качестве исходных данных для табулирования будут задаваться a – начало диапазона, b – конец диапазона и n – количество точек. Интерфейс класса (свойства и методы, которые доступны пользователям класса) будет выглядеть следующим образом:

  class CTabul {
...
//Параметрический конструктор, где AA – начало диапазона, AB – конец диапазона,
//AN – количество точек
public CTabul(double AA, double AB, int AN) {
...
}
//Свойство, соотвествующее началу диапазона
public double A {
get {
...
}
set {
...
}
}
//Свойство, соотвествующее концу диапазона
public double B {
get {
...
}
set {
...
}
}
//Свойство, соотвествующее количеству точек
public int N {
get {
...
}
set {
...
}
}
//Индексатор, возращающий по индексу AIndex строку таблицы в формате сруктуры SPoint
//(описание ниже) по индексу AIndex

public SPoint this[int AIndex] {
get {
...
}
}


В качестве результата, через индексатор, класс возвращает значения структуры типа SPoint, которая выглядит следующим образом:
struct SPoint {
//Значение Х
public double X;
//Значение Y
public double Y;
//Признак существования значения описанный перечислением типа EValueStatus,
//если значение фунции в данной точке существует, то признак принмает значение
//EValueStatus.Exist, если нет, то EValueStatus.NoExist
public EValueStatus Status;
}

Пример использования класса:

 static void Main() {
//Создаем объект класса CTabul
CTabul t = new CTabul(1, 2, 10);
//Изменяем исходные данные
t.A = 0;
t.B = 3;
t.N = 50;
//Выводим результат табулирования
for (int i = 0; i < t.N; i++ ) {
//Читаем строку таблицы с результатом таблуирования
SPoint p = t[i];
//Проверяем признак наличия значения
if (p.Status == EValueStatus.NoExist)
//Если нету, то выводим в столбце значения функции прочерк
Console.WriteLine("{0} {1} ------", i + 1, p.X );
else
//Если есть, то выводим значение
Console.WriteLine("{0} {1} {2}", i + 1, p.X, p.Y);
}
}

Переглядів: 1856






© 2012 ci-sharp.ru При використанні матеріалу пряме iндексуюче посилання на сайт ОБОВ'ЯЗКОВЕ.
Права строго захищені нормами міжнародного права, інтелектуальної власності та авторського права.