Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
1

Интегралы

26.05.2010, 17:59. Показов 888. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При решении одного интеграла разными методами, ответы должны же быть одинаковыми?
https://www.cyberforum.ru/atta... 1273752305
Прямоугольник:
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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
//---------------------------------------------------------------------------
 float a,b;
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
int main()
{cout<<"a="; cin>>a;   //0.8
 cout<<"b="; cin>>b;   //1.4
float s=0;
float x;
float h=(b-a)/m;
x=a;
while(x<=b){
s+=f(x+h/2);
x+=h;}
float f;
f=s*h;
printf("F=%7.4f",f);
getch();
return 0;
}
//---------------------------------------------------------------------------
Ответ:0.2582

Симпсон:
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 <iostream.h>
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
//---------------------------------------------------------------------------
 float a,b,x,h,n,i;
 int m=100;
float f(float x){
return (1/(sqrt(2*pow(x,2)+3)));
}
int main()
{cout<<"a="; cin>>a;      //0.8
 cout<<"b="; cin>>b;      //1.4 
h=(b-a)/m/2;
x=a;
i=f(x);
do{
n=0;
x+=h;
i+=4*f(x);
n+=2;
if (n==2*m){
x=b;
i=(i+f(x))*h/3;
}
else
x+=h;
i+=2*f(x);}
while(x>b);
printf("F=%10.4f",i);
getch();
return 0;
}
//---------------------------------------------------------------------------
Ответ: 3.3792

Какой из них правильный?
И где ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2010, 17:59
Ответы с готовыми решениями:

Интегралы
Напишите программу, вычисляющую определенный интеграл на указанном пользователем промежутке и с...

Интегралы
Прошу доработать программу которая решает интегралы разными методами #include &lt;iostream&gt; #include...

Интегралы. BC++
Помогите написать задачу. Именно борланд С++. Заранее спасибо!!!

Интегралы в С++
663. Даны действительные числа s, t, многочлен P(x) степени n. Найти значение t ∫P(x)dx s

8
14 / 14 / 5
Регистрация: 10.02.2010
Сообщений: 72
26.05.2010, 18:32 2
Правильный ответ по методу прямоугольника
1
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
26.05.2010, 18:38  [ТС] 3
А что не так с Симпсоном.
Я по блок схеме собирал.
Я ее плохо понимаю. Может поможете)))
Миниатюры
Интегралы  
0
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
28.05.2010, 18:31  [ТС] 4
sos sos
0
37 / 37 / 2
Регистрация: 13.05.2010
Сообщений: 81
28.05.2010, 19:29 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
float a,b,x1,x2,h,x;
 int m=100, i;
float f(float x){
return (1/(sqrt(2*pow(x,2)+3)));
}
int main()
{cout<<"a="; cin>>a;      //0.8
 cout<<"b="; cin>>b;      //1.4 
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
    x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
    x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
 
               
cout<<"x="<<x<<" ";
 
getch ();}
как то так
1
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
29.05.2010, 12:10  [ТС] 6
Спасибо.
В консоли работает.
А в формах пишет ответ :3,6598554395228E35
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
//-----Симпсон----------------------------------------------------------------------
 
#include <vcl.h>
#include <math.h>
#pragma hdrstop
 
#include "Unit3.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit4.h"
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSimpson *Simpson;
 float a,b;
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
//---------------------------------------------------------------------------
__fastcall TSimpson::TSimpson(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSimpson::aaChange(TObject *Sender)
{
aa->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::beChange(TObject *Sender)
{
be->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::Panel1Click(TObject *Sender)
{
if(aa->Text>="0" && aa->Text<="9" &&
be->Text>="0" && be->Text<="9"){
a=StrToFloat(aa->Text);
b=StrToFloat(be->Text);
float h,x1,x2,x,i;
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
        x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
        x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
Otvet->Text=FloatToStr(x);}
else
Errore->ShowModal();
 
 
}
//---------------------------------------------------------------------------
Миниатюры
Интегралы  
0
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
29.05.2010, 12:18  [ТС] 7
Таким образом заработало.
Какого хрена?
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
//-----Симпсон----------------------------------------------------------------------
 
#include <vcl.h>
#include <math.h>
#pragma hdrstop
 
#include "Unit3.h"
#include "Unit1.h"
#include "Unit2.h"
#include "Unit4.h"
#include "Unit5.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TSimpson *Simpson;
 float a,b;
 float h,x1,x2,x,i;  //Переместил переменные сюда.
 int m=100;
float f(float x){
 return (1/(sqrt(2*pow(x,2)+3)));
  }
//---------------------------------------------------------------------------
__fastcall TSimpson::TSimpson(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSimpson::aaChange(TObject *Sender)
{
aa->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::beChange(TObject *Sender)
{
be->Text;
}
//---------------------------------------------------------------------------
 
void __fastcall TSimpson::Panel1Click(TObject *Sender)
{
if(aa->Text>="0" && aa->Text<="9" &&
be->Text>="0" && be->Text<="9"){
a=StrToFloat(aa->Text);
b=StrToFloat(be->Text);
//Были здесь.
h=(b-a)/m/2;
for (i=1; i<m*2; i+=2){
        x1+=f(a+h*i);}
for (i=2; i<(m*2-1); i+=2){
        x2+=f(a+h*i);}
x=(h/3)*(f(a)+4*x1+2*x2+f(b));
Otvet->Text=FloatToStr(x);}
else
Errore->ShowModal();
 
 
}
//---------------------------------------------------------------------------
0
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 37
13.02.2011, 18:46 8
подскажите где взять <vcl.h> ???
выдает ошибку.
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
13.02.2011, 19:19 9
поставить С++ билдер
1
13.02.2011, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2011, 19:19
Помогаю со студенческими работами здесь

интегралы
День добрый. Помогите, пожалуйста, решить интегралы. зарание спасибо.)

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

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

Опять интегралы....
Написать программу для вычисления значения определенного интеграла вида с заданной точностью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru