Помогите переделать прогу с метода половинного деления на метод сканирования
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.