Ответ:
program arraysum;
const
D = 30; // размерность массива, можно менять на любое другое
var
B: array [1..D] of Integer;
i, s, c, A: Integer;
begin
Write ('A = ');
ReadLn (A);
Write ('Введите массив из 30 элементов:');
for i := 1 to D do begin
ReadLn (B [i]);
end;
// Randomize; // это заполнение случайными числами можно для отладки раскоментарить
// for i := 1 to D do begin
// B [i] := Random (21) - 5;
// Write (B [i] :3, ' ');
// end;
s := 0;
c := 0;
for i := 1 to D do begin
if B [i] < 0 then
s := s + B [i];
if (B [i] > 0) and (B [i] < A) then
Inc (c);
end;
WriteLn;
WriteLn ('Сумма отрицательных чисел =', s);
WriteLn ('Количество положительных меньших ', A, ' = ', c);
ReadLn;
end.
===== PascalABC.NET =====
function nF(n: integer) := Range(1, n).Product;
begin
SeqGen(5, i -> nF(i), 1).Sum.Println
end.
Пусть изначально порядок записан, как "С. D".
Если D > C, переставить их местами. Иначе не менять порядок.
var a, b, c, n: integer;
begin
readln(a, b, c);
if a > b then n:= b else n:= a;
if n > c then n:= c;
writeln(n);
end.