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