Вычисление суммы бесконечного ряда - C#
Формулировка задачи:
1. Вычислить значение суммы членов бесконечного ряда с заданной точностью Е с использованием оператора цикла while...do. На печать вывести значение суммы и число членов ряда, вошедших в сумму. Варианты заданий даны в таблице. Проект – консольное приложение.
2. Выполнить ту же задачу с применением оператора цикла repeat...until. Проект – консольное приложение
Решение задачи: «Вычисление суммы бесконечного ряда»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
internal class Program
{
private static void Main()
{
var result = Sh(1.7m, 1e-3m);
Console.WriteLine("Sum = {0}", result.Sum);
Console.WriteLine("Count = {0}", result.Count);
Console.WriteLine("Sh({0}) = {1}", 1.7d, Math.Sinh(1.7d));
}
private static Result Sh(decimal x, decimal e)
{
decimal sum = x, item = x, numerator = x;
int count = 1, step = 1;
long factorial = 1;
while (item >= e)
{
numerator *= x * x;
factorial *= ++step * ++step;
item = numerator / factorial;
sum += item;
count++;
}
return new Result {Sum = sum, Count = count};
}
}
internal struct Result
{
public decimal Sum { get; set; }
public int Count { get; set; }
}
}