Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. A) работает со всеми перечисленными форматами данных
  2. Be bold, be bold, but not too bold (будь смелой, но не слишком смелой), Lest that your heart’s blood should run cold (чтобы твоего сердца кровь не бежала холодной).
  3. Be on the make - продолжать работать
  4. Celebrity Reflection – новейший лайнер класса Премиум
  5. E) Работа в цикле
  6. HLA - система; классы антигенов, биологические функции, практическое значение HLA-типирования.
  7. I класс (33 часа)

(версия 17.02.12)

 

Задание: создать класс для табулирования функции одной переменной и программу демонстрирующую работу класса.

Требования к классу:

· Класс должен иметь:

- конструктор c параметрами, в который передаются исходные данные для табулирования функции;

- свойства, каждое из которых соответствует параметру исходных данных необходимых для табулирования;

- свойство, возвращающее количество строк в таблице полученных в результате табулирования;

- индексатор, возвращающий строку таблицы в виде структуры в формате: значение X, значение f(X), признак наличия значения (если значение функции существует, то выставляется одни признак, если нет, то другой).

· Класс должен уметь обходить особые точки функции.

· Если пользователь задал неверные исходные данные для табулирования, то класс должен возвращать одну запись в таблице результатов табулирования в виде строки с признаком отсутствия значения.

· При изменении исходных данных автоматически должен выполняться пересчет.

Пример:

Опишем класс для табулирования функции 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);

}

}

Варианты:

Функция: см. Тынкевич М.А. Лабораторный практикум по информатике для студентов экономических специальностей. Часть 1. Алгоритмизация и программирование для ПЭВМ. Кемерово: КузГТУ. - 2001. Варианты заданий к лабораторной работе №1 (стр. 5-6).

Параметры:

Вариант Параметры
  Начало диапазона, конец диапазона, количество точек.
  Начало диапазона, конец диапазона, шаг (при выходе последней точки за конец диапазон точка не выводится в таблице).
  Начало диапазона, конец диапазона, шаг (при выходе последней точки за конец диапазон точка выводится в таблице).
  Начало диапазона, количество точек, шаг.

Темы для защиты:


Дата добавления: 2015-10-31; просмотров: 210 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Панель задач.| Лекция. Макроэкономикаға кіріспе.

mybiblioteka.su - 2015-2024 год. (0.007 сек.)