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

diff13стр43

.pas
Скачиваний:
11
Добавлен:
09.12.2013
Размер:
3 Кб
Скачать
program lab3;
uses crt;

function FXY(X,Y:real):real;
begin
FXY:=(Y*cos(Y/X)-X)/(X*cos(Y/X));
end;

function dF1(X1,Y1,X2,Y2:real):real;
begin
dF1:=FXY(X1,Y1)-FXY(X2,Y2);
end;

function dF2(X1,Y1,X2,Y2,X3,Y3:real):real;
begin
dF2:=FXY(X1,Y1)-2*FXY(X2,Y2)+FXY(X3,Y3);
end;

function dF3(X1,Y1,X2,Y2,X3,Y3,X4,Y4:real):real;
begin
dF3:=FXY(X1,Y1)-3*FXY(X2,Y2)+3*FXY(X3,Y3)-FXY(X4,Y4);
end;

function Ytoch(X,Y0:real):real;
var Y,e,e0:real;
begin
Y:=Y0-0.1;
e:=10;
repeat
Y:=Y+0.001;
e0:=e;
e:=abs(1-x*exp(sin(Y/X)));
until e>=e0;
Ytoch:=Y-0.001;
end;

var X,Ypr,Yispr,Ymod,YApr,YAispr,YAmod,h:real;
i,j,k:integer;
X0,Ypr0,Yispr0,Ymod0:array[1..4] of real;

begin
clrscr;
write('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® и Ј®ў: ');
readln(k);
h:=4/k;
X:=1;
Ypr:=0;
Yispr:=0;
Ymod:=0;

writeln('‡­ зҐ­Ёп дг­ЄжЁЁ: ь(1-3) - Ї® ®¤­®и Ј®ўл¬ ¬Ґв®¤ ¬ ќ©«Ґа ;');
writeln(' ь(4-',k,') - Ї® ¬Ґв®¤г Ђ¤ ¬б ');
writeln('ЪДДДДВДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДї');
writeln('і ь і Џа®бв®© ќ©«Ґаa і €бЇа ў«. ќ©«Ґаa і Њ®¤Ёд. ќ©«Ґаa і ’®з­®Ґ §­ з. і');
writeln('ГДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДґ');

for i:=0 to 3 do
begin
writeln('і',i:3,' і',Ypr:15:10,' ','і',Yispr:15:10,' ','і',Ymod:15:10,' ','і',Ytoch(X,Ymod):15:10,' ','і');
X0[i+1]:=X;
Ypr0[i+1]:=Ypr;
Yispr0[i+1]:=Yispr;
Ymod0[i+1]:=Ymod;
X:=X+h;
Ypr:=Ypr+h*FXY(X,Ypr);
Yispr:=Yispr+h/2*(FXY(X,Yispr)+FXY(X+h,Yispr+h*FXY(X,Yispr)));
Ymod:=Ymod+h*FXY(X+h/2,Ymod+h/2*FXY(X,Ymod));
end;

writeln('ГДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДґ');

repeat
i:=i+1;

YApr:=Ypr0[4]+h*(FXY(X0[4],Ypr0[4])+
1/2*dF1(X0[4],Ypr0[4],X0[3],Ypr0[3])+
5/12*dF2(X0[4],Ypr0[4],X0[3],Ypr0[3],X0[2],Ypr0[2])+
3/8*dF3(X0[4],Ypr0[4],X0[3],Ypr0[3],X0[2],Ypr0[2],X0[1],Ypr0[1]));

YAispr:=Yispr0[4]+h*(FXY(X0[4],Yispr0[4])+
1/2*dF1(X0[4],Yispr0[4],X0[3],Yispr0[3])+
5/12*dF2(X0[4],Yispr0[4],X0[3],Yispr0[3],X0[2],Yispr0[2])+
3/8*dF3(X0[4],Yispr0[4],X0[3],Yispr0[3],X0[2],Yispr0[2],X0[1],Yispr0[1]));

YAmod:=Ymod0[4]+h*(FXY(X0[4],Ymod0[4])+
1/2*dF1(X0[4],Ymod0[4],X0[3],Ymod0[3])+
5/12*dF2(X0[4],Ymod0[4],X0[3],Ymod0[3],X0[2],Ymod0[2])+
3/8*dF3(X0[4],Ymod0[4],X0[3],Ymod0[3],X0[2],Ymod0[2],X0[1],Ymod0[1]));

writeln('і',i:3,' і',YApr:15:10,' ','і',YAispr:15:10,' ','і',YAmod:15:10,' ','і',Ytoch(X,YAmod):15:10,' ','і');

for j:=1 to 3 do
begin
X0[j]:=X0[j+1];
Ypr0[j]:=Ypr0[j+1];
Yispr0[j]:=Yispr0[j+1];
Ymod0[j]:=Ymod0[j+1];
end;

X0[4]:=X;
Ypr0[4]:=YApr;
Yispr0[4]:=YAispr;
Ymod0[4]:=YAmod;

X:=X+h;

if (i=16) or ((i mod 24)=16) then
begin
write('Ќ ¦¬ЁвҐ «оЎго Є« ўЁиг...');
readkey;
clrscr;
end;

until i=k;

writeln('АДДДДБДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДЩ');
readkey;
end.
Соседние файлы в предмете Вычислительные методы