Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 21:12   #1
PROkaZZZniK
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 121
По умолчанию Ошибка в подсчетах

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("ряд тэйлора |X|<1   Xn <= Xk ");// заголовок
            Console.Write("введите N=>");
            int N = Convert.ToInt32(Console.ReadLine()); // ограничения цикла
            Console.Write("введите E=>");
            double E = Convert.ToDouble(Console.ReadLine());// точность(эталон)
            Console.Write("введите начальное значене Xn=>");
            double Xn = Convert.ToDouble(Console.ReadLine());
            Console.Write("введите конечное значение Xk=>");
            double Xk = Convert.ToDouble(Console.ReadLine());
            Console.Write("введите шаг dX=>");
            double dX = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("_______________________________________________");
            Console.WriteLine("|    x  |    y    |       N      |    Эталон  |");
            Console.WriteLine("|_______|_________|______________|____________|");

            for (; Xn <= Xk; Xn += dX)
            {
                bool Done = true;
                double curSer = 1; // текущий элемент ряда
                double Y = 0;
                int i = 1; // счётчик ряда
                {
                    while (Math.Abs(curSer) > E)
                    {

                        curSer = (((2 * i - 1) * Math.Pow(Xn, 2 * i + 1)) / 2 * i * (2 * i + 1));
                        Y += curSer;
                        if (i > N) { Done = false; break; }
                        i++;
                    }

                    Y *= 2;

                    if (Done)
                    {
                        Console.WriteLine("| {0:f}  |{1:F4} |  {2:d}    |  {3:F4}    |", Xn, Y, i, Math.Asin(Xn)); Console.WriteLine("|_______|_________|______________|____________|");
                    }
                    else
                    {
                        Console.WriteLine("| {0:f}  | {1:F4} |ряд расходится|  {2:F4}    |", Xn, Y, Math.Asin(Xn));
                    }
                }
            }
        }
    }
}
вот код в результате Y должно равняться эталону, но у меня почему-то они неверны, ошибка в подсчетах помогите пожалуйста

Последний раз редактировалось PROkaZZZniK; 24.11.2011 в 21:12. Причина: опечатка
PROkaZZZniK вне форума Ответить с цитированием
Старый 24.11.2011, 22:23   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

В соответствии с какой формулой считаете?
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 25.11.2011, 18:21   #3
PROkaZZZniK
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Sweta Посмотреть сообщение
В соответствии с какой формулой считаете?
вот задание
Изображения
Тип файла: jpg Безымянный.jpg (10.7 Кб, 138 просмотров)
PROkaZZZniK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
-NaN при подсчетах что это?? kostya2 Общие вопросы C/C++ 4 07.05.2009 17:56