Методы вычисления приближенного значения интеграла

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

;: TLabel;: TButton;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TButton;: TButton;: TButton;: TButton;: TComboBox;: TComboBox;: TComboBox;: TButton;: TButton;: TLabel;: TImage;: TImage;: TLabel;: TLabel;: TLabel;: TImage;: TLabel;spis2Change(Sender: TObject);Knop5Click(Sender: TObject);Knop8Click(Sender: TObject);spis1Change(Sender: TObject);spis3Change(Sender: TObject);Knop2Click(Sender: TObject);N6Click(Sender: TObject);N2Click(Sender: TObject);Knop9Click(Sender: TObject);Knop3Click(Sender: TObject);Knop6Click(Sender: TObject);N10Click(Sender: TObject);N9Click(Sender: TObject);N8Click(Sender: TObject);N7Click(Sender: TObject);N5Click(Sender: TObject);Knop7Click(Sender: TObject);Knop4Click(Sender: TObject);Knop1Click(Sender: TObject);FormCreate(Sender: TObject);vkladkiClick(Sender: TObject);

{ Private declarations }

{ Public declarations };: TGlavnaja;Int1, gr1, gr2, gr3, teo1, teo2, teo3, teo4, Oprogr, spravka;

{$R *.dfm}TGlavnaja.Knop1Click(Sender: TObject);a,b,x,h,f,f0,fn,sft,sum:real; i,n:integer;(vvod1.Text=) then ShowMessage(Внимание! Вы не ввели количество разбиений. Пожалуйста, введите целое число!);(vvod2.Text=) then ShowMessage(Внимание! Вы не ввели начальное значение интеграла. Пожалуйста, введите число вещественного типа!);(vvod3.Text=) then ShowMessage(Внимание! Вы не ввели конечное значение интеграла. Пожалуйста, введите число вещественного типа!);:=StrToInt(vvod1.Text);

a:=StrToFloat(vvod2.Text);:=StrToFloat(vvod3.Text);:=(b-a)/n;.Caption:=FloatToStrF(h,ffFixed,4,3);:=0;i:=1 to (n-1) do:=a+i*h;(spis1.Text=1/sqrt((0.2*x*x)+1)) then:=1/sqrt((0.2*x*x)+1):=1/sqrt(x*x+1);:=sum+f;;(spis1.Text=1/sqrt((0.2*x*x)+1)) then:=1/sqrt((0.2*a*a)+1);:=1/sqrt((0.2*b*b)+1)(spis1.Text=1/sqrt(x*x+1)) then:=1/sqrt((a*a)+1);:=1/sqrt((b*b)+1);(spis1.Text=sin(x)) then:=sin(a);:=sin(b);(spis1.Text=cos(x)) then:=cos(a);:=cos(b);;(spis1.Text=) then ShowMessage(Внимание! Вы не выбрали функцию. Пожалуйста, выберите функцию!);

sft:=h*(f0+fn/2)*sum;.Caption:=FloatToStrF(sft,ffFixed,4,3);;TGlavnaja.Knop4Click(Sender: TObject);s,s1,c,h,a,b,f,p,x,dx: real;, n: integer;(vvod4.Text=) then ShowMessage(Внимание! Вы не ввели количество разбиений. Пожалуйста, введите целое число!);(vvod5.Text=) then ShowMessage(Внимание! Вы не ввели начальное значение интеграла. Пожалуйста, введите число вещественного типа!);(vvod6.Text=) then ShowMessage(Внимание! Вы не ввели конечное значение интеграла. Пожалуйста, введите число вещественного типа!);:=strtoint(vvod4.Text);

a:=strtofloat(vvod5.Text); // нижняя граница:=strtofloat(vvod6.Text); // верхняя граница:=(b-a)/n; // шаг.Caption:=FloatToStrF(h,ffFixed,4,3);:=1;:=0;spis2.Text=1/sqrt(x*x+1) then:=1/Sqrt((a+h*n)*(a+h*n)+1)+1/Sqrt(a*a+1)+1/Sqrt((a+h*n-h/2)*(a+h*n-h/2)+1);i:=1 to n-1 do:=f+2/Sqrt((a+h*i)*(a+h*i)+1)+4/Sqrt((a+h*i-h/2)*(a+h*i-h/2)+1);:=h*f/6;.Caption:=floattostrf(p,ffFixed,6,4);;spis2.Text=e^-x*x theni:=1 to (n-1) do:=x+h;:=s+(3+c)*Exp(-x*x);:=-c;;:=Exp(-a*a)+Exp(-b*b);:=h*(s1+s)/3;.Caption:=floattostrf(s,ffFixed,6,4);;(spis2.Text=) then ShowMessage(Внимание! Вы не выбрали функцию. Пожалуйста, выберите функцию!);

end;TGlavnaja.Knop7Click(Sender: TObject);i,n: integer; x,h,a,b,f,p,pogr: real;(vvod7.Text=) then ShowMessage(Внимание! Вы не ввели количество разбиений. Пожалуйста, введите целое число!);(vvod8.Text=) then ShowMessage(Внимание! Вы не ввели начальное значение интеграла. Пожалуйста, введите число вещественного типа!);(vvod9.Text=) then ShowMessage(Внимание! Вы не ввели конечное значение интеграла. Пожалуйста, введите число вещественного типа!);:=strtoint(vvod7.Text);

