Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41

Вычислить сумму ряда с заданной точностью

08.12.2016, 21:05. Показов 1502. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые программисты, помогите разобраться с заданием.
С точностью ε = 10-5 посчитать: https://www.cyberforum.ru/cgi-bin/latex.cgi?s=1-\frac{x^2+1}{3}+\frac{x^4+1}{5}-...+(-1)^n*\frac{x^(2*n)+1}{2^n+1}, где 0 < х < 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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    float x, r, i, sum;
    const float EPS = pow(10,-5);
    printf("print X: \n");
    scanf_s("%f", &x);
    sum = 0;
    i = 1;
    r= 1;
    while(fabs(r)>EPS)
    {
        sum += r;
        i++;
        r *= pow(-1, i)*(pow(x, 2 * i) + 1) / (pow(2, i) + 1);
    }
    printf("sum = %f\n", sum);
 
    system("PAUSE");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2016, 21:05
Ответы с готовыми решениями:

Вычислить сумму ряда с заданной точностью
Помогите пожалусто написать программу на С++. Условие с заданием прикрепленны ниже, очень нужно, ато я даже не знаю к кому еше...

Вычислить сумму ряда с заданной точностью
1+\frac{xlna}{1!}+({\frac{xlna}{2!})^{2}}...+({\frac{xlna}{n!})^{n}} С точностью 0.05. Спасибо

Вычислить сумму ряда с заданной точностью
работает только при значениях: 0, 1, -1, при остальных значениях не работает. Подскажите пожалуйста в чем проблема. Условие: Даны...

13
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
08.12.2016, 22:23
Juliann, так может:
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
#include <iostream>
#include <cmath>
using namespace std;
 
double element(double x, int n)
    {
        return (pow(x,n)+1)/(pow(2.,n)+1);  
    }
 
int main(int argc, char* argv[])
{
    double x(-1),eps=1e-6;
    while(x<0 || x>1.0)
    {
        cout<<"Eter the x 0 ... 1 value: ";
        cin>>x;
    }
    cout<<endl;
int n=0;
double res=0, elem;
do{
elem=element(x, n);
if(n%2)
res-=elem;
else
res+=element(x, n);
n++;
}while(elem>eps);
cout<<"the summ of "<<n+1<<" elements is equal "<<res<<endl;
 
cout<<endl;
system("pause");
return 0;
}
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
09.12.2016, 18:30  [ТС]
Оно то, может, и так) Спасибо, Вам. Но признаюсь, для меня этот код сложноватый. Я новичок, из всех новичков. Мне бы что-нибудь попроще...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2016, 18:52
Цитата Сообщение от Juliann Посмотреть сообщение
Но признаюсь, для меня этот код сложноватый. Я новичок, из всех новичков. Мне бы что-нибудь попроще..
Ну что Вы Juliann, поверьте - это не сложный код. Чуть позже я его прокомментирую. Просто всё новое кажется сложным. А Вы не паникуйте и пройдите строчку за строчкой. Там всё как в Вашем коде за исключением простого цикла вначале, который не даёт ввести х за пределами диапазона.
Я специально не написал, скажем:
C++
1
2
3
4
5
double element(double x, int n)
    {
        if(!n)return 1;
            return (pow(x,n)+1)/((2<<(n-1))+1); 
    }
чтобы и Вам было легче понять и чтобы не спалить Вас перед преподавателем. Постарайтесь разобрать.
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
09.12.2016, 19:57  [ТС]
Хорошо, IGPIGP, я очень постараюсь разобраться, только Вам придется ответить на кучу вопросов)
Мне не понятна запись с 5 по 8 строчку. Во-первых, почему она стоит до 10 стр., а не после? Во-вторых, что такое element, и зачем return? Может, element мы так называем каждое слагаемое, а потом описываем чему оно равно? Верно я поняла?
Потом в 12 стр. мне не понятно почему х(-1), а не просто х.
И еще. По идее, мы же должны соединить 24 и 26 стр., чтобы не потерять никаких слагаемых... Или как?...
И почему программа не соблюдает точности? После запятой все равно 6 знаков...
А так все понятно
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2016, 20:03
Пусть будет как вы хотите:
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    float x, r, i, sum;
    const float EPS = 10e-5;
    printf("print X: \n");
    scanf_s("%f", &x);
    sum = 0;
    i = 0;
    r= 0;
    do
    {
        r = pow(-1, i)*(pow(x, 2 * i) + 1) / (pow(2, i) + 1);
        sum += r;
        i++;
       
    }while(fabs(r)>EPS);
 
    printf("sum = %f\n", sum);
 
    system("PAUSE");
}
в моей функции ошибочка)
нужно было:
C++
1
2
3
4
5
double element(double x, int n)
    {
        if(!n)return 1;
            return (pow(x,2*n)+1)/(pow(2.,n)+1);    //2*n       
    }
