Если нуль возможен, то примерно так.
function whatsign(a: array of integer):boolean;
var find:boolean;
i:integer;
begin
i:=min(a);
find:=false;
result:=false;
while (not find) and (i<=max(a)) do<br> begin
find:=a[i]<>0;
if find then result:=a[i]>0;
i:=i+1;
end;
end;
Функция вернёт True, если раньше положительное и False, если раньше отрицательное.
Примерно так. Проверь синтаксис объявления переменных и функции.