Показать сообщение отдельно
Старый 03.06.2013, 13:25   #8
JlyHb92=)
AnyKey`щик
 
Регистрация: 02.06.2013
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Ошибка при программировании на Free pascal

Вот старый алгоритм
uses crt;
function Power(x,y:real):real;
begin
if x=0 then Power:=0
else if x>0 then Power:=exp(ln(x)*y)
else Power:=-exp(ln(abs(x))*y);
end;
var x,y:real;
begin
clrscr;
write('x=');readln(x);
write('y=');readln(y);
write('x^y=',Power(x,y):0:3);
readln
end.
Он не хотел работать вместе с моей программой из-за объявленной функции.
Вот новый:
var
    num, deg: real; res: real; i: byte;
 
begin
    
    writeln ('Введите основание и показатель степени:');
    readln (num,deg);
    
    res := 1;
 
    i := 0;
    while i < abs(deg) do begin
        res := res * num;
        i := i + 1
    end;
 
    if deg < 0 then
        res := 1 / res;
 
    writeln (res:0:5);
 
end.
(Offline)
 
Ответить с цитированием