При первом проходе программы
m=0
в цикле for сравниваем Если элемент массива под номером 1 (т.е. число 2) минус 2*m>1 то m равна текущему элементу массива.
т.к. 2-2*0=2 и это больше 0 то значение m становится равным 2
1 проход m=2
При втором проходе цикла фор сравниваем уже второй элемент массива, т.е.
Dat[2]-2*m>1
6-2*2>1
2>1
Условие выполняется значит значение m на 2 проходе равно 6
при дальнейших проходах цикла for мы больше не получим значений больше 1 т.к. текущее m=6, т.е. из элементов массива мы будем вычитать 12, т.е. ни одного положительного числа мы не получим, т.е. условие if не выполнится ни разу и значение m не изменится
ответ m=6
1)
var
i, n, a: integer;
begin
readln(n);
for i:= 1 to n do
begin
writeln('Введите число a: ');
readln(a);
if a mod 10 = 4) and (a > 10) and (a < 100) then
writeln(a);
writeln('Введите кол-во чисел n: ');
writeln('В данный момент n = ', n);
readln(n);
if n = 0 then break;
end;
end.
2)
var
i, n, a, z, min: integer;
begin
readln(n);
z:= 0;
for i:= 1 to n do
begin
writeln('Введите число a: ');
readln(a);
z:= z + 1;
if (i <> 0) and (z = 1) then
min:= a;
if (a < min) then min:= a;
writeln('Введите кол-во чисел n: ');
writeln('В данный момент n = ', n);
readln(n);
if n = 0 then break;
end;
writeln(min)
end.