Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Wit
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 3
1

Вычислить с точностью до Е

10.01.2013, 10:19. Просмотров 1078. Ответов 6
Метки нет (Все метки)

Вычислить с точностью до Е (разность между найденным и предыдущим значением) меньше Е.
1) y=cos(1+cos(2+...+cos(39+cos(40) )))
2) y=sqrt(1+sqrt(1+sqrt(1+...)))

Помогите пожалуйста написать программу.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 10:19
Ответы с готовыми решениями:

Вычислить по формуле. ВЫчислить с заданной точностью
http://i22.***********/big/2011/0607/04/8a2c677b4bf24ec8e8fb7be0ee571804.jpg задание 6-7

Вычислить с точностью e=0.0001
Помогите решить пожалуйста задание 9.2 извиняюсь за картинку ((( помогите 🙏🙏🙏 П.5.18.Правил ...

Вычислить с заданной точностью
http://i22.***********/big/2011/0607/95/02db2277e85b5a1d8e82919de7293995.jpg

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

Вычислить с заданной точностью
http://i22.***********/big/2011/0601/8d/84cf869eff0c96b2050336fb680d608d.jpg

6
-=ЮрА=-
Заблокирован
Автор FAQ
10.01.2013, 10:54 2
Wit, без рекурсии в этом задании не обойтись. Вот код для косинуса, корень по аналогии
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 <cmath>
#include <iostream>
using namespace std;
 
double DEG = asin(1.0)/180;
 
double RekursCos(int n)
{
    double res = 1 + cos(n*DEG);
    if(n - 1)
        res += cos(1 + RekursCos(n - 1));
    return res;
}
 
int main()
{
    double e;
    double dif;
    cout<<"Enter acuracy E : ";cin>>e;
    int n = 1;
    double previos = 0;
    double current = 0;
    do
    {
        system("cls");
        previos = RekursCos(n);
        current = RekursCos(n + 1);
        cout<<"E : "<<e<<endl;
        cout<<"iteration : "<<(n = n + 1)<<endl;
        cout<<"diference : "<<(dif = fabs(previos - current))<<endl;
    }
    while(e < dif);
    return 0;
}
Также обращу внимание на то что градусы следует переводить в радианы, иначе будем висеть в итерациях вечно ибо 1,2,3 ... N в радианных мерах будут давать знакомпеременный ряд
1
Миниатюры
Вычислить с точностью до Е  
Wit
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 3
10.01.2013, 10:56  [ТС] 3
Спасибо)
0
v.a.l.i.d
10.01.2013, 11:42
  #4

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
без рекурсии в этом задании не обойтись.
-=ЮрА=-, а через цикл никак не получится?

0
-=ЮрА=-
10.01.2013, 12:01
  #5

Не по теме:

Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
=ЮрА=-, а через цикл никак не получится?
- да можно, но рекурсия изящней

1
-=ЮрА=-
Заблокирован
Автор FAQ
10.01.2013, 12:24 6
Wit, странно но для корня ряд расходится С самим заданием точно всё норм?
Решил сделать с циклом
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
#include <cmath>
#include <iostream>
using namespace std;
 
double RekursSqrt(int n)
{
    double res = 0;
    do
    {
        res += sqrt(1 + res);
    }
    while(0 < (n = n - 1));
    return res;
}
 
int main()
{
    double e;
    double dif;
    cout<<"Enter acuracy E : ";cin>>e;
    int n = 1;
    double current = RekursSqrt(n + 1);
    double previos = RekursSqrt(    n);
    do
    {
        system("cls");
        dif = fabs(previos - current);
        cout<<"E : "<<e<<endl;
        cout<<"iteration : "<<n<<endl;
        cout<<"previos   : "<<previos<<endl;
        cout<<"current   : "<<current<<endl;
        cout<<"diference : "<<dif<<endl;
        n = n + 1;
        current = RekursSqrt(n + 1);
        previos = RekursSqrt(    n);
    }
    while(e < dif);
    return 0;
}
0
Миниатюры
Вычислить с точностью до Е  
Wit
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 3
10.01.2013, 12:37  [ТС] 7
Да. Нормально.
0
10.01.2013, 12:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 12:37

Вычислить с точностью e=0.0001
Помогите разобраться с первой суммой и факториалом...

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

Вычислить с заданной точностью
Все добрый день! Помогите пожалуйста, заранее благодарен ...


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

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

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