var
A: array [1..10] of Integer; // объявление массива границы можно поменять, программа это поймет
i, t, P: Integer; // объявление переменных
IsFound: Boolean; // объявление булевой переменной
begin
Randomize; // инициализация датчика случайных чисел
for i := Low (A) to High (A) do // цикл по всем элементам массива
A [i] := Random (104) - 56; // сохранение в элементе массива случайного числа со значением от -56 до 47
Writeln ('Случайный массив:');
for i := Low (A) to High (A) do // цикл вывода номеров и значений массива
WriteLn (IntToStr (i) + ': ' + IntToStr (A [i]) + ' ');
Writeln;
Write ('Введите число t: ');
ReadLn (t); // ввод числа t с клавиатуры
P := 1; // Начальное значение для подсчета произведения элементов
IsFound := False; // установка начального значения флага, выбран ли хотя бы один элемент массива
Writeln;
Write ('Четные элементы, значение которых больше ' + IntToStr (t) + ':');
for i := Low (A) to High (A) do begin // цикл просмотра всех элементов массива
if i mod 2 = 0 then begin // проверка номера элемента на четность
if A [i] > t then begin // элемент массива превосходит число t?
IsFound := True; // установить флаг: найден элемент массива, удовлетворяющий условиям выбора
P := P * A [i]; // добавить элемент к произведению
Write (IntToStr (A [i]) + ' ');
end;
end;
end;
Writeln;
if IsFound then // если найден хотя бы один элемент, выводим произведение
Writeln ('Произведение четных элементов, значение которых больше ' + IntToStr (t) + ' = ' + IntToStr (P))
else // иначе сообщаем, что не найдено
WriteLn ('Четных элементов, значение которых больше ' + IntToStr (t) + ' не найдено.');
end;
// ------ конец кода программы ---------
объяснение даны в коде в виде комментариев. скриншот с экрана во вложении