Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка.doc
Скачиваний:
48
Добавлен:
24.03.2015
Размер:
1.09 Mб
Скачать

Российский государственный университет нефти и газа им. И.М. Губкина

Кафедра информатики

Курсовая работа

по дисциплине «Информатика».

Тема: «Вычисление интеграла»

Выполнила: студентка

группы ГИ-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