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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
05.12.2011, 21:27     Вычисление функции с заданной точностью с использованием разложения в ряд #1
Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании.
Пример
Задание. Составить схему программы и программу на языке C++ с использованием оператора цикла с предусловием и оператора цикла с постусловием для вычисления функции с заданной точностью с использованием разложения в ряд

2 программы: Программа с использованием оператора цикла с предусловием и с использованием оператора цикла с постусловием
Миниатюры
Вычисление функции с заданной точностью с использованием разложения в ряд  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2011, 21:27     Вычисление функции с заданной точностью с использованием разложения в ряд
Посмотрите здесь:

Вычисление функций с использованием их разложения в степенной ряд C++
C++ Вычисление функций с использованием их разложения в степенной ряд
Вычисление функций с использованием их разложения в степенной ряд C++
C++ Вычисление функций с использованием их разложения в степенной ряд
C++ Вычисление заданной функции разложением ее в ряд с использованием рекурсии
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 12:55     Вычисление функции с заданной точностью с использованием разложения в ряд #2
э.. чего-то с утра немогу сообразить зависимось в изменении 1/3. Ну примерно так:
введите максимальное н-макс,
введи а, в
проверить что если в/а в третьей за нужными рамками то выход.

н = 1
(начало цикла)
м = 1+ 1/3*(в/а^3)^н
н++
м = м + (непонятая мной зависимость)*1/3*(в/а^3)^н
и так в нужном цикле н раз (т.е н больше н-макс)
умножить м на а = с
вывести с.
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 13:04  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #3
Плиз, а не могли бы мне бв это каким то образом оформить поподробнее, я просто не особо понимаю в этом С++, помогите прогу написать

Добавлено через 5 минут
Мне надо бы как то оформить вот типо этого только с моим примером.
с использованием оператора цикла с предусловием:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Программа вычисления sin x
# include <iostream.h>
# include <conio.h>
# include <math.h>
void main ()
{
   double x, eps;
   cout<<”Введите значения аргумента и точности\n”;
   cin>>x>>eps;
   double F=x, a=x;
   int n=2;
   while (fabs(a)>=eps)
     {
      a*= –x*x/(n*(n+1));
      F+=a;
      n+=2;
      }
   cout<<”Приближенное значение sin x=<<F;
   cout<<”Точное значение sin x=<<sin(x);
}
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 13:18     Вычисление функции с заданной точностью с использованием разложения в ряд #4
найдите зависимость в этой 1/3 ей, а то ж как сдавать будете? нодо же написать как оно изменяется.
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 13:20  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #5
Да какая зависимость, я ноль в этом, да отвечать и сдавать это фигня, мне лиш бы было написано это и оформленно. У меня сессия поджимает, сделайте плиз пожалуйста.
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 13:33     Вычисление функции с заданной точностью с использованием разложения в ряд #6
м = м + (непонятая мной зависимость)*1/3*(в/а^3)^н - вот сдесь что-то должно быть, вместо надписи в скобках. Без этого программа будет считать неправильно, не по формуле.

могу написать без этого, но это будет не по заданию

Добавлено через 54 секунды
это математика, а не программирование. прогу напишу, нужна ф-ла.

Добавлено через 1 минуту
у вас написано сначала 1/3, потом 2/3*6, потом 2*5/3*6*9. Какая дробь будет следующей?
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 13:33  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #7
Ну такой пример, я как бы не сам придумал его, ну если не понятное для вас попробуйте без этого обойдитесь, без него напишите, там уже поразмыслить можно будет хоть над чем то. Может найдут добровольцы которые знают. Скиньте то что знаете хотябы))
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 13:53     Вычисление функции с заданной точностью с использованием разложения в ряд #8
сейчас напишу, 3 минуты.

Добавлено через 18 минут
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
 
int main()
{
    int  s, n, m, b, a, c, nm;
cout << "Vvedi a ";
cin >> a;
 
cout << "Vvedi b ";
cin >> b;
if  ((b/a^3>1)||( b/a^3<-1)) 
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0";
cin >> nm;
n = 1;
m = 1+(1/3)*(b/a^3)^n;
while(n>nm)
{
  n++
   m = m+s*(1/3)*(b/a^3)^n;
}
m*a = c
cout << " " << c << endl;
 
getch();
 
return 0;
 
}
s - нужная зависимость.
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 13:53  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #9
Там 2 проги надо, одна с использованием оператора цикла с предусловием и с использованием оператора цикла с постусловием
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 14:02     Вычисление функции с заданной точностью с использованием разложения в ряд #10
это был с пред.

Добавлено через 4 минуты
а с пост все то же, только

C++
1
2
3
4
5
6
do
     {
         n++
   m = m+s*(1/3)*(b/a^3)^n;
     }
     while (n>=nm);
