Var de:text;
I,Imin,Imax,dI,Р,РC,eps,U,U0
:real;
k,N,dn : integer;
{--------------------------------------------------------------------}
procedure mMOD ;
begin
U:=
U0 - І*2
;
Р:=U*І;
end;
{--------------------------------------------------------------------}
BEGIN {program
ОРТ1}
assign
(de,'opt1.rez'); rewrite(de);
writeln (de, ' k I
Р
РC
U dI ');
Imin:=0; Imax:=1;
U0:=2;
РC:=1e-12;
eps:= 0.01;
dI:=(Imax-Imin)/20; I:=dI*3;
for k:=1 to 100 do begin
I:=I+dI;
mMOD;
writeln (de,k:3, I:8:5,
Р:8:5,
FC:8:5, U:6:3, dI:10:6);
if (abs(dI))<eps then goto 2;
if Р>РC
then goto 1;
if
Р<0
then goto 2;
dI:=-dI*0.4;
1: РC:=Р;
end {1...100};
2: writeln(de); writeln
(de, k:3,' I-U-Р-dI',I:6:2,
U:6:2, Р:6:2,
dI:10:5);
close (de);
END.