Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Execotryx
1 / 1 / 0
Регистрация: 02.11.2009
Сообщений: 14
#1

Подсчитать сумму членов ряда с точностью до 0.000001 - C++

27.02.2010, 23:09. Просмотров 1444. Ответов 2
Метки нет (Все метки)

Проверьте, пожалуйста, два кода для одного задания:

Задание: Для ряда, члены которого вычисляются по формуле, соответствующей Вашему индивидуальному заданию, подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда. Если Вы считаете это необходимым, можете упростить или преобразовать выражение.

формула: (-1^n)*( ((n+1)^2)/((n+2)^2))

Код 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
void main()
 
{
clrscr();
 
const float eps = 1e-6;                      // eps - the number, which determines the limit of precise
float a, b, c, sum, sum10;                   // variables for groupping of equialence and adding
for (int i; fabs(a) <= eps; i++)                 // this cycle will initiate the counting of all numbers,                                       //which are don`t exceed the "eps". 
    {
    c= pow ( (i+1), 2 );                    // division
    b= pow ( (i+2), 2 );                    // divider
    a= pow (-1,i) * ( 1-(c/b) );                            // equialence
    sum += a;                                               // adding to summ
    cout << i <<" iterations" << endl;          // the full amount of iterations
    }
for (int n = 0; n != 10; n++)                   // this cycle will initiate the counting of 10 numbers
    {
        c= pow ( (n+1), 2 );                // almost similiar to one above, but without checking on limit exceeding
        b= pow ( (n+2), 2 );
        a= pow (-1,n)*( 1-(c/b) );
        sum10 += a;
    }
 
cout<<"-------------------------------------------" << endl;
cout<< sum <<" - this is summ of "<<i<<" numbers" << endl;
cout<<"-------------------------------------------" << endl;
cout<< sum10 <<" - this is summ of "<<n<<" numbers" << endl;
getch();
}
Код 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <conio.h>
#include <iostream.h>
#include <math.h>
int main(void)
 
{
 clrscr();
 
 long n;                            /* параметр ряда */
 double dbln;                       /* параметр ряда в форме с плавающей точкой */
 double sum=0;                      /* сумма членов ряда */
 double term;                       /* значение текущего члена */
 const double eps=0.000001;             /* предел точности */
 long k2=1;                         /* pow(2,n)*/
 short k1=1;                        /* pow(-1,n)*/
                        /* основной цикл; в модификациях вычисляются
                        следующие значения pow(2,n) и pow(-1,n)*/
   for (n=0; ; n++, k2*=2, k1=-k1)
   {
                        /* преобразование n в форму с плавающей точкой */
    // dbln=n;
                        /* вычисление очередного члена */
     term=pow(k1,n)*(1-(pow ((n+1),2))/(pow((n+2),2)));
                        /* проверка достижения предела точности */
     if (fabs(term)>=eps)
                        /* если не достигнут - накопление суммы */
    sum+=term;
                        /* если достигнут - выход из цикла */
     else break;
                        /* если 10 членов - вывод суммы */
     if (n==9)
    cout<<"‘Сумма 10 чисел* = \n"<<sum;
     }
                        /* конец основного цикла */
                        /* вывод окончательной суммы */
   cout<<"Полная сумма* "<<n<<" чисел"« = \n"<<sum;
  getch();
  return 0;
}
                            /* конец программы */
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2010, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать сумму членов ряда с точностью до 0.000001 (C++):

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда - C++
Добавлено через 10 часов 32 минуты Для ряда, члены которого вычисляются по формуле, соответствующей Вашему индивидуальному заданию,...

Подсчитать сумму членов ряда - C++
Для ряда, члены которого вычисляются по формуле, соответствующей Вашему индивидуальному заданию, подсчитать сумму членов ряда с точностью...

Подсчитать сумму ряда с введенной точностью ε и количество выполненных итераций - C++
Не получается найти количество выполненных итераций. Подскажите, пожалуйста, где тут ошибка ?# include &lt;iostream&gt; #include &lt;cmath&gt; ...

Найти сумму ряда с заданной точностью, если дан общий член ряда - C++
Найти сумму ряда с точностью Е=-4 (0.0001) общий член которого n=n*-n2 (n kvadrat)... Надо написать программу, т.е текст..на языке Си...

Найти сумму ряда с точностью до члена ряда - C++
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для...

Найти сумму ряда с точностью до члена ряда - C++
Помогите пожалуйста с задачей , вот условие Найти сумму ряда с точностью до члена ряда, меньшего ε(0.0001) для заданного значения и...

2
Amarted
157 / 19 / 2
Регистрация: 26.02.2010
Сообщений: 56
28.02.2010, 06:04 #2
Код 1
По поводу результата сказать не могу, т.к. незнаю какой он должен быть, т.к. не шарю эти членоряды всякие. Но по коду следущее
строка 11 переменным не присвоены начальные значения, там хлам всякий хранится.
строка 12 не задано начальное значение i.
строка 16 зачем (с/b) вычитать из единицы? судя по формуле это делать не нужно?
если присвоить i 0 то цикл выполнится 1 раз... мне кажется условие не верное наверное.
cout << i <<" iterations" << endl; как я понимаю должно выводить общее количество итераций, так что идти оно должно после строки 19 вне цикла

код 2
строка 26 (fabs(term)>=eps) это ли не зацикливание, или я ошибаюсь?
0
Execotryx
1 / 1 / 0
Регистрация: 02.11.2009
Сообщений: 14
28.02.2010, 18:01  [ТС] #3
Ой, формулу неправильно написала
(-1^n)*(1- ((n+1)^2)/((n+2)^2))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2010, 18:01
Привет! Вот еще темы с ответами:

Определить количество членов ряда, необходимых для вычисления числа Пи с заданной точностью ε по формуле - C++
Помогите, пожалуйста, нужно определить количество членов ряда, необходимых для вычисления числа Пи с заданной точностью ε по...

определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда: - C++
определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда: 1-1/3+1/5-1/7+…..: (-1)^N/(2*N+1);...

Нужно подсчитать ряд с точностью до эпселон используя интегральный признак сходимости ряда - C++
Нужно подсчитать ряд с точностью до эпселон используя интегральный признак сходимости ряда. Ряд: сумма по к от 1 до бесконечности...

Найти сумму 15 членов ряда - C++
Найти сумму 15 членов ряда, в котором {a}_{n}=\frac{{n}^{lnn}}{{(lnn)}^{n}} Заранее спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru