Условие: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0
Рассмотрим скобку x % 4 == 0 and x % 100 != 0:
x % 4 == 0 — число делится на 4 без остатка, т.е. кратно 4-мx % 100 != 0 — число не делится на 100 без остатка, т.е. не кратно 100and говорит о том, что обязательно должны выполняться оба этих условия: число должно быть кратно 4-м И не кратно 100
Вторая часть условия:
x % 400 == 0 — число делится на 400 без остатка, т.е. кратно 400or говорит о том, что либо выполняется условие в скобке, либо то, которое идет после or:
число должно быть кратно 4-м И не кратно 100, ИЛИ число должно быть кратно 400
Пример чисел, которые удовлетворяют условию:
0
4
8
12
128
400
1600
Например, 200 не подойдет:
200 % 4 == 0 — да
200 % 100 != 0 — нет
200 % 400 == 0 — нет
(да И нет) ИЛИ нет = нет ИЛИ нет = нет
Условие: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0
Рассмотрим скобку x % 4 == 0 and x % 100 != 0:
x % 4 == 0 — число делится на 4 без остатка, т.е. кратно 4-мx % 100 != 0 — число не делится на 100 без остатка, т.е. не кратно 100and говорит о том, что обязательно должны выполняться оба этих условия: число должно быть кратно 4-м И не кратно 100
Вторая часть условия:
x % 400 == 0 — число делится на 400 без остатка, т.е. кратно 400or говорит о том, что либо выполняется условие в скобке, либо то, которое идет после or:
число должно быть кратно 4-м И не кратно 100, ИЛИ число должно быть кратно 400
Пример чисел, которые удовлетворяют условию:
0
4
8
12
128
400
1600
Например, 200 не подойдет:
200 % 4 == 0 — да
200 % 100 != 0 — нет
200 % 400 == 0 — нет
(да И нет) ИЛИ нет = нет ИЛИ нет = нет
var a: array [0..5,0..5] of integer; i, j, sdvig ,k: integer;
Begin
writeln('Ввод матрицы:');
for i := 1 to 5 do
begin
for j := 1 to 5 do
read(a[i,j]);
end;
write('Сдвиг на ');
readln(sdvig);
for i := 1 to 5 do
for k := 1 to sdvig do
begin
a[i,0] := a[i,5];
for j := 5 downto 1 do
a[i,j] := a[i,j - 1];
end;
for i := 1 to 5 do
begin
for j := 1 to 5 do
write(a[i,j],' ');
writeln;
end;
End.