procedure CalcArray (const Ax: array of Integer; var S: Integer; var M: Real); // var в параметрах означает, что переменная используется для возврата значения
var
i, c: Integer;
begin
S := 0;
c := 0;
for i := 0 to High (Ax) do begin
S := S + Ax [i]; // здесь накапливаем сумму элементов
c := c + 1;
end;
M := S / c; // когда найдена сумму, рассчитываем среднеарифметическое
end;
var
A: array [0..4] of Integer; // размерность массивов можно делать любой, но начинаться с 0
B: array [0..14] of Integer;
C: array [0..9] of Integer;
i, s: Integer;
m: Real;
begin
SetConsoleCP (1251);
SetConsoleOutputCP (1251);
Randomize; // инициализация датчика случайных чисел
WriteLn ('Массив 1:');
for i := Low (A) to High (A) do begin
A [i] := Random (10); // заполняем элементы массива случайными значениями
Write (IntToStr (A [i]) + ' '); // выводим их для просмотра
end;
CalcArray (A, s, m); // вызов процедуры
WriteLn; // показываем возвращаемые из функции переменные
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
WriteLn; // аналогично поступаем с другими массивами
WriteLn ('Массив 2:');
for i := Low (B) to High (B) do begin
B [i] := Random (10);
Write (IntToStr (B [i]) + ' ');
end;
CalcArray (B, s, m);
WriteLn;
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
WriteLn;
WriteLn ('Массив 3:');
for i := Low (C) to High (C) do begin
C [i] := Random (10);
Write (IntToStr (C [i]) + ' ');
end;
CalcArray (C, s, m);
WriteLn;
WriteLn ('Сумма элементов = ' + IntToStr (s));
WriteLn ('Среднеарифметическое = ' + FloatToStr (m));
end.
var
number: integer;
begin
var size := readinteger;
var max := -32768;
for var i := 1 to size do
begin
number := readinteger;
if (number mod 4 = 0) and (number > max) then
max := number;
end;
write(max);
end.
Объяснение:
var
number: integer; // Целочисленная переменная, хранящая вводимые с клавиатуры числа
begin // Начало программы
var size := readinteger; // Считываем размер последовательности с клавиатуры
var max := -32768; // integer принадлежит диапазону [-32 768…32 767], взял за максимум самое маленькое число
for var i := 1 to size do // Идём от 1 до размера последовательности
begin // Начало цикла
number := readinteger; // Считываем число последовательности с клавиатуры
if (number mod 4 = 0) and (number > max) then // Если число делится на 4 без остатка и оно > max
max := number; // max присваиваем number
end; // Конец цикла
write(max); // Выводим ответ
end. // Конец программы