Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:выч методы не разобраны! / Лаба№3 / Мишины / LAB3
.PAS {$R+}
uses crt;
const
n=20; {Љ®«-ў® в®зҐЄ}
h=(Pi/4-0)/n; { Ј}
function F(x, y: real): real;
{
Џа ў п з бвм га ўҐЁп
}
begin
F:=y*sin(x)/cos(x) - x*x*cos(x);
end;
function sec(x: real): real;
begin
sec:=(x*x*x/3+Pi/3)*cos(x);
end;
var
i: integer;
k: word;
x: array[0..n] of real;
y: array[0..n, 1..5] of real; {’ Ў«Ёж }
yy: real;
w, a1, a2, b1, b2: real;
begin
clrscr;
GOTOXY(20,2);
writeln('ЏЋ‹“—…ЌЌ›… ‡ЌЂ—…Ќ€џ');
WRITELN;
y[0, 1]:=sec(0); y[0, 2]:=sec(0); y[0, 3]:=sec(0); y[0, 4]:=sec(0);
x[0]:=0;
for k:=1 to n do x[k]:=x[0]+h*k;
{----------- 1-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (Їа®бв®©) -------------}
for k:=0 to 2 do
y[k+1, 1]:=y[k, 1]+h*F(x[k], y[k, 1]);
{----------- 2-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (¬®¤ЁдЁж) -------------}
for k:=0 to 2 do begin
y[k+1, 2]:=y[k, 2]+h*F(x[k], y[k, 2]);
y[k+1, 2]:=y[k, 2]+h/2*(f(x[k], y[k, 2])+f(x[k+1], y[k+1, 2]));
end;
{----------- 3-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (гв®зҐ) -------------}
for k:=0 to 2 do begin
y[k+1, 3]:=y[k, 2]+h*F(x[k], y[k, 2]);
{“в®з塞}
repeat
yy:=y[k+1, 3];
y[k+1, 3]:=y[k, 3]+h/2*(f(x[k], y[k, 3])+f(x[k+1], y[k+1, 3]));
until y[k+1, 3]-yy<=0.00001
end;
{----------- 4-© бв®«ЎЁЄ - б Ё«гз襩 w ----------------------}
for k:=0 to n-1 do begin
w:=0.9{0.81875};
a2:=w; b2:=1/(2*w); b1:=b2; a1:=1-w;
y[k+1, 4]:=y[k, 4]+h*(a1+a2)*f(x[k], y[k, 4])+h*h*a2*b1*(y[k, 4]/sqr(cos(x[k]))+x[k]*x[k]*sin(x[k])-2*x[k]*cos(x[k]))+
h*h*f(x[k],y[k,4])*sin(x[k])/cos(x[k]);
end;
{----------- 5-© бв®«ЎЁЄ - в®з®Ґ аҐиҐЁҐ ---------------------}
for k:=0 to n do
y[k, 5]:=sec(x[k]);
{----------- ЊҐв®¤ ЊЁ« (¤«п ўбҐе бв®«ЎЁЄ®ў)--------------------}
for i:=1 to 4 do {зҐвлॠбв®«ЎЁЄ }
for k:=4 to n do begin
{ЏаҐ¤Ї®«®¦ЁвҐ«м®Ґ § 票Ґ:}
y[k, i]:=y[k-4, i]+4*h/3*(2*f(x[k-3], y[k-3, i]) -
f(x[k-2], y[k-2, i]) +
2*f(x[k-1], y[k-1, i]));
{“в®з塞:}
y[k, i]:=y[k-2, i] + h/3*( f(x[k-2], y[k-2, i]) +
4*f(x[k-1], y[k-1, i]) +
f(x[k], y[k, i]));
end;
WriteLn('N':3, '| ', 'Џа®бв®©':12, '| ', 'Њ®¤ЁдЁжЁа':12, '| ', '“в®зҐл©':12, '| ', '‘ Ё«гзиЁ¬':12, '| ', '’®з®Ґ':12);
WriteLn(' ':3, '| ', 'ќ©«Ґа':12, '| ', 'ќ©«Ґа':12, '| ', 'ќ©«Ґа':12, '| ', 'w':12, '| ', '§ 票Ґ':12);
Write('--------------------------------------------------------------------------------');
for i:=0 to n do
WriteLn(i:3, '| ', y[i, 1]:12:10, '| ', y[i, 2]:12:10, '| ', y[i, 3]:12:10, '| ',
y[i, 4]:12:10, '| ', y[i, 5]:10:10);
readln;
end.
uses crt;
const
n=20; {Љ®«-ў® в®зҐЄ}
h=(Pi/4-0)/n; { Ј}
function F(x, y: real): real;
{
Џа ў п з бвм га ўҐЁп
}
begin
F:=y*sin(x)/cos(x) - x*x*cos(x);
end;
function sec(x: real): real;
begin
sec:=(x*x*x/3+Pi/3)*cos(x);
end;
var
i: integer;
k: word;
x: array[0..n] of real;
y: array[0..n, 1..5] of real; {’ Ў«Ёж }
yy: real;
w, a1, a2, b1, b2: real;
begin
clrscr;
GOTOXY(20,2);
writeln('ЏЋ‹“—…ЌЌ›… ‡ЌЂ—…Ќ€џ');
WRITELN;
y[0, 1]:=sec(0); y[0, 2]:=sec(0); y[0, 3]:=sec(0); y[0, 4]:=sec(0);
x[0]:=0;
for k:=1 to n do x[k]:=x[0]+h*k;
{----------- 1-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (Їа®бв®©) -------------}
for k:=0 to 2 do
y[k+1, 1]:=y[k, 1]+h*F(x[k], y[k, 1]);
{----------- 2-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (¬®¤ЁдЁж) -------------}
for k:=0 to 2 do begin
y[k+1, 2]:=y[k, 2]+h*F(x[k], y[k, 2]);
y[k+1, 2]:=y[k, 2]+h/2*(f(x[k], y[k, 2])+f(x[k+1], y[k+1, 2]));
end;
{----------- 3-© бв®«ЎЁЄ - ЊҐв®¤ ќ©«Ґа (гв®зҐ) -------------}
for k:=0 to 2 do begin
y[k+1, 3]:=y[k, 2]+h*F(x[k], y[k, 2]);
{“в®з塞}
repeat
yy:=y[k+1, 3];
y[k+1, 3]:=y[k, 3]+h/2*(f(x[k], y[k, 3])+f(x[k+1], y[k+1, 3]));
until y[k+1, 3]-yy<=0.00001
end;
{----------- 4-© бв®«ЎЁЄ - б Ё«гз襩 w ----------------------}
for k:=0 to n-1 do begin
w:=0.9{0.81875};
a2:=w; b2:=1/(2*w); b1:=b2; a1:=1-w;
y[k+1, 4]:=y[k, 4]+h*(a1+a2)*f(x[k], y[k, 4])+h*h*a2*b1*(y[k, 4]/sqr(cos(x[k]))+x[k]*x[k]*sin(x[k])-2*x[k]*cos(x[k]))+
h*h*f(x[k],y[k,4])*sin(x[k])/cos(x[k]);
end;
{----------- 5-© бв®«ЎЁЄ - в®з®Ґ аҐиҐЁҐ ---------------------}
for k:=0 to n do
y[k, 5]:=sec(x[k]);
{----------- ЊҐв®¤ ЊЁ« (¤«п ўбҐе бв®«ЎЁЄ®ў)--------------------}
for i:=1 to 4 do {зҐвлॠбв®«ЎЁЄ }
for k:=4 to n do begin
{ЏаҐ¤Ї®«®¦ЁвҐ«м®Ґ § 票Ґ:}
y[k, i]:=y[k-4, i]+4*h/3*(2*f(x[k-3], y[k-3, i]) -
f(x[k-2], y[k-2, i]) +
2*f(x[k-1], y[k-1, i]));
{“в®з塞:}
y[k, i]:=y[k-2, i] + h/3*( f(x[k-2], y[k-2, i]) +
4*f(x[k-1], y[k-1, i]) +
f(x[k], y[k, i]));
end;
WriteLn('N':3, '| ', 'Џа®бв®©':12, '| ', 'Њ®¤ЁдЁжЁа':12, '| ', '“в®зҐл©':12, '| ', '‘ Ё«гзиЁ¬':12, '| ', '’®з®Ґ':12);
WriteLn(' ':3, '| ', 'ќ©«Ґа':12, '| ', 'ќ©«Ґа':12, '| ', 'ќ©«Ґа':12, '| ', 'w':12, '| ', '§ 票Ґ':12);
Write('--------------------------------------------------------------------------------');
for i:=0 to n do
WriteLn(i:3, '| ', y[i, 1]:12:10, '| ', y[i, 2]:12:10, '| ', y[i, 3]:12:10, '| ',
y[i, 4]:12:10, '| ', y[i, 5]:10:10);
readln;
end.
Соседние файлы в папке Мишины