Вычислить и вывести на экран значения функции в виде таблицы, заданной с помощью ряда Тейлора - C# (193468)

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace App6
{
    class Program
    {
        static void Main(string[] args)
        {
            int x0, x1, n ,x;
            double f, e, s, i, h;
     Begin: Console.WriteLine("Введите начальное значение интервала");
            x0 = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите конечное значение интервала");
            x1 = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("Введите шаг");
            h = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите точность");
            e = Convert.ToDouble(Console.ReadLine());
            i = x0; s = 0; n = 0; f = 1; s = 0;
            while (Math.Abs(f) > e)
            {
                f = (Math.Pow((-1), n) * Math.Pow(x1, n)) / factorial(n);
                n++;
                s = s + Math.Abs(f);
            }
            x = (int)s;
            char[] ch = x.ToString().ToCharArray(); ;
            int nulls = 3 + ch.Count();
 
            Console.Write("+---" + "+{0," + nulls + ":G}+", "--------");
            Console.WriteLine("---+");
            Console.Write("| x |"+"{0,"+nulls+":N}","summa");
            Console.WriteLine("| n |");
            Console.Write("+---" + "+{0," + nulls + ":N}+", "--------");
            Console.WriteLine("---+");
            while (i < x1)
            {
                n = 0; f = 1; s = 0; 
                while (Math.Abs(f) > e)
                {
                    f = (Math.Pow((-1), n) * Math.Pow(i, n)) / factorial(n);
                    n++;
                    s = s + Math.Abs(f);
                }
                Console.Write("|{0,3:G}",i);
                Console.Write("|{0,"+nulls+":N}|", s  );
                Console.WriteLine("{0,3:G}|", n);
                i = i + h;
            }
            Console.Write("+---" + "+{0," + nulls + ":N}+", "--------");
            Console.WriteLine("---+");
            Console.WriteLine("Для продолжения нажмите - 1, для выхода - любую кнопку");
            if (Console.ReadLine() == "1")
            {
                Console.Clear();
                goto Begin;
            }
        }
        
        private static double factorial(int n)
        {
            if (n <= 1) return (1);
            else return (n * factorial(n - 1));
        }
    }
}

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


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

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

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