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


using System;

class Program
{
    static double F(double x)
    {
        return x - Math.Sin(x);
    }
    
    static void Main()
    {
        Console.WriteLine("Программа для вычисления функции F(x) = x - sin(x)");
        Console.WriteLine("================================================");
        
        // Ввод параметров
        Console.Write("Введите начало отрезка a: ");
        double a = Convert.ToDouble(Console.ReadLine());
        
        Console.Write("Введите конец отрезка b: ");
        double b = Convert.ToDouble(Console.ReadLine());
        
        Console.Write("Введите шаг h: ");
        double h = Convert.ToDouble(Console.ReadLine());
        
        // Проверка корректности ввода
        if (h <= 0)
        {
            Console.WriteLine("Ошибка: шаг должен быть положительным числом!");
            Console.ReadKey();
            return;
        }
        
        if (a > b)
        {
            Console.WriteLine("Ошибка: начало отрезка не может быть больше конца!");
            Console.ReadKey();
            return;
        }
        
        // Вывод шапки таблицы
        Console.WriteLine("\nРезультаты вычислений:");
        Console.WriteLine("----------------------------------------");
        Console.WriteLine("|     x     |    F(x) = x - sin(x)    |");
        Console.WriteLine("----------------------------------------");
        
        // Вычисление и вывод значений
        double x = a;
        int count = 0;
        
        while (x <= b + 1e-9)
        {
            double result = F(x);
            
            Console.WriteLine("| {0,9:F4} | {1,24:F6} |", x, result);
            
            x += h;
            count++;
            
            if (count > 10000)
            {
                Console.WriteLine("Предупреждение: слишком много итераций!");
                break;
            }
        }
        
        Console.WriteLine("----------------------------------------");
        Console.WriteLine($"\nВычисления завершены. Всего точек: {count}");
        
        Console.ReadKey();
    }
}