Ввод матрицы A(n, m)
Цикл по строкам i = от 1 до n
Цикл по столбцам k = от 1 до m
Если A(i, k) = 0, то
Цикл по столбцам j = от 1 до m
Q = A(i, j) : A(i, j) = A(i, m-j+1) :
A(i, m-j+1)
= Q
Конец цикла по j
Конец Если
Конец цикла по k
Конец цикла по i
Вывод матрицы
Конец
По-моему, так.
===== PascalABC.NET =====
procedure pK(n: integer; var k: int64);
begin
k := 1;
for var i := 2 to n do
k *= i
end;
function fK(n: integer): int64;
begin
Result := 1;
for var i := 2 to n do
Result *= i
end;
begin
var n := ReadInteger('n =');
var r: int64;
pK(n, r);
Println('Процедура:', r);
Println('Функция:', fK(n))
end.
Пользуется в тех случаях, когда некоторое однообразное действие надо повторить определенное количество раз. Особенно, если это количество достаточно велико. Бывают же такие задачи, когда необходимо, например, вычислить сумму каких-либо величин, каждая из которых вычисляется по формуле. Ведь если непосредственно вычислять сумму 1 + 2 + 3 + ... + 1000, то программа разрастется до невообразимых масштабов.