Возведение числа в степень

Алгоритм решения задачи: 

Чтобы возвести число в степень, его надо умножить само на себя количество раз, равное показателю степени. Т.е. возведение числа n в степень d будет выглядеть так:

nd = n1 * n2 * n3 * … * nd, где индексы внизу просто указывают очередное по счету n.

Если d равно нулю, то, какое бы число не стояло в основании степени, результат всегда будет равен единице:

n0 = 1.

Если показатель степени отрицателен (d < 0), то результат определяется такой формулой:

nd = 1 / (n1 * n2 * n3 * … * nd).

В примере программы на языке Паскаль количество итераций (повторений) цикла while равно модулю показателю степени числа (переменная deg).

Если deg равно нулю, то цикл while не выполнится ни разу, т.к. начальное значение переменной i равно нулю, а 0 < 0 ложное утверждение. В результате переменная res будет содержать значение 1.

Если показатель степени был отрицательным числом, то нужно в последствие разделить единицу на значение переменной res.

Программа на языке Паскаль: 

var
    num, deg: integer;
    res: real;
    i: byte;
 
begin
 
    write ('Число: '); readln (num);
    write ('Степень: '); readln (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:10:5);
 
readln
end.

Комментарии

алгоритмы вычисления на паскале

написать наиболее короткие алгоритмы вычисления на паскале: y = xв8 степени; y = xв10; y = xв15; y = xв19. Постараться использовать минимальное количество дополнительных переменных. Выполнить трассировку алгоритмов.

дана сумма Х(i)/i! при i от 0

дана сумма Х(i)/i! при i от 0 до бесконечности.
считать эту сумму до тех пор, пока выражение Х(i)/i! не станет < E.

Помогите решить задачу из задачника PT4 For16 Pascal

Дано вещественное число А и целю число N (>0) Используя один цикл, вывести все целые числа степени числа А от 1 до N

ХД можно проще)

var x,n:integer;
BEGIN
writeln('Введите число: ');
readln(x);
writeln('Введите степень: ');
readln(n);
writeln('Равно: ', exp(n*LN(x)));
END.

это для чисел типа real а не

это для чисел типа real а не integer

пфф...Можно ещё

пфф...
Можно ещё проще

var a,b:integer;
begin
writeln('Введи число');
readln(a);
writeln('Введи степень');
readln(b);
writeln(power(a,b));  // power(a,b) - 'a' в степени 'b' 
end. 

ну ну

Ага и выйдет ошибка типов.
функция Power требует вещественный тип, так что...

Var
  a, b : Real;

помоите

помоите решить.пожалуйста!
дано натуральное n. Вычислить:
1/а+1/а в квадрате+1/а в четвертой ...+1/а 2 в n

Зайди сюда :

Зайди сюда : cyberforum.ru/turbo-pascal/thread710398.html

Помогите!

Дано вещественное число A и целое число N (> 0). Вывести A в степени N: An = A•A•...•A (числа A перемножаются N раз)

program m1; var a,R :

program m1;
var a,R : real;
n : integer;
begin
read (a,n);

R:= Exp(n*Ln(a)) ;

writeln(R);
end.