Создать класс tablica для печати таблицы значений произвольной функции f ( x ) . - C#
Формулировка задачи:
Ребят, как реализовать данное задание?
Создать клас tablica для печати таблицы значений произвольной функции f ( x ) .
Формула для вычисления f ( x ) передается в конструктор класса tablica , как
объект реализующий интерфейс
interface funkcia {
double value ( double x )
}
Класс tablica имеет метод
void showTable ( double xmin , double xmax , int N )
где xmin и xmax - минимальное и максимальное значения независимой переменной, и N - количество строк в таблице .
Продемонстрировать работу класса на примере 3-х различных функций.
Решение задачи: «Создать класс tablica для печати таблицы значений произвольной функции f ( x ) .»
textual
Листинг программы
using System;
interface IFunction
{
double Value(double x);
}
class MySin : IFunction
{
public double Value(double x)
{
return Math.Sin(x);
}
}
class MyCos : IFunction
{
public double Value(double x)
{
return Math.Cos(x);
}
}
class MyFunc : IFunction
{
public double Value(double x)
{
return x * x * x;
}
}
class Table
{
IFunction function;
public Table(IFunction function)
{
this.function = function;
}
public void ShowTable(double xMin, double xMax, int N)
{
if (xMax - xMin <= 0 || N <= 0)
{
Console.WriteLine("Неверные вхожные данные");
return;
}
double step = (xMax - xMin) / N;
for (int i = 0; i < N; i++)
{
Console.WriteLine("F({0}) = {1}", xMin + step * i, function.Value(xMin + step * i));
}
}
}
public class Programm
{
public static void Main(string[] args)
{
Console.WriteLine("Синус");
Table table = new Table(new MySin());
table.ShowTable(0, Math.PI, 10);
Console.WriteLine("Косинус");
table = new Table(new MyCos());
table.ShowTable(0, Math.PI, 10);
Console.WriteLine("Куб");
table = new Table(new MyFunc());
table.ShowTable(0, Math.PI, 10);
Console.ReadKey();
}
}