Во первых рекомендую пользоваться компилятором.
Я прикрепила фото результата работы программы. Вышло 405.
Чтоб найти сколько раз повторяется цикл, нужно напротив цикла поставить точку останова и в режиме отладки смотреть сколько раз будет повторяться цикл. Либо добавить еще одну переменную int i= 0;
и в цикле после выражений написать i++; И дальше в конце ее вывести на экран и тебе покажет кол-во итераций(я приложила второе фото с таким решением, посмотри. Результат кол-ва итераций=21)
Когда условие перестанет выполняться, произойдет выход из цикла
(В данном случае условие s/n>=2. До тех пор пока s/n>=2 цикл будет выполняться. Когда результат от деления s/n будет будет меньше 2 цикл перестанет выполняться.)
Если под рукой нет компилятора и нужно узнать сколько раз повторяется цикл, нужно опять таки смотреть на условие цикла.
подставляешь в выражения числа и смотришь выполнится условие или нет. Если выполняется-дальше считаешь. Если не выполняется-выходишь из цикла.
Например, заходим в цикл:
s=300+5 (в итоге s=305)
n=100+5(в итоге n=105)
Дальше смотрим на условие цикла s/n>=2 (305/105>=2 да, значит цикл произведет еще одну итерацию)
s=305+5 (в итоге 310)
n=105+5 (в итоге 110)
Опять проверяем условие(310/110>=2 да, значит цикл произведет еще одну итерацию)
Продолжаем расчеты
s=310+5 (в итоге 315)
n=110+5 (в итоге 115)
Опять проверяем условие(315/115>=2 да, значит цикл произведет еще одну итерацию)
s=315+5 (в итоге 320)
n=115+5 (в итоге 120)
Опять проверяем условие(320/120>=2 да, значит цикл произведет еще одну итерацию)
и тд. пока условие не перестанет выполняться.
Когда оно перестанет выполняться, цикл перестанет выполняться тоже. Потом Посчитаешь сколько раз ты производил вычисления.(сколько было итераций) и поймешь, что их было 21. Т.е твой цикл 21 раз повторяется и выводит результат вычисления переменной s равный 405.
Будут вопросы, спрашивай.
Удачи:)
begin
var m,n:integer;
Write('Количество строк и столбцов матрицы: ');
Read(n,m);
var a:=MatrixRandom(n,m,10,99);
for var i:=0 to n-1 do begin
for var j:=0 to m-1 do Print(a[i,j]);
Writeln
end;
var p:=ReadInteger('Введите число Р:');
var b:array of integer;
SetLength(b,4*m);
var k:=0;
for var i:=n-p to n-1 do
for var j:=0 to m-1 do
if a[i,j] mod 4=0 then begin
b[k]:=a[i,j]; Inc(k)
end;
SetLength(b,k);
b.Print
end.
Тестовое решение:
Количество строк и столбцов матрицы: 6 8
67 70 68 72 38 72 96 38
49 75 24 55 72 63 21 40
72 12 60 22 74 30 13 45
22 45 39 24 35 97 64 31
76 62 15 94 56 28 31 13
41 67 75 37 67 13 25 20
Введите число Р: 4
72 12 60 24 64 76 56 28 20