a:=strtofloat(vvod8.Text); // нижняя граница:=strtofloat(vvod9.Text); // верхняя граница:=(b-a)/n; // шаг.Caption:=FloatToStrF(h,ffFixed,4,3);:=0;i:=1 to (n-1) do:=a+h*(i-0.5);(spis3.Text=1/sqrt(x*x+1)) then:=1/sqrt(x*x+1)(spis3.Text=sin(x)) then:=sin(x)if (spis3.Text=1/sqrt(0.2*x*x+1)) then:=1/sqrt(0.2*x*x+1):=cos(x);(spis3.Text=) then ShowMessage(Внимание! Вы не выбрали функцию. Пожалуйста, выберите функцию!);

pogr:=pogr+f;;.Caption:=floattostrf(pogr,ffFixed,6,4);;TGlavnaja.Knop3Click(Sender: TObject);.Show;;TGlavnaja.Knop9Click(Sender: TObject);.Show;;TGlavnaja.Knop6Click(Sender: TObject);.Show;;TGlavnaja.Knop2Click(Sender: TObject);.Text:= ;.Text:= ;.Text:= ;

label5.Caption:=Неизвестная величина;.Caption:=Неизвестная величина;

end;TGlavnaja.Knop5Click(Sender: TObject);.Text:= ;.Text:= ;.Text:= ;

label12.Caption:=Неизвестная величина;.Caption:=Неизвестная величина;

end;TGlavnaja.Knop8Click(Sender: TObject);.Text:= ;.Text:= ;.Text:= ;

label19.Caption:=Неизвестная величина;.Caption:=Неизвестная величина;

end;TGlavnaja.spis3Change(Sender: TObject);spis3.Text=1/sqrt(0.2*x*x+1) then.Picture.LoadFromFile(in1.bmp)spis3.Text=1/sqrt(x*x+1) then.Picture.LoadFromFile(in.bmp)spis3.Text=cos(x) then.Picture.LoadFromFile(in3.bmp)spis3.Text=sin(x) then.Picture.LoadFromFile(in2.bmp);;TGlavnaja.spis1Change(Sender: TObject);spis1.Text=1/sqrt((0.2*x*x)+1) then.Picture.LoadFromFile(in1.bmp)spis1.Text=1/sqrt(x*x+1) then.Picture.LoadFromFile(in.bmp)spis1.Text=cos(x) then.Picture.LoadFromFile(in3.bmp)spis1.Text=sin(x) then.Picture.LoadFromFile(in2.bmp);;TGlavnaja.spis2Change(Sender: TObject);spis2.Text=1/sqrt(x*x+1) then.Picture.LoadFromFile(in.bmp)spis2.Text=e^-x*x then.Picture.LoadFromFile(in4.bmp);;TGlavnaja.FormCreate(Sender: TObject);.Tabs := Notebook.Pages;;TGlavnaja.N10Click(Sender: TObject);.Show;;TGlavnaja.N2Click(Sender: TObject);.Show;;TGlavnaja.N5Click(Sender: TObject);.Close;;TGlavnaja.N6Click(Sender: TObject);.Show;;TGlavnaja.N7Click(Sender: TObject);.Show;;TGlavnaja.N8Click(Sender: TObject);.Show;;TGlavnaja.N9Click(Sender: TObject);.Show;;TGlavnaja.vkladkiClick(Sender: TObject);.PageIndex := vkladki.TabIndex;;.

unit int0;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, jpeg;= class(TForm): TImage;Timer1Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };: TZastavka;Int1;

{$R *.dfm}TZastavka.Timer1Timer(Sender: TObject);;;.gr1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;= class(TForm)

procedure FormResize(Sender: TObject);FormPaint(Sender: TObject);

{ Private declarations }

{ Public declarations }

{ Function f(x:real):real;GrOfFunc; };: TGrafik1;Int2;

{$R *.dfm}f(x:real):real; // Функция, график которой надо построить(Glavnaja.spis1.Text=1/sqrt((0.2*x*x)+1)) then:=1/sqrt((0.2*x*x)+1)if (Glavnaja.spis1.Text=1/sqrt(x*x+1)) then:=1/sqrt(x*x+1)if (Glavnaja.spis1.Text=sin(x)) then:=sin(x)if (Glavnaja.spis1.Text=cos(x)) then:=cos(x);;GrOfFunc; // строит график функции

var,x2:real; // границы изменения аргумента функции,y2:real; // границы изменения значения функции:real; // аргумент функции:real; // значение функции в точке x:real; // приращение аргумента,b:integer; // левый нижний угол области вывода графика,h:integer; // ширина и высота области вывода графика,my:real; // масштаб по осям X и Y,y0:integer; // точка - начало координат:integer;

// область вывода графика:=10; // X - координата левого верхнего угла:=Grafik1.ClientHeight-20; // Y - координата левого верхнего угла

h:=Grafik1.ClientHeight-40; // высота

w:=Grafik1.Width-40; // ширина

n:=StrToInt(Glavnaja.vvod1.Text);:=StrToFloat(Glavnaja.vvod2.Text); // нижняя граница диапазона аргумента:=StrToFloat(Glavnaja.vvod3.Text); // верхняя граница диапазона аргумента

dx:=(x2-x1)/n; // шаг аргумента

// найдем максимальное и минимальное значения