Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы по численным методам / 7 / Program3
.pas program Simpson;
function F(x:Real):Real;
begin
F:=(power(e,x))*cos(x);
end;
const a=0; b=pi/2; n=524288;
var h,x :real; i:integer; integ :real;
begin
var start:=System.DateTime.Now;
{write('Введите количество разбиений интервала (четное число) n='); readln(n);
if (n mod 2)>0 then
begin
n:=n+1;
writeln('Число n было введено нечетное, оно было заменено на n=',n);
end;}
h:=(b-a)/n;
integ:=F(a)+F(b)+4*F(a+h);
for i:=1 to (n div 2)-1 do
begin
x:=a+2*h*i;
integ:=integ+2*F(x)+4*F(x+h);
end;
integ:=h*integ/3;
writeln ('Шаг интервала = ', h);
writeln('Интеграл = ',integ);
writeln('Погрешность = ',Abs(integ-Pi/(3*sqrt(3))));
var finish:=System.DateTime.Now;
writeln('Время выполнения = ',(finish - start).TotalSeconds,' секунд');
end.
function F(x:Real):Real;
begin
F:=(power(e,x))*cos(x);
end;
const a=0; b=pi/2; n=524288;
var h,x :real; i:integer; integ :real;
begin
var start:=System.DateTime.Now;
{write('Введите количество разбиений интервала (четное число) n='); readln(n);
if (n mod 2)>0 then
begin
n:=n+1;
writeln('Число n было введено нечетное, оно было заменено на n=',n);
end;}
h:=(b-a)/n;
integ:=F(a)+F(b)+4*F(a+h);
for i:=1 to (n div 2)-1 do
begin
x:=a+2*h*i;
integ:=integ+2*F(x)+4*F(x+h);
end;
integ:=h*integ/3;
writeln ('Шаг интервала = ', h);
writeln('Интеграл = ',integ);
writeln('Погрешность = ',Abs(integ-Pi/(3*sqrt(3))));
var finish:=System.DateTime.Now;
writeln('Время выполнения = ',(finish - start).TotalSeconds,' секунд');
end.
Соседние файлы в папке 7