Загрузка данных
using System;
using System.Globalization;
class Program
{
static int ReadN()
{
int n;
do
{
Console.Write("Введите натуральное число N: ");
n = int.Parse(Console.ReadLine());
}
while (n < 1);
return n;
}
static double ReadDouble(string message)
{
Console.Write(message);
return double.Parse(
Console.ReadLine().Replace(',', '.'),
CultureInfo.InvariantCulture
);
}
static void Main()
{
Console.WriteLine("Выберите задание от 1 до 10:");
int number = int.Parse(Console.ReadLine());
int n;
double x, a, s, p;
switch (number)
{
// Задание 1
case 1:
n = ReadN();
s = 0;
for (int i = 0; i <= n; i++)
{
s += Math.Pow(-1, i) / Math.Pow(2, i);
}
Console.WriteLine("S = " + s);
break;
// Задание 2
case 2:
n = ReadN();
s = 0;
double sumSin = 0;
for (int i = 1; i <= n; i++)
{
sumSin += Math.Sin(i);
if (Math.Abs(sumSin) < 1e-12)
{
Console.WriteLine("Деление на ноль!");
return;
}
s += 1.0 / sumSin;
}
Console.WriteLine("S = " + s);
break;
// Задание 3
case 3:
n = ReadN();
p = 1;
for (int i = 1; i <= n; i++)
{
p *= (2.0 * i) / (2 * i + 1);
}
Console.WriteLine("P = " + p);
break;
// Задание 4
case 4:
n = ReadN();
p = 1;
double sumCos = 0;
sumSin = 0;
for (int i = 1; i <= n; i++)
{
sumCos += Math.Cos(i);
sumSin += Math.Sin(i);
if (Math.Abs(sumSin) < 1e-12)
{
Console.WriteLine("Деление на ноль!");
return;
}
p *= sumCos / sumSin;
}
Console.WriteLine("P = " + p);
break;
// Задание 5
case 5:
x = ReadDouble("Введите x: ");
s = x;
double factorial = 1;
double power = x;
for (int i = 1; i <= 6; i++)
{
power *= x * x;
factorial *= (2 * i) * (2 * i + 1);
if (i % 2 == 1)
s -= power / factorial;
else
s += power / factorial;
}
Console.WriteLine("S = " + s);
break;
// Задание 6
case 6:
n = ReadN();
x = ReadDouble("Введите x: ");
s = 0;
double current = x;
for (int i = 1; i <= n; i++)
{
current = Math.Sin(current);
s += current;
}
Console.WriteLine("S = " + s);
break;
// Задание 7
case 7:
a = ReadDouble("Введите a: ");
n = ReadN();
p = 1;
for (int i = 0; i < n; i++)
{
p *= a + i;
}
Console.WriteLine("P = " + p);
break;
// Задание 8
case 8:
a = ReadDouble("Введите a: ");
n = ReadN();
p = 1;
for (int i = 0; i <= n; i++)
{
p *= a - i * n;
}
Console.WriteLine("P = " + p);
break;
// Задание 9
case 9:
a = ReadDouble("Введите a: ");
n = ReadN();
if (a == 0)
{
Console.WriteLine("a не должно быть равно нулю!");
break;
}
s = 1.0 / a;
for (int i = 1; i < n; i++)
{
s += 1.0 / Math.Pow(a, 2 * i);
}
Console.WriteLine("S = " + s);
break;
// Задание 10
case 10:
x = ReadDouble("Введите x: ");
p = 1;
double denominator = 1;
for (int i = 1; i <= 6; i++)
{
p *= x - (Math.Pow(2, i) - 1);
denominator *= x - Math.Pow(2, i);
}
if (Math.Abs(denominator) < 1e-12)
{
Console.WriteLine("Деление на ноль!");
}
else
{
Console.WriteLine("Результат = " + p / denominator);
}
break;
default:
Console.WriteLine("Такого задания нет!");
break;
}
}
}