Помогите, глюк
Добавлено: 18.05.2013 22:44:04
Не понимаю почему программа виснет, т.е. после нажатия Run дальше ничего не происходит. Приходится закрывать Паскаль
Спасибо!
Program IZDAN12;
TYPE ODN=Array[1..5] of real;
VAR A,B:real;
E:ODN;
FA,FB,X:real;
I:byte;
fp1,fp2:text;
FUNCTION ZNF(X:real):real;
Begin
ZNF:=((EXP(1/3*ln(4))-SQR(sin(X/10)))/SQRT(X)-X);
End;
PROCEDURE XTE(Var TA,TB,TE:real; Var X:real);
Var S,FTB,FS:real;
Begin
FTB:=ZNF(B);
S:=(TB-TA)/2;
REPEAT
FS:=ZNF(S);
IF (FS*FTB<0) THEN
TA:=S
ELSE
begin
TB:=S;
FTB:=FS
end;
S:=(TB-TA)/2;
UNTIL ABS(TB-TA)<=TE;
X:=S;
End;
BEGIN
ASSIGN(fp1,'isdan.pas');
ASSIGN(fp2,'vdan.pas');
RESET(fp1);
REWRITE(fp2);
FOR I:=1 TO 5 DO
read(fp1,E[I]);
readln(fp1);
Readln(fp1,A,B);
Writeln(fp2,' ':35,'RESULT');
Writeln(fp2);
FA:=ZNF(A);
FB:=ZNF(B);
FOR I:=1 TO 5 DO
IF FA*FB<0 THEN
begin
XTE(A,B,E[I],X);
writeln(fp2,'Znachenie kornya X=',X:4:4,'Pri zadannoi tochnosti E=',E[I]:4:4)
end
ELSE
writeln(fp2,'kornei net');
CLOSE(fp1);
CLOSE(fp2)
END.
Спасибо!
Program IZDAN12;
TYPE ODN=Array[1..5] of real;
VAR A,B:real;
E:ODN;
FA,FB,X:real;
I:byte;
fp1,fp2:text;
FUNCTION ZNF(X:real):real;
Begin
ZNF:=((EXP(1/3*ln(4))-SQR(sin(X/10)))/SQRT(X)-X);
End;
PROCEDURE XTE(Var TA,TB,TE:real; Var X:real);
Var S,FTB,FS:real;
Begin
FTB:=ZNF(B);
S:=(TB-TA)/2;
REPEAT
FS:=ZNF(S);
IF (FS*FTB<0) THEN
TA:=S
ELSE
begin
TB:=S;
FTB:=FS
end;
S:=(TB-TA)/2;
UNTIL ABS(TB-TA)<=TE;
X:=S;
End;
BEGIN
ASSIGN(fp1,'isdan.pas');
ASSIGN(fp2,'vdan.pas');
RESET(fp1);
REWRITE(fp2);
FOR I:=1 TO 5 DO
read(fp1,E[I]);
readln(fp1);
Readln(fp1,A,B);
Writeln(fp2,' ':35,'RESULT');
Writeln(fp2);
FA:=ZNF(A);
FB:=ZNF(B);
FOR I:=1 TO 5 DO
IF FA*FB<0 THEN
begin
XTE(A,B,E[I],X);
writeln(fp2,'Znachenie kornya X=',X:4:4,'Pri zadannoi tochnosti E=',E[I]:4:4)
end
ELSE
writeln(fp2,'kornei net');
CLOSE(fp1);
CLOSE(fp2)
END.