Помогите с решением задание на PASCAL ! Пожалуйста !!!

Ответы
Ответ:
Человеческий Паскаль PascalABC.NET + .NET Framework
begin
var A := ArrRandom(12, -99, 99).Sorted.Reverse;
var E := ReadInteger();
if A.Contains(E) then Println('FINDED!')
else A.Where(x -> x <= E).Count.Println;
A.Where(x -> x < 0).Product.Println;
end.
АБСОЛЮТНО нечеловеческий Паскаль оченьдревний (Прости меня, BobbyFresnel. Я знаю, что должен был бороться со злом, а не примкнуть к нему)
//Что называется - с дробовика по мухам
var E : integer;
relict_array : array of integer;
i : integer;
lower_then_E, negatives : array of integer;
lower_count : integer;
multiple : integer;
function FindNumber(num: integer; list: array of integer):boolean;
var number : integer;
begin
foreach number in list do
if number = num then
FindNumber := True
else continue
end;
function Count(list: array of integer):integer;
var counter : integer;
number : integer;
begin
counter := 0;
foreach number in list do
counter += 1;
Count:= counter;
end;
function FilterIntArray(side:string ;border:integer; arr_length: integer; list: array of integer): array of integer;
var container : array of integer;
number : integer;
counter : integer;
begin
SetLength(container, arr_length);
counter := 0;
container[0] := 1; // что бы вернуло хоть что нибудь, если массив целиком "мимо" списка
if side = 'left' then
foreach number in list do
if number <= border then
begin
container[counter] := number;
counter += 1;
end
else continue;
if side = 'right' then
foreach number in list do
if number >= border then
begin
container[counter] := number;
counter += 1;
end
else continue;
FilterIntArray := container;
end;
function multiply(list: array of integer):integer;
var mul : integer;
number : integer;
begin
mul := 1;
foreach number in list do
if number = 0 then continue
else mul *= number;
multiply := mul;
end;
begin
SetLength(relict_array, 10);
for i := 0 to 10-1 do
readln(relict_array[i]);
readln(E);
if FindNumber(E, relict_array) then writeln('Finded!')
else
begin
lower_then_E := FilterIntArray('left', E, 10,relict_array);
lower_count := Count(lower_then_E);
writeln(lower_count);
end;
negatives := FilterIntArray('left', 0, 10,relict_array);
multiple := multiply(negatives);
writeln(multiple);
end.
Пример работы программы:
Введите упорядоченный по убыванию массив целых чисел (например 3 2 1)
5 4 3 -2 -7
Введите искомое целое числов E
6
Количество чисел, не больших Е: 5
Произведение отрицательных чисел: 14