- •Российский государственный университет нефти и газа им. И.М. Губкина
- •Задание на выполнение курсовой работы.
- •Теория вычисления интеграла. Описание используемых численных методов.
- •1. Метод прямоугольников (правых и левых)
- •2. Метод трапеций
- •3. Метод Симпсона (парабол)
- •Расчеты в математическом пакете Mat lab
- •Литература.
Российский государственный университет нефти и газа им. И.М. Губкина
Кафедра информатики
Курсовая работа
по дисциплине «Информатика».
Тема: «Вычисление интеграла»
Выполнила: студентка
группы ГИ-12-05
Солоп Д. И.
Проверила: Ключникова Т.А.
Москва, 2014
Оглавление
6
Задание на выполнение курсовой работы. 7
Теория вычисления интеграла. 8
Описание используемых численных методов. 8
9
1. Метод прямоугольников (правых и левых) 9
11
2. Метод трапеций 11
3. Метод Симпсона (парабол) 16
Расчеты в математическом пакете Mat lab 22
tochnoe = 0.56226 25
levpr = 0.5555 25
pravpr = 0.5691 25
trapezii = 0.5623 25
Sympson = 0.5623 25
Отчет о результатах вычисления приближенного значения корня уравнения в MS Excel. 26
Корни, полученные в excel: 27
27
Описание приложения созданного в среде Delphi. 28
Блок – схемы, реализующие численные методы 29
Листинг программы 33
unit Unit1; 33
interface 33
uses 33
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 33
Dialogs, StdCtrls, Math, AxCtrls, OleCtrls, VCF1, ExtCtrls, TeeProcs, 33
TeEngine, Chart, Menus, Series, OleCtnrs; 33
type 33
TForm1 = class(TForm) 33
Button1: TButton; 33
Button2: TButton; 33
Edit1: TEdit; 33
Button3: TButton; 33
Edit2: TEdit; 33
F1Book1: TF1Book; 33
Edit3: TEdit; 33
Button5: TButton; 33
Label1: TLabel; 33
Label2: TLabel; 33
Label3: TLabel; 33
Chart1: TChart; 33
Edit4: TEdit; 33
Button4: TButton; 34
Series2: TLineSeries; 34
MainMenu1: TMainMenu; 34
N1: TMenuItem; 34
N2: TMenuItem; 34
Label4: TLabel; 34
OleContainer1: TOleContainer; 34
procedure Button1Click(Sender: TObject); 34
procedure Button2Click(Sender: TObject); 34
procedure Button3Click(Sender: TObject); 34
procedure Button5Click(Sender: TObject); 34
procedure Button4Click(Sender: TObject); 34
procedure N1Click(Sender: TObject); 34
procedure N2Click(Sender: TObject); 34
private 34
{ Private declarations } 34
public 34
{ Public declarations } 34
end; 34
var 34
Form1: TForm1; 34
a,b,h,s,x,e:real; 34
i,j,n:integer; 34
f:text; 34
str:string; 35
implementation 35
{$R *.dfm} 35
function integral(x:real):real; 35
begin 35
integral:=1/sqrt(power(x,2)+2*x+2); 35
end; 35
procedure methlev; 35
begin 35
h:=(b-a)/(n-1); 35
x:=0; 35
s:=0; 35
while abs(s)<e do 35
for i:=2 to n do 35
begin 35
x:=x+h; 35
s:=s+integral(x)*h; 35
end; 35
end; 35
procedure methpr; 35
begin 35
h:=(b-a)/n; 36
x:=0; 36
s:=0; 36
while abs(s)<e do 36
for i:=1 to n do 36
begin 36
s:=s+integral(x)*h; 36
x:=x+h; 36
end; 36
end; 36
procedure methtr; 36
var 36
sa,sb:real; 36
begin 36
h:=(b-a)/n; 36
x:=0; 36
s:=0; 36
while abs(s)<e do 36
for i:=1 to n do 36
begin 36
sa:=integral(x); 36
sb:=integral(x+h); 36
s:=s+h*(sa+sb)/2; 36
x:=x+h; 36
end; 36
end; 37
procedure meths; 37
var 37
sa,sb,sh:real; 37
begin 37
h:=(b-a)/n; 37
x:=0; 37
s:=0; 37
while abs(s)<e do 37
for i:=1 to n do 37
begin 37
sa:=integral(x); 37
sb:=integral(x+h); 37
s:=s+(2*sa+sb)*h/3; 37
x:=x+h; 37
end; 37
end; 37
procedure TForm1.Button1Click(Sender: TObject); 37
begin 37
n:=StrToInt(Form1.Edit1.Text); 37
a:=StrToFloat(Form1.Edit2.Text); 37
b:=StrToFloat(Form1.Edit3.Text); 37
e:=StrToFloat(Edit4.Text); 37
methlev; 37
F1Book1.textRC[1,1]:= 'Method'; 38
F1Book1.textRC[1,2]:='levix'; 38
F1Book1.textRC[2,1]:= 'S='; 38
F1Book1.numberRC[2,2]:=s; 38
end; 38
procedure TForm1.Button2Click(Sender: TObject); 38
begin 38
n:=StrToInt(Edit1.Text); 38
a:=StrToFloat(Edit2.Text); 38
b:=StrToFloat(Edit3.Text); 38
e:=StrToFloat(Edit4.Text); 38
methpr; 38
F1Book1.textRC[1,3]:='pravix'; 38
F1Book1.numberRC[2,3]:=s; 38
end; 38
procedure TForm1.Button3Click(Sender: TObject); 38
begin 38
n:=StrToInt(Edit1.Text); 38
a:=StrToFloat(Edit2.Text); 38
b:=StrToFloat(Edit3.Text); 38
e:=StrToFloat(Edit4.Text); 38
methtr; 38
F1Book1.textRC[1,4]:='trapezii'; 38
F1Book1.numberRC[2,4]:=s; 39
end; 39
procedure TForm1.Button5Click(Sender: TObject); 39
begin 39
n:=StrToInt(Edit1.Text); 39
a:=StrToFloat(Edit2.Text); 39
b:=StrToFloat(Edit3.Text); 39
e:=StrToFloat(Edit4.Text); 39
meths; 39
F1Book1.textRC[1,5]:='sumpsona'; 39
F1Book1.numberRC[2,5]:=s; 39
end; 39
procedure TForm1.Button4Click(Sender: TObject); 39
var y:real; 39
begin 39
form1.Chart1.Series[0].Clear; 39
n:=StrToInt(Edit1.Text); 39
a:=StrToFloat(Edit2.Text); 39
b:=StrToFloat(Edit3.Text); 39
e:=StrToFloat(Edit4.Text); 39
h:= (b-a)/n; 39
x:=a; 39
Chart1.Series[0].AddXY(x,y,'',clRed); 39
for i:=1 to n do begin 39
x:=x+h; 40
y:=integral(x); 40
Chart1.Series[0].AddXY(x,y,'',clRed); 40
end; 40
end; 40
procedure TForm1.N1Click(Sender: TObject); 40
begin 40
close; 40
end; 40
procedure TForm1.N2Click(Sender: TObject); 40
begin 40
AssignFile(f,'Корни'); 40
rewrite(f); 40
for i:=1 to n do begin 40
str:=''; 40
for j:=1 to n do str:=str+F1Book1.TextRC[i,j]+' '; 40
writeln(f,str); 40
end; 40
closeFile(f); 40
end; 40
end. 40
Изображение окна приложения 41
Литература. 44