пишу программу в лазарусе, занос даннных с помощью адресной строки, но у меня после окончания первой процедуры все закрывается, помогите!!
program project1(input, output);
var
dataout:text;
pos,vel,w2,dt,t:real;
ncalc,iprt,nprt:integer;
Procedure initial (var pos,vel,w2,dt:real;
var ncalc, nprt:integer);
var prt_period, total_time:real;
fname:string[10];
begin
write('nachal`nye coordinaty (metry) =');
readln(pos);
vel:=0.0; (*начальная скорость (м/с)*)
write('otnoshenie k/m = ');
readln(w2);
write ('shag po vremeni (c) = ');
readln(dt);
write('vremya mezhdu pechat`yu dannyh = ');
readln(prt_period);
write('polnoe vreamya modelirovaniya = ');
readln(total_time);
ncalc:=round(prt_period/dt);
nprt:=round(total_time/prt_period);
write('imyz faila dannyh = ');
readln(fname);
assignfile(dataout, fname);
rewrite(dataout);
writeln(dataout, 'время' : 11, 'координата' : 11, 'скорость' : 11);
//writeln(dataout);
//writeln('время' : 11, 'координата' : 11, 'скорость' : 11);
writeln
end;
вот тут
procedure Euler (var pos,vel,w2,dt:real;
ncalc:integer); (*алгоритм Эйлера-Кромера*)
var
accel:real;
icalc:integer;
begin
for icalc := 1 to ncalc do
begin
accel:=-w2*pos;
vel:=vel+accel*dt;
pos:=pos+vel*dt
end
end;
procedure outdat (pos,vel,t:real);
begin
writeln(t:11:4,pos:11:4, vel:11:4);
writeln(dataout,t:11:4,pos:11:4, vel:11:4)
end;
begin (*основная программа*)
initial(pos,vel,w2,dt,ncalc,nprt);
t:=0.0;
for iprt:=1 to nprt do
begin
outdat(pos,vel,t);
Euler (pos,vel,w2,dt,ncalc);
t:=t+ncalc*dt
end;
close(dataout)
end.