Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 2
Регистрация: 02.11.2009
Сообщений: 14
1

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

27.02.2010, 23:09. Просмотров 2684. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2010, 23:09
Ответы с готовыми решениями:

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

Подсчитать сумму членов ряда с точностью до 0.000001
Для ряда, члены которого вычисляются по формуле, подсчитать сумму членов ряда с точностью до...

подсчитать сумму членов ряда с точностью до 0.000001
Для ряда, члены которого вычисляются по приведенной ниже формуле, подсчитать сумму членов ряда с...

Подсчитать сумму членов ряда с точностью до 0.000001
Для ряда, члены которого вычисляются по формуле а=(-1^n)/(n+1), подсчитать сумму членов ряда с...

2
158 / 20 / 3
Регистрация: 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
1 / 1 / 2
Регистрация: 02.11.2009
Сообщений: 14
28.02.2010, 18:01  [ТС] 3
Ой, формулу неправильно написала
(-1^n)*(1- ((n+1)^2)/((n+2)^2))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2010, 18:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Циклы: подсчитать сумму членов ряда с точностью до 0.000001
Для ряда, члены которого вычисляются по формуле ниже, подсчитать сумму членов ряда с точностью до...

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
Как будет выглядеть программа на Си Задания для выполнения Для ряда a_1+a_2 +\cdots+ a_n +...

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

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
вот формула по которому можно ориентироваться: a_n=\left(-1 \right)^n\,\frac{n+1}{n^2+1}


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

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

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