i :integer;
h, x,a,b:Extended;
sumC,sumG,iG,iC,ec,max:Extended;
errC,errG:Extended;
begin
try
h:=StrToFloat(LabeledEdit1.Text);
a := 0.0;
b := 0.785-h;
errC:=0; errG:=0;
x:=a; sumC:=0; sumG:=0;
while x<b do begin
iG:=0; iC:=0; ec:=0; max:=0;
for i:=1 to 3 do begin
iC:=iC+(f((2*x+h)/2+h/2*tC[i]));
iG:=iG+(Ag[i]*f((2*x+h)/2+h/2*tG[i]));
ec:=ec+power((2*x+h)/2+h/2*tC[i]-(2*x+h)/2,n+1)*f_4((2*x+h)/2+h/2*tC[i]);
if f_6((2*x+h)/2+h/2*tG[i])>max then max:=f_6((2*x+h)/2+h/2*tG[i]);
end;
iC:=iC*h/n;
iG:=iG*h/2;
sumC:=sumC+iC;
sumG:=sumG+iG;
max:=power(h,2*n+1)*power(6,4)*max/power(2,2*n+1)/power(120,3)/(2*n+1);
if h/18*ec>errC then errC:=h/18*ec;
if max>errG then errG:=max;
x:=x+h;
end;
a := 0.785+h;
b := 1;
x:=a;
while x<b do begin
iG:=0; iC:=0; ec:=0; max:=0;
for i:=1 to 3 do begin
iC:=iC+(f((2*x+h)/2+h/2*tC[i]));
iG:=iG+(Ag[i]*f((2*x+h)/2+h/2*tG[i]));
ec:=ec+power((2*x+h)/2+h/2*tC[i]-(2*x+h)/2,n+1)*f_4((2*x+h)/2+h/2*tC[i]);
if f_6((2*x+h)/2+h/2*tG[i])>max then max:=f_6((2*x+h)/2+h/2*tG[i]);
end;
iC:=iC*h/n;
iG:=iG*h/2;
sumC:=sumC+iC;
sumG:=sumG+iG;
max:=power(h,2*n+1)*power(6,4)*max/power(2,2*n+1)/power(120,3)/(2*n+1);
if h/18*ec>errC then errC:=h/18*ec;
if max>errG then errG:=max;
x:=x+h;
end;
with Memo1.Lines do begin
clear;
Add('Результати обчислень: ');
Add(' Метод Гауса: '+FloatToStrF(sumG,ffFixed,8,10));
Add(' Похибка: '+FloatToStrF(errG,ffFixed,8,10));
Add(' Метод Чебишева: '+FloatToStrF(sumC,ffFixed,8,10));
Add(' Похибка: '+FloatToStrF(errC,ffFixed,8,10));
Add(' Точне розвязання (Mathcad):
'+FloatToStrF(1.1367262217813367605,ffFixed,8,10));
end;
except
on EConvertError do
Application.MessageBox('Неправильно введен_ дан_', 'Увага');
end;
end;
end.