Разработать интерфейс и класс для ряда Маклорена - C#
Формулировка задачи:
Разработать интерфейс и класс-реализацию для генерации последовательности и нахождения суммы ряда Маклорена функции f(x) = ex.
Решение задачи: «Разработать интерфейс и класс для ряда Маклорена»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace ConsoleApplication207
- {
- internal class Program
- {
- private static void Main(string[] args)
- {
- var series = new ExponentMaclaurin();
- var val = series.GetSum(1.5, 0.00001d);
- Console.WriteLine("Exp(1.5) = {0:0.00000}", val );
- Console.ReadLine();
- }
- }
- interface ISeries
- {
- IEnumerable<double> GetItems(double x);
- double GetSum(double x, double epsylon);
- }
- class ExponentMaclaurin : ISeries
- {
- public IEnumerable<double> GetItems(double x)
- {
- var fact = 1;
- var xx = 1d;
- for(int i=1;;i++)
- {
- yield return xx/fact;
- xx *= x;
- fact *= i;
- }
- }
- public double GetSum(double x, double epsylon)
- {
- var sum = 0d;
- foreach(var item in GetItems(x))
- {
- sum += item;
- if (item < epsylon)
- break;
- }
- return sum;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д