Если нуль возможен, то примерно так.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 begin find:=a[i]<>0; if find then result:=a[i]>0; i:=i+1; end;end; Функция вернёт True, если раньше положительное и False, если раньше отрицательное.Примерно так. Проверь синтаксис объявления переменных и функции.