Собственно, где ошибка?
Код:
program stepfor;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
a, b, i: integer;
p, k:real;
Begin
writeln ('vvedite osnovanie stepeni a');
readln(a);
writeln ('vvedite pokazatel stepeni b');
readln(b);
i:=0;
p:=1;
while i<=b do
begin
p:=p*a;
i:=i+1; { 1*a 1*a^2 1*a^3 ...........................}
end;
writeln ('otvet= ',p:3:3);
readln;
End.
-- 22.10.2014, 23:10 --А, разобрался, там надо было перед циклом положить
Код:
i:=1;
-- 22.10.2014, 23:20 --Хорошо, но вот если степень отрицательная, то после цикла while можно добавить условие:
Код:
if b<0 then
p:=1/(p*a);
А вот в цикле repeat until такая штука не прокатывает
Код:
i:=0;
p:=1;
repeat
i:=i+1;
p:=p*a;
until i=b;
if b<0 then
p:=1/(p*a);
Там зацикливание начинается?