Ряды Тейлора. Вычислить и вывести на экран в виде таблицы значения функции - 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д