Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 26.10.2013
Сообщений: 104
1

Вычислить значение выражения с помощью рекурсивной функции

28.03.2014, 14:03. Просмотров 1543. Ответов 1
Метки нет (Все метки)

S=ln(1+a)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2014, 14:03
Ответы с готовыми решениями:

Вычислить значение выражения с помощью рекурсивной функции
Есть условие: нужно вычислить значение выражения типа V1+V2+Vn, с помощью рекурсивной функции. ...

С помощью рекурсивной функции вычислить сумму
Дано натуральное n, действительные a1,a2,...,an.С помощью рекурсивной функции вычислить сумму...

С помощью рекурсивной функции вычислить сумму элементов одномерного массива
С помощью рекурсивной функции вычислить сумму элементов одномерного массива. Есть примеры но...

С помощью рекурсивной функции вычислить значение выражения
С помощью рекурсивной функции вычислить x^n по формуле: x^n=1 при n=1, x^n=1/x^|n| при n<0, ...

1
186 / 167 / 107
Регистрация: 15.03.2014
Сообщений: 359
28.03.2014, 19:42 2
Есть ряд Тейлора для данного выражения, который сходится только при -1 < a <= 1, соответственно и вычислять значение выражения с помощью данного ряда можно только когда число a входит в данный диапазон.
https://www.cyberforum.ru/cgi-bin/latex.cgi?ln\left( 1 + a \right) = x - \frac{{x}^{2}}{2} + \frac{{x}^{3}}{3} - \frac{{x}^{4}}{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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define EPS 0.0000001 // точность вычисления
//
// рекурсивная функция вычисления
double calc_ln( const double a, const double eps );
 
int main( void ) {
 
    double a;
    printf( "Введите a " );
    scanf( "%lf", &a );
 
    // проверяем входит ли в нужный нам диапазон число a
    if ( a > 1 || a <= -1 ) { // если нет, то сообщаем пользователю
        fprintf( stderr, "Число должно быть в диапазоне -1 < a <= 1\n" );
        return EXIT_FAILURE; // выходим из программы
    }
 
    // иначе все в порядке - вычисляем значение и выводим на экран
    printf( "Ln( 1 + %g ) = %.10f\n", a, calc_ln( a, EPS ) );
 
    return EXIT_SUCCESS;
}
 
double calc_ln( const double a, const double eps ) {
    // для текущего элемента ряда
    static double curr = 1.0; // числитель
    static int i = 1; // знаментатель
 
    // вычисляем
    curr *= a; // числитель
    double curr_elem = curr / i++; // знаменатель
 
    // проверяем достигнута ли необходимая точность
    // если да, то прерываем рекурсию возвращая текущий элемент ряда
    // иначе вычисляем следующий элемент ряда и суммируем его с текущим
    return fabs( curr_elem ) <= eps ? curr_elem : curr_elem + calc_ln( a, eps ) * -1;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2014, 19:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Помогите вычислить значение выражения с помощью функции...
Помогите вычислить коротко с помощью функции. Слаб в этих дробях многоэтажных.

Вычислить значение выражения с помощью подпрограммы-функции
Даны действительные числа s, t. Получить f (t-2s, s + 1.2t) + f (t, st + 2.5), где f (a, b) = ab /...

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

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

С помощью рекурсивной функции вывести значение функции sin(x) от А до B включая с шагом step
Дан прототип функции void print_tab (float A, float B, float step) Как с помощью рекурсии...

С помощью рекурсивной функции вычислить сумму элементов одномерного массива
С помощью рекурсивной функции вычислить сумму элементов одномерного массива,помогите...


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

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

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