Курсовая работа: Решение дифференциального уравнения первого порядка
const epsilon=0.05;
type mas=array[1..100] of real;
nabl=array [1..3] of real;
var i:integer;
x,y,y1,y2:mas;
nabl1,nabl2,nabl3:nabl;
a,h:real;
n:integer;
function f(x, y:real):real;
begin
f:=sqr(x)-sqr(y);
end;
procedure metod(xi, yi, step: real; var rez:real);
var k1, k2, k3, k4:real;
begin
k1:=F(xi,yi);
k2:=F(xi+step/2,yi+k1*step/2);
k3:=F(xi+step/2,yi+k2*step/2);
k4:=F(xi+step,yi+k3*step);
rez:=yi+(step/6)*(k1+2*k2+2*k3+k4)
end;
procedure osn_metod(xi, yi, step:real;var yh22:real;var h:real);
var yh,yh2:real;
begin
repeat
metod(xi, yi,step, yh);
metod(xi, yi, step/2, yh2);
metod(xi, yh2, step/2, yh22);
if abs(yh-yh22)/15>epsilon then step:=h/2;