Составить программу, вычисляющую сумму первых n членов ряда - C# (198021)
Формулировка задачи:
Здравствуйте, помогите пожалуйста с двумя задачами:
1. Составить программу, вычисляющую сумму первых n членов ряда. Пользователь вводит значения а и n
(проверять, что n – положительное целое).Ответ вывести с тремя знаками после запятой.
1.png
пока что получилось написать вот это:
2. Написать программу, вычисляющую частичную сумму ряда Sn с заданной пользователем точностью.
2.png
Как к этой задаче подступиться даже не знаю.
using System;
namespace Kont1
{
class Program
{
static void Main()
{
string s;
float a, n, i;
double c;
do
{
Console.Write("Введите a: ");
s = Console.ReadLine();
a = float.Parse(s);
Console.WriteLine();
if (a == 0)
{
Console.WriteLine("a не должно быть равно нулю!");
}
} while (a == 0);
do
{
Console.Write("Введите n: ");
s = Console.ReadLine();
n = float.Parse(s);
Console.WriteLine();
if (n <= 0)
{
Console.WriteLine("n должно быть больше нуля!");
}
} while (n<=0);
for (i = 0; i <= n; i++)
{
c = (Math.Sqrt(i)) / (Math.Pow(a,i));
c++;
Console.WriteLine("Результат: " + "{0:F3}", c);
}
Console.ReadKey();
}
}
}Решение задачи: «Составить программу, вычисляющую сумму первых n членов ряда»
textual
Листинг программы
using System;
namespace Kont1_4
{
internal class Program
{
private static void Main()
{
}
public int fact(int i)
{
int f = 1;
for (int i = 2; i <= n; i++)
f *= i;
return f;
}
public double Sn(double x, double perc)
{
double sum = 0;
int n = 0;
while (Math.Abs((Math.Sin(x) - sum)) > Math.Abs(perc))// пока разница между sin(x) и Sn больше заданной точности
{
sum += Math.Pow(-1.0, (double)n) / fact(2 * n + 1) * Math.Pow(x, (double)2 * n + 1);
n++;
}
return sum;
}
}
}