очень старая лаба))))) возведение в степень без использования спец функций
метод ускореного умножения
Цитата:
program grade;
var
y, d : integer;
S, x, z : real;
BEGIN
writeln('Введiть основу x:');
readln(x);
writeln('Введiть показник y:');
readln(y);
if (x=0) then
begin
if (y>0) then
begin
S:=0;
writeln('Результат: ',S:4:0);
end
else writeln('Значення не знайденi');
end
else
begin
d:=abs(y);
z:=x;
S:=1;
repeat
begin
if ((d mod 2)=1) then S:=S*z;
z:=z*z;
d:=d div 2;
end
until (d<=0);