либо равно потому тут условие проверяется после выполнения тела цикла, и блок цикла с постусловием всегда будет выполнен хотя бы один раз, независимо от истинности условия. Можно написать while (n-1>nm)
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 14:03  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #11
Спасибо))
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 14:07     Вычисление функции с заданной точностью с использованием разложения в ряд #12
ой. ой ой ой. в первой исправте:
Цитата Сообщение от TamTam Посмотреть сообщение
while(n>nm)
на while(n<nm)

Добавлено через 1 минуту
и во второй соответственно. Пойду ка я спать.
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 15:47  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #13
ошибок мой Borland C++ выдаёт 5 штук

Добавлено через 1 час 21 минуту
Цитата Сообщение от TamTam Посмотреть сообщение
m*a = c
обьясни что за строка, что это, у меня ошибка всей проги только тут.
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 19:53     Вычисление функции с заданной точностью с использованием разложения в ряд #14
точку с запятой после неё поставте. у вас в примере а*на выражение в квадратных скобках. Цикл вычисляет скобки, после цикла * на это а.
Борланд, хм, надо же) Насколько знаю, там надо не инт мейн, а воид мейн.

Напишите так:
с = а*м;

Добавлено через 19 секунд
а зависимость то нашли?

Как/если найдете возьмите её в скобки и напишите в строке m = m+s*(1/3)*(b/a^3)^n; вместо s.
И уберите s из инициализации.
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
15.01.2012, 20:17  [ТС]     Вычисление функции с заданной точностью с использованием разложения в ряд #15
Вот то что у меня получилось.
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Постусловие
 
#include<stdio.h>
#include<stdlib.h>
#include<conio.h> 
#include "stdafx.h"
void main()
{
int s, n, m, b, a, c, nm;
printf( "Vvedi a ");
scanf("%d", a);
 
printf("Vvedi b ");
scanf("%d",b);
if ((b/a^3>1)||( b/a^3<-1)) 
{
printf("net sxodimosti");
}
 
printf("Vvedi n(max)>0");
scanf("%d",nm);
n = 1;
m = 1+(1/3)*(b/a^3)^n;
do
{
n++;
m = m+s*(1/3)*(b/a^3)^n;
}
while(n>nm)
 
m*a=с;                   ТУТ ОШИБКА ВОТ
printf("%d", c);
 
}
 
ПРЕДУСЛОВИЕ
 
Постусловие
#include<stdio.h>
#include<stdlib.h>
#include<conio.h> 
#include "stdafx.h"
void main()
{
int s, n, m, b, a, c, nm;
printf( "Vvedi a ");
scanf("%d", a);
 
printf("Vvedi b ");
scanf("%d",b);
if ((b/a^3>1)||( b/a^3<-1)) 
{
printf("net sxodimosti");
}
 
printf("Vvedi n(max)>0");
scanf("%d",nm);
n = 1;
m = 1+(1/3)*(b/a^3)^n;
 
while(n>nm)
 
{
n++;
m = m+s*(1/3)*(b/a^3)^n;
}
 
m*a=с;                       ЭТА СТРОКА С ОШИБКОЙ ВЫДАЁТ
printf("%d", c);
 
}
пОСТАВЬТЕ КАК НАДО ТОЧНО И ЕСЛИ КТО МОЖЕТ СХЕМУ ПОСТРОЙТЕ ПЛИЗ.
TamTam
18 / 18 / 1
Регистрация: 28.12.2011
Сообщений: 176
16.01.2012, 03:10     Вычисление функции с заданной точностью с использованием разложения в ряд #16
Да какую ошибку он хоть пишет? нету борланда у меня. И измени
Цитата Сообщение от TamTam Посмотреть сообщение
на while(n<nm)
Хоть бы прочти про циклы эти.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
16.01.2012, 03:38     Вычисление функции с заданной точностью с использованием разложения в ряд #17
После постусловия точка с запятой же.
C++
1
2
3
4
do
{
...
}while(some);
Добавлено через 5 минут
C
1
m*a=с;
Штоэта? Наверно, должно было быть
C
1
c = m * a;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 05:51     Вычисление функции с заданной точностью с использованием разложения в ряд
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
anniklav
0 / 0 / 0
Регистрация: 25.05.2013
Сообщений: 4
25.05.2013, 05:51     Вычисление функции с заданной точностью с использованием разложения в ряд #18
Доброе утро помогите написать код на Паскале или на Си

В массиве любого размера с целыми числами от 1 до 500,000 одно число повторяется дважды, все остальные числа уникальны. Предложите наиболее быстрый алгоритм поиска повторяющегося числа.
за ранее благодарна
Yandex
Объявления
25.05.2013, 05:51     Вычисление функции с заданной точностью с использованием разложения в ряд
Ответ Создать тему
Опции темы

Текущее время: 15:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru