Функция вычисления f(x) в зависимости от значения x

Задача: 

Описать функцию вычисления f(x) по формуле:
f(x)= x^2 при -2<=x<2;
x^2+4x+5 при x>=2;
4 при x<-2.

Используя эту функцию для n заданных чисел, вычислить f(x). Среди вычисленных значений найти наибольшее.

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

const
    n = 5;
var
    a, max: integer;
    i: byte;
    arr: array[1..n] of integer;
 
function func(x: integer): integer;
    begin
        if (x >= -2) and (x < 2) then
            func := x * x
        else
            if x >= 2 then
                func := x * x + 4 * x + 5
            else
                func := 4;
    end;
 
begin
    max := -32768;
    for i:=1 to n do begin
        write('a = '); readln(a);
        arr[i] := func(a);
        if arr[i] > max then
            max := arr[i];
    end;
 
    write('Result: ');
    for i:=1 to n do
        write(arr[i], ' ');
    writeln;
    writeln('max = ', max);
 
readln;
end.

Комментарии

var

var y,x:real;
begin;
Writeln('введите число x');
Readln(x);
y:=pow(x,cтепень)+(x-5);
end.

помогите с программой!

В данном разделе требуется составить программу, вычисляющую значение некоторой сложной функции при помощи описанных ранее пользовательских процедур или функций.
Даны числа s и t. Вычислить:
f(x,y)=(tg(x/3)-ctg(y/5)) / (x+y) ,
где x=x(s,t)=∑(is+t(10-i)!) / (i!st), y=y(s,t)=s^6*t+2*s^5*t^2-11*s^2*t^5.
'^' - степень числа ;
"∑"- сумма (сверху 10, снизу i=0)