Witam napisałem sobie programik obliczający pierwiastek z danej liczby metodą Newtona. Gdy wpisze wszystkie dane wywala mi Exitcode 200. Co jest nie tak? Oto kod:
program Algorytm_Newtona;
Uses Crt;
var
a, p, e: real;
klaw: char;
procedure Start;
begin
ClrScr;
WriteLn('Program oblicza pierwiastek kwadratowy');
WriteLn('z dowolnej liczby stosujac algorytm Newtona.');
end;
procedure Podaj_Dane;
begin
Repeat
Write('Podaj liczbe podpierwiastkowa(a>0): ');
ReadLn(a);
if a<=0 then WriteLn('Podales zle dane!');
Until a>0;
WriteLn;
Write('Podaj poczatkowe przyblizenie wartosci pierwiastka(p>0): ');
ReadLn(a);
WriteLn;
Write('Podaj dokladnosc obliczen(e>0): ');
ReadLn(a);
end;
function PierwKw(a, p, e: real): real;
var
x: real;
begin
x:=p;
Repeat
p:=x;
x:=(p+a/p)/2;
Until Abs(p-x)<=e;
PierwKw:=x;
end;
begin
Repeat
Start;
WriteLn;
Podaj_Dane;
WriteLn('Pierwiastek z liczby ',a,' wynosi ',PierwKw(a, p, e));
WriteLn;
Write('Czy chcesz powtorzyc program?(T/N)');
klaw:=UpCase(ReadKey);
if klaw='N' then Exit;
Until klaw='T';
end.