.NET 4.x Организация Циклов (Ряды Тейлора) - C#

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

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

Нужно вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от x1 до x2 с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. Формула: Код примерно наклипал такой, но почему то выводит не так как надо, что я делаю не так, подскажите?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Lab03._3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите координату хn");
            string q1 = Console.ReadLine();
            double x = double.Parse(q1);
            Console.WriteLine("")
 
            Console.WriteLine("Введите координату хk");
            string q2 = Console.ReadLine();
            double xk = double.Parse(q2);
        Console.WriteLine("")
 
            Console.WriteLine("Введите е");
            string q3 = Console.ReadLine();
            double e = double.Parse(q3);
        Console.WriteLine("")
 
            double n = 0;
            double y = 0;
            double s = 0;
            
            while (x <= xk)
            {
                if ((x >= -1) & (x <= 1))
                    do
                    {
 
                        y = (Math.Pow(-1, n) * Math.Pow(x, n + 1))/(n + 1);
                        s = s + y;
                        Console.WriteLine("При х = {0} y = {1} n = {2}", x, s, n);

                        n = n + 1;
 
                    }
                    while (y >= e);
                    x = x + 1;
                    s = 0;
                    n = 0;
 
            }
        }
    }
}

Решение задачи: «.NET 4.x Организация Циклов (Ряды Тейлора)»

textual
Листинг программы
using System;
 
namespace Lab03._3
{
    public class Program
    {
        public static void Main()
        {
            double x, xk;
            do
            {
                Console.Clear();
                Console.WriteLine("Введите |хn| < 1");
                x = double.Parse(Console.ReadLine());
 
                Console.WriteLine("Введите |хk| < 1");
                xk = double.Parse(Console.ReadLine());
            } while (Math.Abs(x) >= 1 || Math.Abs(xk) >= 1);
 
            if (x > xk)
            {
                double tmp = x;
                x = xk;
                xk = tmp;
            }
 
            Console.WriteLine("Введите е");
            double e = double.Parse(Console.ReadLine());
            
            int n = 0;
            double y = 0;
            double sum = 0;
            double dx = 0.1;
            while (x <= xk)
            {
                do
                {
                    y = (Math.Pow(-1, n) * Math.Pow(x, n + 1)) / (n + 1);
                    sum = sum + y;
                    n++;
                } while (y >= e);
                Console.WriteLine("При х = {0} y = {1} n = {2}", x, sum, n);
                x += dx;
                sum = 0;
                n = 0;
            }
            Console.ReadKey();
        }
    }
}

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


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

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

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