|
Метод парабол (метод Симпсона)
Метод средних прямоугольников
Схема алгоритма программы:
Листинг программы на TurboPascal:
program prpr4;
uses crt;
var a,b,n:integer;
i,i2:real;
function ikra(j:real):real;
begin
ikra:=sqr(j*ln(j));
end;
function perv(j:real):real;
var a:real;
begin
a:=9*sqr(ln(j))-6*ln(j)+2;
perv:=(j*j*j)/27*a;
end;
Procedure int(j:integer; var k:real);
var h,x,sum,sum1,sum2:real;
i:byte;
c:integer;
begin
h:=(b-a)/(j*2);
sum:=ikra(a); c:=1;
x:=a+h;
for i:=1 to (2*j-1) do
begin
sum:=sum+ikra(x)*(3+c);
c:=c*(-1);
x:=x+h;
end;
k:=h/3*(sum+ikra(b));
end;
Procedure sr;
var h,h1,summa,s,x,c:real;
i,k:byte;
begin
h:=0.25;
s:=0;
n:=trunc((b-a)/h);
h1:=0.25/10;
c:=a+h1/2;
writeln('┌──────┬──────────┬──────────┐');
writeln('│ X │ I │ Iточ. │');
writeln('├──────┼──────────┼──────────┤');
for i:=1 to n do
begin
x:=c;
summa:=0;
for k:=1 to 10 do
begin
summa:=summa+ikra(x);
x:=x+h1;
end;
s:=s+summa*h1;
c:=c+h;
writeln('│',a,'-',(c-h1/2):4:2,'│',s:10:8,'│',(perv(c-h1/2)-perv(a)):10:8,'│');
end;
writeln('└──────┴──────────┴──────────┘');
readkey;
end;
begin
clrscr;
write('Введите нижний предел:');
readln(a);
write('Ввдите верхний предел:');
readln(b);
n:=30;
repeat
int(n,i);
n:=2*n;
int(n,i2);
until (i2-i)<0.0001;
writeln('Методом Симпсона:');
writeln(i2:10:8);
writeln('При n=',n);
writeln('По формуле Ньютона-Лейбница:');
writeln(perv(b)-perv(a):10:8);
readkey;
sr;
end.
Результаты работы программы:
Дата добавления: 2015-09-29; просмотров: 21 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Минимизируемая функция F(x) на отрезке [a,b]. | | | Таблетки для рыжего кота 1 страница |