Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ряд тейлора 
:(
    Опции темы
Oektann
Дата 8.4.2012, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.4.2012

Репутация: нет
Всего: нет



Такая задача :
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хн до хк с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
user posted image
Мое решение: 
                            Console.Clear();
                            int c = 0;
                            double y = 0; 
                            double x1=0;
                            double x2=0;
                            double dx=0;
                            double e = 0;
                            double d = 0;
                            int f = 1;
                            int l = 0;
                            bool u = true;
                            double bufy = 0;
                            bool o = true;
                            while (o)
                            {
                                try
                                {
                                    o = false;
                                    Console.Write("Введите х начальное ");
                                    x1 = Convert.ToDouble(Console.ReadLine());
                                    Console.Write("Введите х конечное ");
                                    x2 = Convert.ToDouble(Console.ReadLine());
                                    Console.Write("Введите шаг ");
                                    dx = Convert.ToDouble(Console.ReadLine());
                                    Console.Write("Введите точность ");
                                    e = Convert.ToDouble(Console.ReadLine());
                                }
                                catch
                                {
                                    o = true;
                                    Console.Clear();
                                    Console.WriteLine("Ошибка ввода");
                                }
                            }
                            Console.WriteLine("Таблица значений");
                            Console.WriteLine("---------------------------");
                            Console.WriteLine("   x   |      y      |   k   ");
                            Console.WriteLine("---------------------------");
                            for (int i = 1; x1 <= x2; i++)
                            {                               
                                c = 0;
                                l=1;
                                y = 0;
                                d = 0;
                                f = 1;
                                u = true;
                                for (int n = 0; u; n++)
                                {
                                    bufy =(l*(Math.Pow(x1,2*n))) / f;
                                    y = y + bufy;
                                    if (Math.Abs(bufy) < e) u = false;
                                    d = bufy;
                                    c++;
                                    f = f * c;
                                    l = l * -1;
                                    y = Math.Round(y, 5);  
                                }
                                Console.Write("|{0,5} ",x1);
                                Console.Write("|{0,13}|",y); 
                                Console.WriteLine(" {0,3}",c);
                                x1 = x1 + dx;
                            }
                            Console.ReadKey();
Выдает 2 значения и зацикливается. Думаю условие выхода не верно, но никак не могу придумать другое. Помогите пожалуйста.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.