Ряды Тейлора. Вычислить и вывести на экран в виде таблицы значения функции - C#

Узнай цену своей работы

Формулировка задачи:

Код рабочий, но работает не совсем правильно, преподаватель дал подсказку, связанную с модулем, но я не понял зачем он, где он нужен и поможет ли это? Помогите, пожалуйста!
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace laba_3 
{ 
 class Program 
 { 
 static void Main(string[] args) 
 { 
 string Vib = "Y"; 
 while (Vib == "Y") 
 { 
 try 
 { 
 Console.WriteLine("Задана Функция arctg(x)"); 
 Console.Write("Введите значение начального аргумента x1, если x>1 : "); 
 double x1 = double.Parse(Console.ReadLine()); 
 while ( x1 <= 1) 
 { 
 Console.Write("x не входит в область допустих значений.\nВведите x: "); 
 x1 = double.Parse(Console.ReadLine()); 
 } 
 Console.Write("Введите значение конечного аргумента x1, если x>1 : "); 
 double x2 = double.Parse(Console.ReadLine()); 
 while ( x2 <= 1) 
 { 
 Console.Write("x не входит в область допустих значений.\nВведите x: "); 
 x2 = double.Parse(Console.ReadLine()); 
 } 
 Console.Write("Введите шаг для x: "); 
 double Shag = double.Parse(Console.ReadLine()); 
 Console.Write("Введите погрешность измерения: "); 
 double Pog = double.Parse(Console.ReadLine()); 
 Console.WriteLine("x " + "Точное значение " + "Приблизительное значение "); 

 for (double x = x1; x <= x2; x += Shag) 
 { 
 
 double z = Math.Atan(x); 
 int n = 0; 
 double S = Math.PI/2; 
 while (Math.Pow(-1, n + 1) / (Math.Pow(((2 * n + 1) * x),(2 * n + 1))) < Pog ) 
 { 
 S += Math.Pow(-1, n + 1) / (Math.Pow(((2 * n + 1) * x), (2 * n + 1))); 
 n++; 
 } 
 
 Console.WriteLine(x + " " + z + " " + S); 
 } 
 
 } 
 catch 
 { 
 Console.WriteLine("Ошибка."); 
 } 
 Console.Write("Повторить программу?(Yes/No): "); 
 Vib = Console.ReadLine(); 
 } 
 
 } 
 } 
}

Решение задачи: «Ряды Тейлора. Вычислить и вывести на экран в виде таблицы значения функции»

textual
Листинг программы
for (double x = x1; x <= x2; x += Shag)
{
    double z = Math.Atan(x);
    int n = 0;
    double S=0, sl = Math.PI / 2;
    while (Math.Abs(sl) > Pog)
    {
        S += sl;
        sl = Math.Pow(-1, n + 1) / ((2 * n + 1) * Math.Pow(x, (2 * n + 1)));
        n++;
    }
    Console.WriteLine(x + " " + z + " " + S);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы