Разработать класс, производящий сэмплирование функции (вычисление дискретных значений в заданных точках и построение таблицы, содержащей пары точки-значения)
Текстовый файл, задающий, в каком диапазоне нужно сэмплировать функцию и с каким шагом. Пример:
0, 2, 0.5 // сэмплировать функцию в диапазоне от 0 до 20 с шагом 0.5
Файл может содержать пустые и невалидные строки. Программа должна корректно это обрабатывать.
Текстовый файл, содержащий таблицы пар x и y для конкретной функции. Пример для x2:
*x* 0.0 | 0.5 | 1.0 | 1.5 | 2.0 ...
*y* 0.0 | 0.025| 1.0 | 2.25 | 4.0 ...
Конструктор разработанного класса должен принимать ссылку на объект класса Function
, у которого есть метод:
double Evaluate(double x);
Таким образом можно будет создавать сэмплирующие объекты для разных функций.
Для всех разработанных модулей должны быть созданы наборы unit тестов. Функций ввода/вывода нужно тестировать с помощью std::stringstream
.