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

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

Войти
Регистрация
Восстановить пароль
 
term1
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 65
#1

Вычисление суммы ряда, перевести код с Pascal - C++

10.10.2012, 12:41. Просмотров 519. Ответов 6
Метки нет (Все метки)

Вычисление суммы ряда оформить в виде процедуры с параметром (в качестве параметра использовать количество слагаемых m). Проверить правильность вычисления. Значения слева и справа должны быть равными. На экран вывести значение выражения слева, значение выражения справа и количество просуммированных членов ряда.

http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \ldots + \frac{(-1)^{m-1} \cdot x^{2 m-1}}{(2 m - 1)!}, \qquad \qquad m = 1, 2, \ldots
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Uses Crt;
var
m:integer;
s,x:real;
procedure sum(x:real; m:integer; var s:real);
 var
 xn:=real;
  k:integer;
   begin
    s:=x;
     xn:=x;
    for k:=1 to m do begin
      xn:=-xn*sqr(x)/((2*k+1)*2*k); 
        s:=s+xn;   
       end;
      end;
begin
Clrscr;
readln(x,m);
sum(x,m,s)
writeln(m,' ',sin(x):0:5,' ',s:0:5);
readln;
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2012, 12:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление суммы ряда, перевести код с Pascal (C++):

Перевести с Pascal на C++. Вычисление суммы (произведения) конечного ряда. - C++
Программа вычисления суммы (произведения) конечного ряда. При разработке программы предусмотреть пропуск слагаемых (множителей), равных...

Перевод из Pascal в С++ (вычисление суммы ряда) - C++
var x, px, f, s: real; i, n: integer; begin WriteLn('Введите количество суммируемых членов: '); ReadLn(n); ...

Вычисление суммы ряда - C++
Есть задание во вложении. Нужно найти значение суммы. Я прописываю библиотеки. Мне нужен весь код. Причем делал через if&else....

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

Вычисление суммы ряда - C++
Народ, помогите пожалуйста. Всё это сделать нужно на обычном си Три программы: 1) Вычисление функции и с помощью стандартных...

Вычисление суммы ряда - C++
Считает вроде бы неплохо, но нету близости значений. Есть предположение что не верно. Программа вычисление значения суммы ряда. S(x) = 1...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
10.10.2012, 13:13 #2
Цитата Сообщение от term1 Посмотреть сообщение
Проверить правильность вычисления
Чтобы проверить правильность вычисления, нужно эталонное значение и точность. В качестве эталона можно взять результат вычисления библиотечной функции, но вот откуда брать точность?
0
term1
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 65
10.10.2012, 13:16  [ТС] #3
помогите перевести прогу паскаль в си!
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
10.10.2012, 13:34 #4
term1, ты мое сообщение прочитал?

А вообще, вот достаточно эффективный способ вычисления синуса через разложение в ряд Тейлора:

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
47
48
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
 
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif /* M_PI */
 
double taylor_sin(double x)
{
    static const double coeffs[] = {
        -0.16666666666666665052e+0,
        0.83333333333331650314e-2,
        -0.19841269841201840457e-3,
        0.27557319210152756119e-5,
        -0.25052106798274584544e-7,
        0.16058936490371589114e-9,
        -0.76429178068910467734e-12,
        0.27204790957888846175e-14,
    };
    static const size_t num_coeffs = sizeof coeffs / sizeof *coeffs;
    double sum, x_2, multiplier;
    size_t i;
 
    x = fmod(x, 2 * M_PI);
    sum = x;
    x_2 = x * x;
    multiplier = x * x_2;
 
    for(i = 0; i < num_coeffs; ++i)
    {
        sum += multiplier * coeffs[i];
        multiplier *= x_2;
    }
 
    return sum;
}
 
int main(void)
{
    double x;
    printf("Enter a number: ");
    fflush(stdout);
    scanf("%lf", &x);
    printf("sin %.5f = %.5f\ttaylor_sin %.5f = %.5f\n",
           x, sin(x), x, taylor_sin(x));
    exit(EXIT_SUCCESS);
}
0
term1
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 65
10.10.2012, 13:36  [ТС] #5
короче такое задание (не используя стандарные функции ( за исключение abs) вычислить сумму следующего ряда с заданной точностью E>0 (E,x,a вводятся с клавиатуры) а пример
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \ldots + \frac{(-1)^{m-1} \cdot x^{2 m-1}}{(2 m - 1)!}, \qquad \qquad m = 1, 2, \ldots
надо написать прогу на си ++
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
10.10.2012, 13:37 #6
Цитата Сообщение от term1 Посмотреть сообщение
надо написать прогу на си ++
term1, так на С или на С++?
0
term1
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 65
10.10.2012, 13:45  [ТС] #7
с++ помоги пожалуйста!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2012, 13:45
Привет! Вот еще темы с ответами:

Вычисление суммы ряда - C++
Помогите решить вот эту задачку. Не могу разобраться с факториалом и как его здесь использовать. Переделывал код постоянно и от этого...

Вычисление суммы ряда - C++
Помогите решить задачку!!! Спросить у пользователя n, вычислить 1*2+2*3+...+(n-1)*n!!!

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

Вычисление суммы ряда - C++
Привет всем) Задачу и формулы надо переписывать! Редактор формул внизу страницы. Дана такая формула: Всё вроде ничего, но не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.10.2012, 13:45
Ответ Создать тему
Опции темы

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