• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Вычислить И Вывести На Экран В Виде Таблицы Значения Функции, Заданной

  • Автор темы Oektann
  • Дата начала
O

Oektann

Такая задача :
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хн до хк с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
549784afe791a236a7950bee2a1dfecd.jpeg

Мое решение:
Console.Clear();
int c = 0;
double y = 0;
double x1=0;
double x2=0;
double dx=0;
double e = 0;
double d = 0;
int f = 1;
int l = 0;
bool u = true;
double bufy = 0;
bool o = true;
while (o)
{
try
{
o = false;
Console.Write("Введите х начальное ");
x1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите х конечное ");
x2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите шаг ");
dx = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите точность ");
e = Convert.ToDouble(Console.ReadLine());
}
catch
{
o = true;
Console.Clear();
Console.WriteLine("Ошибка ввода");
}
}
Console.WriteLine("Таблица значений");
Console.WriteLine("---------------------------");
Console.WriteLine(" x | y | k ");
Console.WriteLine("---------------------------");
for (int i = 1; x1 <= x2; i++)
{
c = 0;
l=1;
y = 0;
d = 0;
f = 1;
u = true;
for (int n = 0; u; n++)
{
bufy =(l*(Math.Pow(x1,2*n))) / f;
y = y + bufy;
if (Math.Abs(bufy) < e) u = false;
d = bufy;
c++;
f = f * c;
l = l * -1;
y = Math.Round(y, 5);
}
Console.Write("|{0,5} ",x1);
Console.Write("|{0,13}|",y);
Console.WriteLine(" {0,3}",c);
x1 = x1 + dx;
}
Console.ReadKey();
Выдает 2 значения и зацикливается. Думаю условие выхода не верно, но никак не могу придумать другое. Помогите пожалуйста.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!