Ан
Анютка

Почему выдает ошибку о вещественом деление на 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.

КП
Калян Пятьдесятвторой

в случае а=0 оно и даст ошибку. А еще число в 0й степени равно 1 а не 0. И почему у тебя степень longint а не real? Эта функция могла бы отлично и дробные степени считать т. е. корни любых степеней)

Похожие вопросы
Выдает ошибку в интернете.
Delphi, что не так? почему выдает ошибку на then?
у меня в игре выдает warace ошибка почему
почему delphi выдает ошибку на ''?
почему когда я устанавливаю игры мне всегда выдает ошибки
У меня HTC Wildfire выдал ошибку и ни на что не откликается
почему wordl edit выдает ошибку?
Стиральная машина Вязьма. Выдает ошибку.
При запуске Опера выдает ошибку.
Компьютер выдает ошибку STOP:с000021а