¬(X ∨ Y) ∧ (X ∧ ¬Y) = 0
Объяснение:
¬(X ∨ Y) ∧ (X ∧ ¬Y) = ¬X ∧ ¬Y ∧ (X ∧ ¬Y) = ¬X ∧ ¬Y ∧ (¬Y ∧ X) = ¬X ∧ (¬Y ∧ ¬Y) ∧ X = ¬X ∧ X ∧ (¬Y ∧ ¬Y) = (¬X ∧ X) ∧ (¬Y ∧ ¬Y) = 0 ∧ ¬Y = 0
Законы:
¬(A ∨ B) = ¬A ∧ ¬B - закон Де Моргана (общей инверсии для логического сложения)
A ∧ B = B ∧ A - переместительный (коммутативный) закон (для логического умножения)
A ∧ (B ∧ C) = (A ∧ B) ∧ C - сочетательный (ассоциативный) закон (для логического умножения)
A ∧ ¬A = 0 - закон исключённого третьего (для логического умножения)
A ∧ A = A - закон повторения (для логического умножения)
A ∧ 0 = 0 - закон операций с константой (для логического умножения)
Новые возможности, которые добавляют разработчики, позволяют вообще написать одну строчку:
Код (PascalABC.NET):
## ArrRandomInteger(13).Println.Average.Print;
## говорит о том, что компилятор добавит в начало и конец begin и end.
ArrRandomInteger(13) - функция, генерирующая массив из 13 случайных целых чисел
Println - метод расширения, выводящий элементы через пробел и в конце переходящий на новую строку
Average - метод, вычисляющий среднее значение
Print - вывод значения на экран
В стиле "старого" паскаля:
var
a: array[1..13] of integer;
s, i: integer;
begin
randomize;
s := 0;
for i := 1 to 13 do
a[i] := random(100);
write(a[i], ' ');
s := s + a[i];
end;
writeln;
write(s / 13);
end.
Пример вывода:
38 86 86 0 24 95 51 41 32 18 74 15 55
47.3076923076923
¬(X ∨ Y) ∧ (X ∧ ¬Y) = 0
Объяснение:
¬(X ∨ Y) ∧ (X ∧ ¬Y) = ¬X ∧ ¬Y ∧ (X ∧ ¬Y) = ¬X ∧ ¬Y ∧ (¬Y ∧ X) = ¬X ∧ (¬Y ∧ ¬Y) ∧ X = ¬X ∧ X ∧ (¬Y ∧ ¬Y) = (¬X ∧ X) ∧ (¬Y ∧ ¬Y) = 0 ∧ ¬Y = 0
Законы:
¬(A ∨ B) = ¬A ∧ ¬B - закон Де Моргана (общей инверсии для логического сложения)
A ∧ B = B ∧ A - переместительный (коммутативный) закон (для логического умножения)
A ∧ (B ∧ C) = (A ∧ B) ∧ C - сочетательный (ассоциативный) закон (для логического умножения)
A ∧ ¬A = 0 - закон исключённого третьего (для логического умножения)
A ∧ A = A - закон повторения (для логического умножения)
A ∧ 0 = 0 - закон операций с константой (для логического умножения)
Новые возможности, которые добавляют разработчики, позволяют вообще написать одну строчку:
Код (PascalABC.NET):
## ArrRandomInteger(13).Println.Average.Print;
## говорит о том, что компилятор добавит в начало и конец begin и end.
ArrRandomInteger(13) - функция, генерирующая массив из 13 случайных целых чисел
Println - метод расширения, выводящий элементы через пробел и в конце переходящий на новую строку
Average - метод, вычисляющий среднее значение
Print - вывод значения на экран
В стиле "старого" паскаля:
Код (PascalABC.NET):
var
a: array[1..13] of integer;
s, i: integer;
begin
randomize;
s := 0;
for i := 1 to 13 do
begin
a[i] := random(100);
write(a[i], ' ');
s := s + a[i];
end;
writeln;
write(s / 13);
end.
Пример вывода:
38 86 86 0 24 95 51 41 32 18 74 15 55
47.3076923076923