Добавлено через 4 минуты
Цитата Сообщение от Juliann Посмотреть сообщение
Мне не понятна запись с 5 по 8 строчку.
это определение функции - именованной подпрограммы которую можно вызвать из другой функции. Самая первая функция у нас называется main и её имя для нас задано. А из main мы вызываем другие функции. Из других можно вызываеть ещё другие... Если не учили, - забудьте. Я написал без функций (вариант Juliann-2)
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
09.12.2016, 21:34  [ТС]
Большое-большое спасибо Вам!!! Вот с этой программой (Juliann-2) мне все понятно) То, о чем Вы мне говорите, мы наверно будем учить через две-три программы. Мне кажется это касается массивов, да? Вообще, я все изучаю сама, и мне совсем некому объяснять, так что этот форум меня выручает)))
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2016, 21:47
Цитата Сообщение от Juliann Посмотреть сообщение
Мне кажется это касается массивов, да?
Если честно, то не совсем. Имя element мной выбрано на ходу. Мне показалось, что для функции которая считает слагаемое элемент последовательности, это хорошее имя. Дальше - определяем функцию. К имени приделываем возвращаемое значение - это то что расскажет функция тому кто её пошлёт за результатом . Вот так:
double element
То есть в место вызова будет подставлено число дабл. Потом в скобках - параметры. Это корзинки в которые тот кто пошлёт её "в лес" сложит "пирожки", аргументы.
double element(double x, int n)
и потом в фигурных скобках - напутствия. То есть инструкции про то что ей делать, чтобы вернуться с результатом.
А потом из любого места её можно послать. Политкоректные программисты говорят "вызвать". У них всё наоборот потому-что.
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
09.12.2016, 22:41  [ТС]
IGPIGP, спасибо за столь подробное объяснение. Мне тепнрь будет легче разобраться))) Вы все понятно объяснили!
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.12.2016, 23:55
Рад помочь!
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
10.12.2016, 15:05  [ТС]
IGPIGP, а можно в этой теме задать Вам вопрос а другую тему, или так не делается?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.12.2016, 16:15
Цитата Сообщение от Juliann Посмотреть сообщение
IGPIGP, а можно в этой теме задать Вам вопрос а другую тему, или так не делается?
Я не очень понял роль союза "а". Может это междометие отражающее некоторою болезненность вопроса? То есть
Цитата Сообщение от Juliann Посмотреть сообщение
IGPIGP, а можно в этой теме задать Вам вопрос, а (!)?. Другую тему, а? Или так не делается?
a?
Честно говоря не делается. Дело в том, что кто-то набрав в Яндекс или Google или в поиске по форуму :
"вычислить сумму ряда"
может найти нас с Вами. Он увидит, что слагаемое по модулю может характеризовать точность. И что можно вычислить модуль, а потом чередовать знак через одно слагаемое выясняя if(n%2) или использовать тернарную операцию. А можно воспользоваться дажа функцией pow(-1.0, n). Компилятор - животина подневольная.
Он (или она) в виде бонуса, прочтёт историю - IT-квест о красной шапочке, которую добрая main послала с корзинкой аргументов через стек...
А если вопрос будет не о ряде и его сумме, то всё перемешается.
Давайте создадим новую тему, лучше.
Хотя, если вопрос, как-то связан с этим, то и не обязательно. Вам решать.
0
2 / 2 / 0
Регистрация: 04.12.2016
Сообщений: 41
10.12.2016, 18:53  [ТС]
Это должно было быть слово "на"
Я уже создала новую тему " Среди чисел 1, ., n найти такие, запись которых совпадает с последними цифрами записи их квадрата. Например"
Я не могу понять, почему не работает то, что я написала. Выдает всего лишь одну ошибку, а я не знаю как ее исправить.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
10.12.2016, 19:55
Цитата Сообщение от Juliann Посмотреть сообщение
Я не могу понять, почему не работает то, что я написала.
Это нормально. На вопрос "Как понять код который ты сам только что написал?", один из лучших программистов древности ответил "Don't even try!". То есть, - нет смыла и пробовать. Там Вы ставите задачу, которая далеко не по силам. Попробуйте что-то попроще.
Я сейчас туда зайду.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2016, 19:55
Помогаю со студенческими работами здесь

Вычислить сумму ряда с заданной точностью
Дан числовой ряд и некоторое число e. Найти сумму тех членов ряда (n=1,2,3…), модуль которых больше или равен заданному числу e и вывести...

Вычислить сумму ряда с заданной точностью
Написал программу для задачи, но вот цикл в ней правильно работает до определенного момента, помогите найти ошибку, сам уже горю... Ошибка...

Вычислить сумму ряда с заданной точностью
Всем привет. Подскажите, пожалуйста. В чем ошибка. Программа должна считать сумму ряда по формуле s=1+1/23+1/n3 пока модуль разности...

Вычислить сумму ряда с заданной точностью
Здравствуйте, нужно решить задачу Вычислить сумму ряда с заданной степенью точности Е. 1/10+2/100+3/1000+.. язык C++, пожалуйста, кому не...

Вычислить сумму ряда, с заданной точностью
Вот задание Вычислить сумму ряда, с точностью до е = 0,012 , общий член которого An=(1/n)^2e sqrt(n+1) вычислить ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru