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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2018, 12:47   #1
Apathy123
Новичок
Джуниор
 
Регистрация: 17.01.2018
Сообщений: 7
По умолчанию Вычислить бесконечную сумму ряда с заданной точностью е (e>0)

Условие задачи: Вычислить бесконечную сумму ряда с заданной точностью е (e>0).
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            double sum, i, eps = 0, sl;
            Console.WriteLine("Введите точность: ");
            try
            {
                eps = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Некорректный ввод!");
            }
            if (eps > 0)
            {
                sum = 0;
                i = 1;
                sl = 1 / (i * i);
                while (sl > eps)
                {
                    sum += sl;
                    i++;
                    sl = 1 / (i * i);
                }
                Console.WriteLine("Сумма ряда = " + sum);
            }
            else
            {
                Console.WriteLine("Введите e больше нуля!");
            }
            Console.ReadLine();
        }
    }
}
Ребят правильно ли сделана задача или нет? и что надо изменить пропишите по подробнее, заранее спасибо
Изображения
Тип файла: png Безымянный.png (3.1 Кб, 665 просмотров)
Apathy123 вне форума Ответить с цитированием
Старый 17.01.2018, 12:59   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

По хорошему член ряда, который меньше заявленной точности тоже нужно в сумму засунуть, а у тебя сразу выход из цикла. И если что для знакопостоянного ряда такой подход к точности не с той оперы, хотя для учебной задачи наверно и прокатит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.01.2018, 14:22   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А разве точность нужно считать не вычитая из текущего предыдущее? И когда разница будет меньше епсилон то на выход.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 17.01.2018, 14:52   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
А разве точность нужно считать не вычитая из текущего предыдущее? И когда разница будет меньше епсилон то на выход.
нет. это не верно.

http://mathprofi.ru/priblizhennye_vy...ju_ryadov.html
Цитата:
Сколько членов ряда следует просуммировать для достижения требуемой точности? Для сходящихся знакочередующихся рядов справедлив следующий критерий: члены следует суммировать до тех пор, пока они по модулю больше заданной точности. Первый же меньший вместе со всем «хвостом» подлежит утилизации. В данном примере таковым является 4-й член: , поэтому:
p.s. ну и если подумать. допустим, у нас МЕДЛЕННО сходящийся ряд.
первый член ряда 10 второй 9.99998 третий 9.99996 и т.д.
мы хотим найти сумму ряда с точностью 0.001
что, уже третий, чётвёртый, пятый и т.д. члены ряда нас не интересуют?
а ничего, что каждый из них даёт прибавку почти равную 10 ?
тогда вы получите результат 19.99999
на на самом деле результат ряда = 2500004.9744
ничего себе погрешность, да?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.01.2018, 14:26   #5
Apathy123
Новичок
Джуниор
 
Регистрация: 17.01.2018
Сообщений: 7
По умолчанию Вычислить бесконечную сумму ряда

Ребят, снова нужна помощь по данной задаче.
Вообщем проблема теперь такова, как мне объяснили нужно чтобы сумма ряда была такой, т.е грубо говоря вводим формулу и по этой формуле как должно всё происходить допустим у нас есть число 1/1^2, 1/2^2, 1/3^2, 1/4^2, 1/5^2.... и так далее.. и получается у нас будет так что считает что 1 , 1/2, 1/9, 1/16, 1/25 вообщем надо было так чтобы например между 1/16 и 1/25 надо чтобы они были < E (эпсилон)...
И поэтому приходится переделывать программу, и как так сделать... помогите пожалуйста дописать код. Заранее спасибо
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
 
        static void Main(string[] args)
        {
            double sum, i, eps = 0, sl;
            Console.WriteLine("Введите точность: ");
            try
            {
                eps = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Некорректный ввод!");
            }
            if (eps > 0)
            {
                sum = 0;
                i = 1;
                sl = 1 / (i * i);
                while (sl > eps)
                {
                    sum += sl;
                    i++;
                    sl = 1 / (i * i);
                }
                Console.WriteLine("Сумма ряда = " + sum);
            }
            else
            {
                Console.WriteLine("Введите e больше нуля!");
            }
            Console.ReadLine();
        }
    }
}
Изображения
Тип файла: png Безымянный.png (2.1 Кб, 630 просмотров)
Apathy123 вне форума Ответить с цитированием
Старый 19.01.2018, 15:16   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Apathy123 Посмотреть сообщение
Ребят, снова нужна помощь по данной задаче.
перенёс ваше сообщение в вашу прежнюю тему. незачем плодить одинаковые темы!


Цитата:
Сообщение от Apathy123 Посмотреть сообщение
и получается у нас будет так что считает что 1 , 1/2, 1/9, 1/16, 1/25 вообщем надо было так чтобы например между 1/16 и 1/25 надо чтобы они были < E (эпсилон)...
И поэтому приходится переделывать программу
я не понял, что Вам нужно сделать и что Вы в программе переделываете?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.01.2018, 15:19   #7
Apathy123
Новичок
Джуниор
 
Регистрация: 17.01.2018
Сообщений: 7
По умолчанию

есть формула.... по ней происходят вычисления как я приводил выше.... далее нам итог нужен такой чтобы например сравнивались эти числа которые я выше писал... так чтобы они были < E (меньше Эпсилон, который вводится с клавиатуры) через цикл while там как-то надо....
Apathy123 вне форума Ответить с цитированием
Старый 19.01.2018, 15:21   #8
Apathy123
Новичок
Джуниор
 
Регистрация: 17.01.2018
Сообщений: 7
По умолчанию

Сравнивание чисел может быть любым, главное чтобы они были меньше эпсилон < E
Apathy123 вне форума Ответить с цитированием
Старый 19.01.2018, 16:37   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Apathy123 Посмотреть сообщение
Сравнивание чисел может быть любым, главное чтобы они были меньше эпсилон < E
так в коде так и написано:

Цитата:
Сообщение от Apathy123 Посмотреть сообщение
Код:
while (sl > eps)
пока члены ряда больше, чем точность, выполнять цикл.

что не так?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.01.2018, 20:01   #10
Apathy123
Новичок
Джуниор
 
Регистрация: 17.01.2018
Сообщений: 7
По умолчанию

Наоборот чтобы эти члены ряда должны были меньше эпсилон
Apathy123 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C] Вычислить сумму ряда с заданной точностью Darya123 Помощь студентам 1 28.12.2017 09:49
Вычислить сумму ряда с заданной точностью: 35091_stasi Помощь студентам 2 29.10.2013 22:18
Вычислить бесконечную сумму с заданной точностью, используя рекуррентные зависимости. East Undia Trading Помощь студентам 0 13.10.2013 21:25
Вычислить сумму ряда с заданной точностью Tecknogleb Помощь студентам 1 20.10.2012 03:03
найти бесконечную сумму ряда с заданной точностью логарифм Паскаль, Turbo Pascal, PascalABC.NET 1 23.07.2009 07:17