С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
MayaNash
1291 / 460 / 151
Регистрация: 24.08.2011
Сообщений: 2,248
1

Вычисление ряда

19.05.2014, 12:37. Просмотров 833. Ответов 6
Метки нет (Все метки)

Есть ряд, который является разложение формулы (см. приложение).

Есть такая вот программа:
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
41
42
43
44
45
46
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
float F(float tekSlagaemoe, int chisliteli, int znamenateli, float x, float E)
{
    tekSlagaemoe *= -chisliteli*x;
    tekSlagaemoe /= znamenateli;
 
    if (abs(tekSlagaemoe) < E)
        return tekSlagaemoe;
    else
        return tekSlagaemoe + F(tekSlagaemoe, chisliteli + 2, znamenateli + 2, x, E);
}
 
float Tsikl(float x, float E)
{
    float res = x*x, tekSlag = x*x;
    int chisl = 1, znam = 6;
 
    while (abs(tekSlag) >= E)
    {
        tekSlag *= -chisl*x;
        tekSlag /= znam;
        res += tekSlag;
        chisl += 2, znam += 2;
    }
    return res;
}
 
void main()
{
    float E, x;
    setlocale(LC_ALL,"rus");
 
    cout << "Введите точность: ";
    cin >> E;
    cout << "Введите х: ";
    cin >> x;
 
    cout << "С помощью разложения: " << x*x + F(x*x,1,6,x,E) << endl
        << "С помощью контрольной формулы: " << 8/3*(pow(1+x,1.5f) - 1) - 4*x << endl
        << Tsikl(x,E) << endl;
    system("pause");
}
Вопрос, в чем ошибка?
0
Миниатюры
Вычисление ряда  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 12:37
Ответы с готовыми решениями:

Вычисление ряда
Всем доброго время суток. Нужно написать программу для вычисления ряда: 1 +...

Вычисление ряда
Всем доброго время суток. Я новичок в C++ нужно написать программу для...

Вычисление суммы ряда
Вычислить s = sinx/2+sinx^2/4+...+sinx^n/2n #include &lt;iostream&gt; #include...

Вычисление суммы ряда
Считает вроде бы неплохо, но нету близости значений. Есть предположение что не...

Вычисление суммы ряда
Помогите, задали задание написать программу. Пользователь вводит значение 2-х...

6
EnzoMatrix
120 / 120 / 14
Регистрация: 14.03.2009
Сообщений: 462
19.05.2014, 12:56 2
Цитата Сообщение от Керра Посмотреть сообщение
Вопрос, в чем ошибка?
1. в функции F() не корректная проверка на точность, есть мнение что точность считается либо количество иттераций, либо суммой двух слогаемых, но никак не одним
2. в функции Tsikl() я так понимаю должно быть просто вычисление по формуле, без каких-либо загонов с циклами и непонятными числителями и знаменателями, которые там используются на данный момент
0
zss
Модератор
Эксперт С++
7513 / 6869 / 4337
Регистрация: 18.12.2011
Сообщений: 18,185
Завершенные тесты: 1
19.05.2014, 13:48 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
float Tsikl(float x, float E)
{
    float res = x*x, tekSlag = x*x;
    int i=3;
    while (fabs(tekSlag) >= E)
    {
        tekSlag *= -x/(2.*i)*(2.*i-3.);
        res += tekSlag;
        i++;
    }
    return res;
}
0
MayaNash
1291 / 460 / 151
Регистрация: 24.08.2011
Сообщений: 2,248
19.05.2014, 14:56  [ТС] 4
Цитата Сообщение от EnzoMatrix Посмотреть сообщение
в функции Tsikl() я так понимаю должно быть просто вычисление по формуле, без каких-либо загонов с циклами и непонятными числителями и знаменателями, которые там используются на данный момент
почему непонятными? зачем вычислять эти дроби каждый раз по новой, если можно домножать на одно число и делить на одно число?
попробовала изменить точность как вы сказали, но это не помогло - точность стала больше, но все равно результат отличается от того что по формуле.
я спрашивала в разделе математики - там ответили, что ряд действительно является разложением данной формулы.

zss, не сработало
0
EnzoMatrix
120 / 120 / 14
Регистрация: 14.03.2009
Сообщений: 462
19.05.2014, 15:39 5
Цитата Сообщение от Керра Посмотреть сообщение
почему непонятными? зачем вычислять эти дроби каждый раз по новой, если можно домножать на одно число и делить на одно число?
потому что судя по output'у функция Tsikl() используется для вычисления по формуле, а не по сумме ряда, что подразумевает прямое вычисление корня и возведения в степень без сложений и домножений
0
zss
Модератор
Эксперт С++
7513 / 6869 / 4337
Регистрация: 18.12.2011
Сообщений: 18,185
Завершенные тесты: 1
19.05.2014, 15:43 6
Лучший ответ Сообщение было отмечено MayaNash как решение

Решение

Цитата Сообщение от Керра Посмотреть сообщение
не сработало
А как Вы думаете, чему равно 8/3?
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
#include<iostream>
#include <cmath>
using namespace std;
double Tsikl(double x, double E)
{
    double res = x*x, tekSlag = x*x;
    int i=2;
    while (fabs(tekSlag) >= E)
    {
        tekSlag *= -x/(2.*i+2.)*(2.*i-3.);
        res += tekSlag;
        i++;
    }
    return res;
}
int main()
{
    double E, x;
    setlocale(LC_ALL,"rus");
 
    cout << "Введите точность: ";
    cin >> E;
    cout << "Введите х: ";
    cin >> x;
 
    cout << 8./3.*(sqrt(pow(1.+x ,3.))-1.) - 4.*x << endl << Tsikl(x,E) << endl;
    system("pause");
    return 0;
}
1
MayaNash
1291 / 460 / 151
Регистрация: 24.08.2011
Сообщений: 2,248
19.05.2014, 16:22  [ТС] 7
zss, блиииииииииииин постоянно забываю про эти свойства деления... спасибо большое))

Добавлено через 59 секунд
EnzoMatrix, функция Цикл вычисляет не по формуле, а по ряду, но не рекурсивно. я пыталась ею проверить решение.
0
19.05.2014, 16:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2014, 16:22

Вычисление суммы ряда
Есть задание во вложении. Нужно найти значение суммы. Я прописываю...

Вычисление суммы ряда
Пожалуйста помогите написать программу для вычисления суммы ряда sinx=...

Вычисление суммы ряда
ребята помогите решить. составьте пожалуйста код!) б) \sum_{n = 1}^{12} (10n...


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

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

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