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


using System;

class Program
{
    static void Main()
    {
        Console.OutputEncoding = System.Text.Encoding.UTF8;
        
        // Ввод исходных данных
        Console.WriteLine("Вычисление значений функции F(x) = tg(2x) - 3");
        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("Ошибка: шаг должен быть положительным числом!");
            return;
        }
        
        if (a > b)
        {
            Console.WriteLine("Ошибка: начало отрезка должно быть меньше конца!");
            return;
        }
        
        // Вывод заголовка таблицы
        Console.WriteLine("\nРезультаты вычислений:");
        Console.WriteLine(new string('-', 50));
        Console.WriteLine($"| {"x",-15} | {"F(x)",-25} |");
        Console.WriteLine(new string('-', 50));
        
        // Вычисление и вывод значений функции
        for (double x = a; x <= b; x += h)
        {
            double result = CalculateFunction(x);
            
            // Форматированный вывод с обработкой особых случаев
            if (double.IsInfinity(result) || double.IsNaN(result))
            {
                Console.WriteLine($"| {x,-15:F4} | {"не определена",-25} |");
            }
            else
            {
                Console.WriteLine($"| {x,-15:F4} | {result,-25:F6} |");
            }
        }
        
        Console.WriteLine(new string('-', 50));
        Console.WriteLine("Программа завершена. Нажмите любую клавишу для выхода...");
        Console.ReadKey();
    }
    
    /// <summary>
    /// Вычисляет значение функции F(x) = tg(2x) - 3
    /// </summary>
    /// <param name="x">Аргумент функции</param>
    /// <returns>Значение функции</returns>
    static double CalculateFunction(double x)
    {
        // tg(2x) = sin(2x) / cos(2x)
        return Math.Tan(2 * x) - 3;
    }
}