.............................................
Const n=10;
var a:array[1..n] of integer;
k,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(9)+2;
write(a[i],' ');
end;
writeln;
k:=0;
for i:=1 to n do
if a[i] mod 2 = 0 then k:=k+1;
writeln('Четных: ',k,' нечётных: ',n-k);
end.
Пример:
<span>2 2 4 7 9 10 9 4 5 4
Четных: 6 нечётных: 4</span>
Самый простой способ решить данную задачу - просто построить таблицу истинности каждого из заданных вариантов и проверить на соответствие.
Сначала приведу таблицы истинности конъюнкции, дизъюнкции и инверсии. Сразу стоит отметить, что приоритет инверсии выше конъюнкции и дизъюнкции, а приоритет конъюнкции выше дизъюнкции. То есть, например, отрицание будет выполнено раньше логического ИЛИ.
Логическое И, конъюнкция (&)
X Y F
0 0 0
0 1 0
1 0 0
1 1 1
Логическое ИЛИ, дизъюнкция (|)
X Y F
0 0 0
0 1 1
1 0 1
1 1 1
Инверсия(¬)
X F
0 1
1 0
Перейдём непосредственно к перебору вариантов:
а) X & Y & ¬ Z
1 1 1 0 - не подходит, 1 И 1=1, 1 И 0=0, а должно быть 1
б) X & Y & Z
1 1 1 1
1 1 0 0 - не подходит, 1 И 1=1, 1 И 0=0, а должно быть 1
в) X | ¬ Y | Z
1 1 1 1
1 1 0 1
1 0 1 1
в) подходит
г) ¬X | Y | ¬Z
1 1 1 1
1 1 0 1
1 0 1 0 - не подходит, так 0 ИЛИ 0=0, 0 ИЛИ 0=0, а нужно 1
Ответ: в)
Решение на фотке.........................................