Para la potencia, puedes usar esto, que es más corto, aunque tu método también está bien:
Function Potencia(Base, Exponente:integer) : real;
begin
Potencia := Exp(Base*Ln(Exponente));
end;
Aquí usamos el hecho de que el logaritmo es la inversa de la exponencial para eliminar el número e y conseguir base elevado a exponente
Ah, y muy pocas veces se usan números reales como base o exponente porque se los números decimales se pueden convertir a potencias fácilmente
¿Sabes cómo se define una factorial?
factorial(x) = x * factorial(x-1), donde factorial(1) = 1
¿Cómo harías esto en Pascal?
Por favor, usa la etiquetas de código