Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/31: Рейтинг темы: голосов - 31, средняя оценка - 4.90
 Аватар для Sacrament
4 / 1 / 0
Регистрация: 10.05.2007
Сообщений: 25

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

10.11.2008, 23:29. Показов 6158. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дамы и господа, доброе время суток...трам-трам-там..))

Вообщем, есть следующее задание.

1. Вычислить сумму ряда https://www.cyberforum.ru/cgi-bin/latex.cgi?S_1=\sum_{n=1}^{k}a_n по его первым k членам. Вывести на экран значение S1.
2. Вычислить сумму ряда https://www.cyberforum.ru/cgi-bin/latex.cgi?S_2=\sum_{n=1}^{N\left(\varepsilon  \right)}a_n так, чтобы погрешность вычисления суммы не превышала заданной относительной погрешности https://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon. Для этого можно проверять соотношение абсолютных величин суммы ряда и текущего члена.
Вывести на экран результаты счета, которые включают:
• Номер итерации;
• Величину текущего члена ряда an;
• Величину накопленной суммы ряда S1;
• Достигнутую на текущей итерации погрешность.

Kxhttps://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilonan
90.510-5https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{\left(-1 \right)^{n-1}x^{2n}}{\left(2n \right)!}

У меня возникли проблемы в следующем. Во-первых, выводит какие-то космические числа, n берет от фонаря и приравнивает к 0 х тоже приравнивает к тому же 0. Наверняка код у меня вообще неправильный, но об этом судить уже Вам.

Код для вычисления суммы первого ряда:

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
#include <cmath>
#include<stdio.h>
#include <conio.h>
double factorial (double n)
{
    if (n<=1)
    return 1;
else
    return n*factorial (n-1); //рекурсивна формула
}
int main( void )
{
 
double y,s,u;
    double x=0.5;
    s=0;
    double k;
    double n;
    n=1;k=9;
    printf ("x=%d",x);
do 
{
    y=factorial(2*n);
    u=pow(-1,n-1)*pow(x,2*n)/y;
    s=s+u;
    printf("n=%d\ts=%d\tu=%d\n",n,s,u);
    n=n+1.0;
}
while (n<=k);
getch ();
}
Ошибок не выбивает!

Второй ряд:
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 <cmath>
#include<stdio.h>
#include <conio.h>
double factorial (double n)
{
    if (n<=1)
    return 1;
else
    return n*factorial (n-1); //рекурсивна формула
}
int main( void )
{
 
double y,s,u,eps;
    double x=0.5;
    s=0;
    double k;
    double n;
    n=1;
    k=9;
    eps=1e-05;
    printf ("x=%d,eps=%d",x,eps);
for(n=1; n <= k; n++)
{
    y=factorial(2*n);
    u=pow(-1,n-1)*pow(x,2*n)/y;
    s=s+u;
    printf("n=%d\ts=%d\tu=%d\n",n,s,u);
    
}
getch ();
return 0;
}
Ошибок тоже нету....что делать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2008, 23:29
Ответы с готовыми решениями:

Вычисление членов ряда и суммы ряда в отдельных функциях
Задание: Первый файл содержит программу, вызывающую 2-ю функцию из второго файла и передающую в нее...

Вычисление степени матрицы, вычисления произведения двух матриц, вычисление суммы двух матриц
Здравствуйте, помогите решить, пожалуйста: Заданы две квадратные матрицы А и В. Вычислить матрицу...

Вычисление суммы ряда с заданной погрешностью
народ помогите решить задачку: arctanx=x-x^3/3+x^5/5-...+(-1^n)*(x^(2n+1)/(2n+1))... Численно...

4
1 / 1 / 0
Регистрация: 11.11.2008
Сообщений: 5
11.11.2008, 00:53
Да ё моё. Ошибка банальна. ДЛЯ ВЫВОДА ДРОБНЫХ ЧИСЕЛ ИСПОЛЬЗУЙТЕ %f, А НЕ

