Написать функцию возведения в степень и вычислить выражение | Язык Паскаль

Написать функцию возведения в степень и вычислить выражение

Составить программу вычисления данного выражения: y = (x6*(x-5)3) / (2*x+1)5. Возведение выражений в степень с натуральным показателем оформить в виде функции, как нахождение произведения одинаковых множителей. Не использовать стандартной математической функции вычисления степени.

var 
    y, x: real;
    a, b, c: real;

function exp(x: real; n: integer): real;
    var 
      i: integer; 
      k: real;   
    begin
       k := 1;
       for i := 1 to n do
            k := k * x;
       exp := k;
    end;

begin
    write('X = '); 
    readln(x);

    a := exp(x, 6);
    b := exp(x-5, 3);
    c := exp(2*x+1, 5);

    y := (a * b) / c;

    writeln ('Y = ', y:5:4);
end.

Примеры выполнения кода:

X = -0.225
Y = -0.3677
X = 8.34
Y = 7.2581