Показать сообщение отдельно
  #20  
Старый 17.03.2012, 00:20
deniks deniks вне форума
Прохожий
 
Регистрация: 08.03.2012
Сообщения: 25
Репутация: 10
По умолчанию

Код:
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;
Ответить с цитированием