%d!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
 Аватар для Sacrament
4 / 1 / 0
Регистрация: 10.05.2007
Сообщений: 25
11.11.2008, 21:27  [ТС]
Нет. Увы, программа совсем неверная. Пока что уровень моей математической подготовки не позволяет мне правильно написать. Мне сказали, что нужно ряд расписать совсем не так, математически преобразовать нужно. А посколько по матанализу я такого еще не учила (как считат ряды)..даже не знаю....ну формула то одно дело...а вот с погрешностью там вообще полный завал, там ведь в пунктах указано как должно выводиться, а у меня совсем не так(( Да, насчет типов данных...там int..

Возможно, кто-нибудь подскажет??
0
1 / 1 / 0
Регистрация: 11.11.2008
Сообщений: 5
12.11.2008, 00:27
всего пара изменений (не считая %f )

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
// struct_copy_test.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>//как вообще работало без math.h ?
double factorial (double n)
{
    if (n<=1)
    return 1;
else
    return n*factorial (n-1); //рекурсивна формула
}
int main( )
{
 
double y,s,u,d,eps;
    double x=0.5;
    s=0;
    double k;
    double n;
    n=1;
    eps=1e-05;
    printf ("x=%f,eps=%f",x,eps);
do//изменил
{
    y=factorial(2*n);
    u=pow(-1,n-1)*pow(x,2*n)/y;
    s=s+u;
    d=fabs(u/s);     //тут появилась погрешность
    printf("n=%f\t u=%f\t s=%f\t d=%f\n",n,u,s,d);
    n++;
    
}while (d>eps); //изменил
getch ();
return 0;
}
1
 Аватар для Sacrament
4 / 1 / 0
Регистрация: 10.05.2007
Сообщений: 25
27.11.2008, 01:32  [ТС]
Спасибо) жаль, что я сюда поздно глянула, поэтому пришлось додуматься самостоятельно)
Разбила на две проги) Первая часть:
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
#include <math.h>
#include<stdio.h>
#include <conio.h>
 
int main( void )
{
int n;
float r, fak, s, k, x, e;
k=(float)9.0; x=(float)0.5; e=(float)0.00005;
n=1;
r=x*x/2;
s=r;
fak=2;
printf ("%i:",n);
printf ("%f\n",r);
while(n<k)
{
    n++;
    fak*=2*n*(2*n-1);
    r*=-x*x/fak;
    s+=r;
    printf ("%i:",n);
    printf ("%f\n",r);
}
printf ("I'm your S:%f",s);
getch();
return 0;
}
А вот так выглядит вторая часть задания:
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 <math.h>
#include<stdio.h>
#include <conio.h>
 
int main( void )
{
    int n;
    float r, fak, s, k, x, e;
    k=(float)9.0; x=(float)0.5; e=(float)0.00005;
    n=1;
    r=x*x/2;
    s=r;
    fak=2;
    printf ("%i:",n);
    printf ("%f\n",r);
    do
    {
        n++;
        fak*=2*n*(2*n-1);
        r*=-x*x/fak;
        s+=r;
        printf ("%i:",n);
        printf ("%f\n",r);
    }
    while(fabs(s*e)<fabs(r));
    printf ("I'm your S:%f",s);
    getch();
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2008, 01:32
Помогаю со студенческими работами здесь

Вычисление суммы бесконечного ряда с точностью эпсилон
Работает но выдает ошибку. если возможно подскажите. условие запрограммировать вычисление суммы...

Вычисление суммы ряда.
Помогите, пожалйста!!! Вычислить сумму бесконечного ряда Y=(fabs)ak, где а=-0,1(аk-1+аk+1) при...

Точное вычисление суммы ряда
Необходимо вычислить сумму ряда 1/1+1/2+...+1/n. Известно, что в с++ подобные вычисления не точные...

Вычисление суммы ряда
Здравствуйте,уважаемые форумчане. Помогите пожалуйста с написанем программы) Задание...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru