Есть задача
Program zadanie1;
uses matem;
var z,x,y:real; n:byte; f:real;
begin;
write('x=');readln(x);
write('y=');readln(y);
stepen;
fact;
ctg;
th;
z:=stepen+(fact/ctg)+th
end.
unit matem;
interface
function th:real;
function fact:real;
function ctg:real;
function stepen:real;
implementation
function th:real;
var c,x,th:real;
begin;
c:=exp(2*x);
th:=(c-1)/(c+1);
end;
function ctg:real;
var x:real;
begin;
x:=x*pi/180;
ctg:=cos(x)/sin(x)
end;
function fact:real;
var n,i:byte; s,f,y:real;
begin f:=1;
for i:=1 to n do
f:=f*i;
y:=exp((1/4)*ln(f))
end;
function stepen:real;
var x,y:real;
begin;
y:= exp(1/4 * ln(y));
x:=exp(y*ln(x));
end;
end.
. При запуске выдаёт вещественное деление на ноль в функции stepen и вещественное переполнение при подсчёте ctg.
Выручайте пожалуйста!