Ан
Анютка
Почему выдает ошибку о вещественом деление на 0?
Program step;
var a, x:real;
n: integer;
function Stepen(a:real; n:longint):real;
begin
if n=0 then Stepen:=0 else
Stepen:=Exp(n*ln(abs(a)));
end;
begin
x:=0;
readln(a,n);
if n mod 2 = 0 then x:=stepen(a,n)
else begin
if a<0 then x:=-stepen(a,n);
if a>0 then x:=stepen(a,n);
end;
writeln(x);
END.