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

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

Войти
Регистрация
Восстановить пароль
 
 
landan
7 / 7 / 0
Регистрация: 07.07.2010
Сообщений: 157
#1

Вычисления функции - C++

25.09.2010, 19:13. Просмотров 778. Ответов 17
Метки нет (Все метки)

Помогите написать программу.

Задание: оформить в виде программы вычисления функции
e ^ x = 1 + x + x ^ 2 / 2! + x ^ 3 / 3 !+...
и сравнить полученный результат со значением, полученным при использовании стандартной функции EXP (X), для х = 2.3; 8.5.
Как я понял, тут нужно использовать рекурсию и процедуры?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 19:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисления функции (C++):

Составить блок-схему, алгоритм вычисления и программу для вычисления значения кусочно заданной функции - C++
помогите пожалуйста =) заранее благодарен =) П.5.19.Правил Запрещено создавать темы в виде ссылок на задания или коды программ,...

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

Составить функции вычисления определённого интеграла от функции f(x) - C++
Составить функции вычисления определённого интеграла от функции f(x) с использованием формул (Рис1). С применением этих формул вычислить...

вычисления функции y=f(x) - C++
Создать проект программы на алгоритмическом языке С++, вычисления функции y=f(x)

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

Программа вычисления функции - C++
Составить программу вычисления функции

17
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
25.09.2010, 19:22 #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
#include <cstdio>
#include <cmath>
 
using std::printf;
 
#define PRECISION 1e-4
 
//exp(x) = 1 + x + (x^2)/2!+(x^3)/3!....+(x^n)/n!+.....
 
double _exp( const double x ){
    double dVal, dTemp;
    int nStep = 1;
    for( dVal = 1.0, dTemp = 1.0; dTemp >= PRECISION ; ++nStep ){
        dTemp *= x/nStep;
        dVal += dTemp;
    }
    return dVal;
}
 
int main(){
    double x;
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x = 2.3, _exp( x ), _exp( x) - std::exp( x ) );
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x = 8.5, _exp( x ), _exp( x) - std::exp( x ) );
    return 0;
}
точность можно увеличить уменьшая PRECISION
1
landan
7 / 7 / 0
Регистрация: 07.07.2010
Сообщений: 157
25.09.2010, 21:06  [ТС] #3
alex_x_x, при выполнении ничего не происходит, копмилятор dev c++
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
25.09.2010, 21:17 #4
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
#include <cstdio>
#include <cmath>
 
using std::printf;
 
#define PRECISION 1e-4
 
//exp(x) = 1 + x + (x^2)/2!+(x^3)/3!....+(x^n)/n!+.....
 
double _exp( const double x ){
    double dVal, dTemp;
    int nStep = 1;
    for( dVal = 1.0, dTemp = 1.0; dTemp >= PRECISION ; ++nStep ){
        dTemp *= x/nStep;
        dVal += dTemp;
    }
    return dVal;
}
 
int main(){
    double x = 2.3;
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
    x = 8.5;
    printf( "exp(%f) = %3.10f, prec = %3.10f\n", x, _exp( x ), _exp( x) - std::exp( x ) );
    system("pause");
    return 0;
}
gcc вроде должен компилировать

http://codepad.org/Gs68wVQ1
1
landan
7 / 7 / 0
Регистрация: 07.07.2010
Сообщений: 157
04.10.2010, 15:30  [ТС] #5
как сделать это задание при помощи рекурсии?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
04.10.2010, 15:32 #6
а это она и есть
0
landan
7 / 7 / 0
Регистрация: 07.07.2010
Сообщений: 157
04.10.2010, 16:03  [ТС] #7
тогда можно другим способом, используя функции?
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 16:22 #8
KuKu, Интересно, где тут углядели рекурсию...
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 17:10 #9
silent_1991,
Цитата Сообщение от KuKu Посмотреть сообщение
а это она и есть
Я вот об этом.
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
04.10.2010, 17:18 #10
dTemp *= x/nStep;
вуаля.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 17:19 #11
KuKu, Ага. А теперь в гугл, дабы узнать что такое рекурсия.
Рекурсия
В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
04.10.2010, 17:24 #12
Реку́рсия — метод определения класса объектов или методов предварительным заданием одного или нескольких (обычно простых) его базовых случаев или методов, а затем заданием на их основе правила построения определяемого класса или метода, ссылающегося прямо или косвенно на эти базовые случаи.
- википедия. Не вижу противоречий: задание начальных значений и правила.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
04.10.2010, 17:25 #13
KuKu, Вообщем, это сомнительно можно назвать рекурсией. А точнее все же нельзя. В таком случае.

C++
1
2
3
4
5
int a=5;
for(int i=1, j=1; i<n, j<n; ++i,++j)
{
     a*=i*j;
}
Тоже рекурсия?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
04.10.2010, 17:27 #14
Рекурсия - это понятие вообще, а не только програмированния. Но тут возможно вы правы, что надо именно это.
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
04.10.2010, 17:27 #15
KuKu,
Или, если по этому определению, где ссылка (прямо или косвенно) на базовый случай (в данном случае на саму функцию)?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2010, 17:27
Привет! Вот еще темы с ответами:

Программа вычисления функции... - C++
Всем привет=) Подскажите пож. где ошибка... Вот мое решение: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Алгоритм вычисления функции - C++
Помогите пожалуйста, составить алгоритм вычисления функции: P.S. очень извиняюсь за картинку вместо текста, но не знаю как это правильно...

Программа вычисления функции на C++ - C++
Пожалуйста помогите с решением задачи (Вариант 5) В случае если не видно пример V=((x-a)/(a^(2)+y))*Ln((Sqrt(a+ln(x))/(x^(0,5)-1,7) ...

Написать программу вычисления функции - C++
Написать программу вычисления функции: \sqrt{tg({x}^{-1})} при x&lt;0 -2x при 0 &lt;=x &lt;=4 есоs x при x&gt;4


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

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

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