
Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:laba3
.pas program laba3;
const h=0.1;
var x,y,w,t,yp,yk: array[0..40] of real;
i:integer;
q:text;
begin
x[0]:=0; y[0]:=0; w[0]:=0;
assign(q,'rez.txt');
rewrite(q);
{prostoy eyler}
writeln(q,'prostoy');
for i:=0 to 39 do
begin
x[i+1]:=x[i]+h;
w[i+1]:=w[i]+h*(exp(x[i])+5*w[i]-6*y[i]);
y[i+1]:=y[i]+h*w[i];
t[i+1]:=-exp(2*x[i])+0.5*exp(3*x[i])+0.5*exp(x[i]);
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{ispr}
writeln(q,'ispr');
for i:=0 to 39 do
begin
w[i+1]:=w[i]+h/2*(5*w[i]-6*y[i]+exp(x[i])+5*(w[i]+h*(5*w[i]-6*y[i]+exp(x[i])))-6*(y[i]+h*w[i])+exp(x[i]+h));
y[i+1]:=y[i]+h/2*(w[i]+w[i]+h*(5*w[i]-6*y[i]+exp(x[i])));
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{mod}
writeln(q,'mod');
for i:=0 to 39 do
begin
w[i+1]:=w[i]+h*(exp(x[i]+h/2)+5*(w[i]+h/2*(exp(x[i])+5*w[i]-6*y[i]))-6*(y[i]+h/2*w[i]));
y[i+1]:=y[i]+h*(w[i]+h/2*(5*w[i]-6*y[i]+exp(x[i])));
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{milna}
writeln(q,'milna');
for i:=0 to 3 do
yk[i]:=y[i];
for i:=3 to 39 do
begin
yp[i+1]:=yk[i-3]+4*h/3*(2*yk[i-2]-yk[i-1]+2*yk[i]);
yk[i+1]:=yk[i-1]+h/3*(yp[i+1]+4*yk[i]+yk[i-1]);
writeln(q,yp[i+1],yk[i+1],t[i+1]);
end;
close(q);
end.
const h=0.1;
var x,y,w,t,yp,yk: array[0..40] of real;
i:integer;
q:text;
begin
x[0]:=0; y[0]:=0; w[0]:=0;
assign(q,'rez.txt');
rewrite(q);
{prostoy eyler}
writeln(q,'prostoy');
for i:=0 to 39 do
begin
x[i+1]:=x[i]+h;
w[i+1]:=w[i]+h*(exp(x[i])+5*w[i]-6*y[i]);
y[i+1]:=y[i]+h*w[i];
t[i+1]:=-exp(2*x[i])+0.5*exp(3*x[i])+0.5*exp(x[i]);
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{ispr}
writeln(q,'ispr');
for i:=0 to 39 do
begin
w[i+1]:=w[i]+h/2*(5*w[i]-6*y[i]+exp(x[i])+5*(w[i]+h*(5*w[i]-6*y[i]+exp(x[i])))-6*(y[i]+h*w[i])+exp(x[i]+h));
y[i+1]:=y[i]+h/2*(w[i]+w[i]+h*(5*w[i]-6*y[i]+exp(x[i])));
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{mod}
writeln(q,'mod');
for i:=0 to 39 do
begin
w[i+1]:=w[i]+h*(exp(x[i]+h/2)+5*(w[i]+h/2*(exp(x[i])+5*w[i]-6*y[i]))-6*(y[i]+h/2*w[i]));
y[i+1]:=y[i]+h*(w[i]+h/2*(5*w[i]-6*y[i]+exp(x[i])));
writeln(q,w[i+1],y[i+1],t[i+1]);
end;
writeln(q);
{milna}
writeln(q,'milna');
for i:=0 to 3 do
yk[i]:=y[i];
for i:=3 to 39 do
begin
yp[i+1]:=yk[i-3]+4*h/3*(2*yk[i-2]-yk[i-1]+2*yk[i]);
yk[i+1]:=yk[i-1]+h/3*(yp[i+1]+4*yk[i]+yk[i-1]);
writeln(q,yp[i+1],yk[i+1],t[i+1]);
end;
close(q);
end.
Соседние файлы в предмете Вычислительные методы