в цикле 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 не изменится
Var a1,a2,a3,a4,a5,a6,a7,a8,k:integer; begin k:=0; read (a1,a2,a3,a4,a5,a6,a7,a8); if (a1>0) and (a2>0) and (a3>0) and (a4>0) and (a5>0) and (a6>0) and (a7>0) and (a8>0) then begin if (a1 mod 3 = 0) and (a1 mod 10 = 4) then k:=k+1; if (a2 mod 3 = 0) and (a2 mod 10 = 4) then k:=k+1; if (a3 mod 3 = 0) and (a3 mod 10 = 4) then k:=k+1; if (a4 mod 3 = 0) and (a4 mod 10 = 4) then k:=k+1; if (a5 mod 3 = 0) and (a5 mod 10 = 4) then k:=k+1; if (a6 mod 3 = 0) and (a6 mod 10 = 4) then k:=k+1; if (a7 mod 3 = 0) and (a7 mod 10 = 4) then k:=k+1; if (a8 mod 3 = 0) and (a8 mod 10 = 4) then k:=k+1; writeln (k); end else writeln ('Неверный ввод'); end.
При первом проходе программы
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
begin
k:=0;
read (a1,a2,a3,a4,a5,a6,a7,a8);
if (a1>0) and (a2>0) and (a3>0) and (a4>0) and (a5>0) and (a6>0) and (a7>0) and (a8>0) then
begin
if (a1 mod 3 = 0) and (a1 mod 10 = 4) then k:=k+1;
if (a2 mod 3 = 0) and (a2 mod 10 = 4) then k:=k+1;
if (a3 mod 3 = 0) and (a3 mod 10 = 4) then k:=k+1;
if (a4 mod 3 = 0) and (a4 mod 10 = 4) then k:=k+1;
if (a5 mod 3 = 0) and (a5 mod 10 = 4) then k:=k+1;
if (a6 mod 3 = 0) and (a6 mod 10 = 4) then k:=k+1;
if (a7 mod 3 = 0) and (a7 mod 10 = 4) then k:=k+1;
if (a8 mod 3 = 0) and (a8 mod 10 = 4) then k:=k+1;
writeln (k);
end else
writeln ('Неверный ввод');
end.