Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / 2

.docx
Скачиваний:
15
Добавлен:
04.04.2018
Размер:
86.18 Кб
Скачать

Задание:

Вычислить определенный интеграл

.

4

трапеций

автоматический выбор шага

10-4

Код:

var

Form4: TForm4;

a,b,n,e:real;

implementation

{$R *.dfm}

Function f(x:real):real;

begin

F:=(1/(2*pi))*exp(-x*x); //функция

end;

Function int(p,l,k:real):real; //h=p ,a=l ,b=k

var

m,s:real; //m=x ; l=a

begin

m:=l;

s:=0;

while m<k do begin //пока a < b

m:=m+p; //m+шаг(высота)

s:=s+f(m);

end;

int:=p*(((f(l)+f(k))/2+s)); //обращение к функции

end;

procedure TForm4.Button1Click(Sender: TObject);

var

h,i1,i2:real;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

e:=strtofloat(edit3.Text);

n:=strtoint(edit4.text);

i1:=0;

h:=(b-a)/n; //высота

i2:=int(h,a,b); //integer буквы

while abs(i2-i1)>e do begin

h:=h/2;

i1:=i2;

i2:=int(h,a,b); //integer буквы

end;

edit5.text:=floattostr(i2); //вывод

end;

end.

Результат:

Блок схема:

Function F(x:real):real

F:=(1/2*pi)*exp(-x*x);

a0=x

Конец

Function int(p,l,k:real):real

Ввод p,l,k

S=0 m=l

a0=x

m<k

i=((F(l)+F(k))/2+s)*p

-

m=m+p s=S+F(m)

Конец

+

Начало

Ввод a,b,n,ε

I1=0 h=(b-a)/n

I2=Int(h,a,b)

|I2-I1|>ε

Выв I2

-

H=h/2 I1=I2

+

Конец

Соседние файлы в папке Лабы