Помогите переделать прогу с метода половинного деления на метод сканирования
program lab1c;
uses crt;
label 1;
 var ti,pi,ki,ptn,ptv,ktn,ktv:array[1..3] of real;
     z,ztn,ztv,tn,tv,t,e: real;
     i,k: integer;
    const n=3;
       A: array[1..3] of real=(3.98202,4.03129,4.01946);
       B: array[1..3] of real=(1186.059,1214.645,1266.871);
       C: array[1..3] of real=(226.042,221.205,216.757);
       Y: array[1..3] of real=(0.8,0.1,0.1);
       p0=3.8;
 begin
 clrscr;
  for i:=1 to n do
  ti[i]:=(B[i]/(A[i]-ln(p0)/ln(10)))-C[i];
 writeln('tkip komponentov');
 writeln('metilsiklopentan ti=',ti[1]:3:3);
 writeln(' benzol ti=',ti[2]:3:3);
 writeln(' n-geptan ti=',ti[3]:3:3);
 writeln('sootvetstvyiyt li A,B,C polychennim tkip?');
 write('niz tn=');readln(tn);
 write('verh tv=');readln(tv);
 writeln('tochnost rascheta e=');
 readln(e);
  k:=0;
  repeat
  k:=k+1;
 for i:=1 to n do
 begin
  ptn[i]:=exp((A[i]-B[i]/(C[i]+tn))*ln(10));
  ptv[i]:=exp((A[i]-B[i]/(C[i]+tv))*ln(10));
  ktn[i]:=ptn[i]/p0;
  ktv[i]:=ptv[i]/p0;
 end;
 ztn:=0;ztv:=0;
 for i:=1 to n do
 begin
  ztn:=ztn+Y[i]/ktn[i];
  ztv:=ztv+Y[i]/ktv[i];
 end;
  ztn:=ztn-1;
  ztv:=ztv-1;
  t:=(tn+tv)/2;
 for i:=1 to n do
 begin
  pi[i]:=exp((A[i]-B[i]/(C[i]+t))*ln(10));
  ki[i]:=pi[i]/p0;
 end;
   z:=0;
   for i:=1 to n do
   begin
  z:=z+Y[i]/ki[i];
   end;
 z:=z-1;
 if abs(t-tn)<=e then goto 1;
 if z*ztv>0 then tv:=t else tn:=t;
 until k>100;
 writeln('oshibka!');
 1:
 writeln('rezultat rascheta');
 writeln('temperatura verha t=',t:3:3);
 writeln('chislo iteracii k=',k);
 readln;
end.
			
		





