Procedure DiagnozPoint(var Fssd,Tcrj1,Trj1 :single; var txx:mast; kj,kjj: integer); { OЇаҐ¤Ґ«Ґ*. ¤Ё Ј*®§ ¬ и. ў в®зЄҐ}
var fd1 : array [2..4] of real;
Begin
for i:= 2 to 4 do
Fd1[i]:=0.5*Au[i]+0.5*(0.5*Au[i]+0.5*Au[i]);
Writeln ;
Write(' DIAGNOS MAWUNU ');
Writeln ;
writeln(' na ',data[1]:2,'.',data[2]:2,'.',data[3]:4,'g.');
Writeln;
if (Fssd >= 0) and (Fssd < Fd1[2]) then
Writeln('Mawuna v ispravnom sostoyanii ');
if (Fssd >= Fd1[2]) and (Fssd < Fd1[3]) then
Writeln('MAwuna v rabotosposobnom sostoyanii. ');
if (Fssd >= Fd1[3]) and (Fssd < Fd1[4]) then
begin
Writeln('Mawune trebuetsya remont. ');
Writeln(' ЏаЁзЁ* : - ',sgarm[kj]);
end;
if (Fssd >= Fd1[4]) then
begin
Writeln('Mawuna podlegut remontu. ');
Writeln(' Pri4ina : - ',sgarm[kj]);
end;
if m > 2 then
begin
IF tRj1>= 2*tppr then
begin
Trj1:=2*Tppr;
Tcrj1:=txx[m]*(1-exp(-txx[m]/trj1))+Trj1*exp(-txx[m]/trj1);
end;
{else}
IF tRj1 < 2*tppr then
begin
Tcrj1:=Tcrj1;
Trj1:=Trj1;
end;
if (Fssd >= Fd1[4]) then
begin
writeln('-* а Ў®вЄ г§« ¬ иЁ*л ¤® ®бв *®ўЄЁ * ६®*в ');
writeln(' б®бв ў«пҐв: 0 , cгв.' );
end;
if (Fssd < Fd1[4]) then
begin
if {(Fssd < Fd1[3]) or }(kj=kjj) then begin
writeln('-* а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln('б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end;
if (kj<>kjj) and (Fssd >= Fd1[3]) then
begin
writeln('Ё§-§ ЇаҐўлиҐ*Ёп ЇаҐ¤Ґ«м*® ¤®ЇгбвЁ¬®Ј® га®ў*п');
writeln('Ј ମ*ЁЄЁ, ॠЈЁаго饩 * ¤ **л© ¤ҐдҐЄв.');
writeln('ђҐбгаб ®Ја *ЁзЁў Ґв ¤ҐдҐЄв: ',sgarm[kjj],',');
writeln('Ё§-§ Ї®ўлиҐ**®© бЄ®а®бвЁ ҐЈ® а §ўЁвЁп.');
writeln('‚ १г«мв ⥠нв®Ј® * а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln('б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end;
if (kj<>kjj) and (Fssd < Fd1[3]) then
begin
writeln('-* а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln('б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end; end;end;
readkey;
Writeln(fr,'') ;
Write(fr,' „?ЂѓЌЋ‡ ЊЂ˜?Ќ› ');
Writeln(fr,'') ;
writeln(fr,' * ' ,data[1]:2,'.',data[2]:2,'.',data[3]:4,'Ј.');
Writeln(fr,'');
if (Fssd >= 0) and (Fssd < Fd1[2]) then
Writeln(fr,'Њ иЁ* ў ЁбЇа ў*®¬ б®бв®п*ЁЁ. ');
if (Fssd >= Fd1[2]) and (Fssd < Fd1[3]) then
Writeln(fr,'Њ иЁ* ў а Ў®в®бЇ®б®Ў*®¬ б®бв®п*ЁЁ. ');
if (Fssd >= Fd1[3]) and (Fssd < Fd1[4]) then
begin
Writeln(fr,'Њ иЁ*Ґ вॡгҐвбп ®б¬®ва. ');
Writeln(fr,' ЏаЁзЁ* : - ',sgarm[kj]);
end;
if (Fssd >= Fd1[4]) then
begin
Writeln(fr,'Њ иЁ* Ї®¤«Ґ¦Ёв ६®*вг. ');
Writeln(fr,' ЏаЁзЁ* : - ',sgarm[kj]);
end;
if m > 2 then
begin
writeln(fr,'Fss=',Fssd:5:5);
if (Fssd >= Fd1[4]) then
begin
writeln(fr,'-* а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln(fr,'б®бв ў«пҐв: 0, cгв.' );
end;
if (Fssd < Fd1[4]) then
begin
if (kj=kjj){ and (Fssd < Fd1[3])}then begin
writeln(fr,'-* а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln(fr,'б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end;
if (kj<>kjj) and (Fssd >= Fd1[3]) then
begin
writeln(fr,'Ё§-§ ЇаҐўлиҐ*Ёп ЇаҐ¤Ґ«м*® ¤®ЇгбвЁ¬®Ј® га®ў*п');
writeln(fr,'Ј ମ*ЁЄЁ, ॠЈЁаго饩 * ¤ **л© ¤ҐдҐЄв.');
writeln(fr,'ђҐбгаб ®Ја *ЁзЁў Ґв ¤ҐдҐЄв: ',sgarm[kjj],',');
writeln(fr,'Ё§-§ Ї®ўлиҐ**®© бЄ®а®бвЁ ҐЈ® а §ўЁвЁп.');
writeln(fr,'‚ १г«мв ⥠нв®Ј® * а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln(fr,'б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end;
if (kj<>kjj) and (Fssd < Fd1[3]) then
begin
writeln(fr,'-* а Ў®вЄ ¬ иЁ*л ¤® ६®*в ');
writeln(fr,'б®бв ў«пҐв:',(Tcrj1-tXx[m]):5:1,' - ',(Trj1-tXx[m]):5:1,' cгв.' );
end; end;
End;
readkey;
END;
Procedure Diagnostika(var Ygpr:masL{; var MinTr,MinTrl1 : maskdd; Var Maxfdd:single; s: string});
begin
if m > 2 then
begin
for j:=1 to L+1 do
begin
Str(j,ds);
fname:=s+'4'+ds+'.bmp';
Ao:=yg[j,1];
Apr:=Ygpr[j];
Aaotn:=abs((yg[j,m]-ao)/(apr-ao));
Votn[j]:=(Tppr-tx[1])/(Tr2[j]-tx[1])*tx[j]/Tr2[j];
Fdd[j]:=0.5*Aaotn + 0.5*Votn[j];
Trl1[j]:=tx[m]*(1-exp(-tx[m]/Tr2[j]))+tr2[j]*exp(-tx[m]/Tr2[j]);
writeln('T⥪=',tx[m]:5:2,'');
writeln('TЇ®«*=',Trl1[j]:5:1,'...',Tr2[j]:5:1,' cyt');
writeln('Toct=',Tr2[j]-tx[m]:5:1,' cyt');
writeln('j=',j:5,'');
writeln('Yg=',Yg[j,m]:5:5,'');
writeln('bet=',bet[j]:5:5,'');
readkey;
writeln('Fd[',j,']=',Fdd[j]:5:4,' ');
readkey;
end;
end
else
begin
for j:=1 to L+1 do
begin
Fdd[j]:=Yg[j,m]/Ygpr[j];
end;
End;
{DiagnozDef(Tr2,Fdd,Trl1,Votn);}
{‘⥯Ґ*м а §ўЁвЁп ¤ҐдҐЄв }
if m > 2 then
Begin
bt:=Fdd[1];
kj:=1;
for jj:=2 to L+1 do
begin
if bt < Fdd[jj] then
begin
bt:=Fdd[jj];
kj:=jj;
{ MaxFdd:=Fdd[kj];}
end;
end;
MaxFdd:=Fdd[kj];
{ MinTr[kd]:=Tr2[kj]; {гЎа вм kd}
{MinTrl1[kd]:=Trl1[kj]; {гЎа вм kd}
{ if MaxFdd >= Au[4] then
FS[kd]:= MaxFdd
else }
FS[kd]:=0.3*As[m]/Asned+0.7*MaxFdd;
bt:=Tr2[1];
kjj:=1;
for jj:=2 to L+1 do
begin
if bt > Tr2[jj] then
begin
bt:=Tr2[jj];
kjj:=jj;
{ Mintr[kd]:=Tr2[kjj];
MinTrl1[kd]:=Trl1[kjj];}
end;
end;
{if Mintr[kd]>=Tr2[kj] then begin}
Mintr[kd]:=Tr2[kjj];
MinTrl1[kd]:=Trl1[kjj];
{kjj:=kj;
end;} end
else
begin
Fs[kd]:=As[m]/Asned; {гЎа вм kd}
MinTrl1[kd]:=1;
MinTr[kd]:=1;
end;
DiagnozPoint(Fs[kd],MinTrl1[kd],MinTr[kd],tx,kj,kjj); { „Ё Ј*®§ ў в®зЄҐ Є®*ва®«п.}
DiagnozDef(Tr2,Fdd,Trl1,Votn);
End;