Условие: (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 — нет
(да И нет) ИЛИ нет = нет ИЛИ нет = нет
Объяснение:
1. var i: integer;
var z, s: double;
begin
i := 1;
z := 512;
s := 0;
while i <= 10 do
begin
s := s + i/z;
inc(i);
z := z/2;
end;
writeln(s:0:2);
end.
2. var i, k: integer;
begin
i := 0;
k := 0;
repeat
inc(i);
if ((i mod 2) = 0) then inc(k);
until i=5;
write(k);
end.
3. var i, n: integer;
begin
i := 0;
n := 0;
while i<10 do
begin
n := random (31) + 10;
if ((n mod 2) = 0) then
begin
writeln(n);
inc(i);
end;
end;
end.