Документ взят из кэша поисковой машины. Адрес оригинального документа : http://star.arm.ac.uk/f77to90/code/lab1_e.p
Дата изменения: Tue Jan 9 17:31:00 1996
Дата индексирования: Tue Oct 2 02:39:05 2012
Кодировка:

Поисковые слова: universe
program RK1;
(* A simple program in Pascal for Runge-Kutta's method for a
first order differential equation.
dy/dx = x^2 + sin(xy)
y(1) = 2 *)
var number, i : integer;
h, k1, k2, k3, k4, x, y : real;
function f(x,y : real) : real;
begin
f := x*x + sin(x*y)
end;
begin
number := 1;
while number > 0 do
begin
x := 1.0;
y := 2.0;
writeln(' Give the number of steps ');
read(number);
if number >= 1 then
begin
writeln(' Give the step length ');
read(h);
writeln(' x y');
writeln(x, y);
for i := 1 to number do
begin
k1 := h*f(x,y);
k2 := h*f(x+0.5*h,y+0.5*k1);
k3 := h*f(x+0.5*h,y+0.5*k2);
k4 := h*f(x+h,y+k3);
x := x + h;
y := y + (k1+2*k2+2*k3+k4)/6;
writeln(x, y);
end;
end;
end;
end.