Загрузка данных



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;
        }
    }
}