При некоторых заданных x, N и E, определяемых вводом, вычислить сумму слагаемых - C#
Формулировка задачи:
14. При некоторых заданных x, N и E, определяемых вводом, вычислить:
a) сумму N слагаемых заданного вида;
b) сумму тех слагаемых, которые по абсолютной величине больше Е.
Для случая b выполнить суммирование для двух значений Е, отличающихся на порядок, и при этом определить количество слагаемых, включенных в сумму. Сравнить результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем в интервале (-R, R).
Решение задачи: «При некоторых заданных x, N и E, определяемых вводом, вычислить сумму слагаемых»
textual
Листинг программы
double sum1 = 0, sum2 = 0 , sum0;
Console.Write("x = ");
double x = Convert.ToDouble(Console.ReadLine());
Console.Write("N = ");
int N = Convert.ToInt32(Console.ReadLine());
Console.Write("E = ");
double E = Convert.ToDouble(Console.ReadLine());
sum0 = (1 / Math.Sqrt(1 - x * x));
Console.WriteLine("Точное значение фкнкции = {0}", sum0);
sum1 = 1;
double an = 1;
for (int i = 0, j = 1; j < N; i += 2, j++)
{
an = an * (double)(i + 1) / (i + 2) * Math.Pow(x, 2);
sum1 += an;
}
Console.WriteLine("a) Сумма = " + sum1.ToString());
an = 1;
int k = 0;
int ii = 0;
sum2 = 1;
while (Math.Abs(an) > E)
{
an = an * (double)(ii + 1) / (ii + 2) * Math.Pow(x, 2);
sum2 += an;
ii += 2;
k++;
}
Console.WriteLine("b) Прие Е = " + E.ToString() + " Сумма = " + sum2.ToString() + "\nКоличество слагаемых = " + k);
an = 1;
k = 0;
ii = 0;
sum2 = 1;
E /= 100;
while (Math.Abs(an) > E)
{
an = an * (double)(ii + 1) / (ii + 2) * Math.Pow(x, 2);
sum2 += an;
ii += 2;
k++;
}
Console.WriteLine(" Прие Е = " + E.ToString() + " Сумма = " + sum2.ToString() + "\nКоличество слагаемых = " + k);
Console.ReadLine();