Код:
var fP,fO:boolean;
...
fp:=false;
fo:=false;
for i:=1 to n do
if a[i]>0 then
fp:=true
else if a[i]<0 then
fo:=true;
Дальше смотришь:
fp=true и fo=true - значит есть И отрицательные, И положительные.
fp=false и fo=false - все нули.
в других случаях в задании ничего не сказано.