29 декабря 2024 г.

Логика. Задание № 15 "Задачи с битовыми логическими операциями"

Введём выражение M & K, обозначающее поразрядную конъюнкцию M и K (логическое «И» между соответствующими битами двоичной записи). Определите наименьшее натуральное число A, такое что выражение

(X & 112 ≠ 0 ∨ X & 86 ≠ 0) → (X & 65 = 0 → X & А ≠ 0)

тождественно истинно (то есть принимает значение 1 при любом натуральном значении переменной X)?

Решение:

1) В языке программирования Python есть логическая операция умножения над отдельными битами – обозначается символом &.

2) Напишем программу на Python

'''(X & 112 ≠ 0 ∨ X & 86 ≠ 0) → (X & 65 = 0 → X & А ≠ 0) = 1'''

for a in range(1,100):

  flag=True

  for x in range(1,1000):

    if not ( (x&112!=0 or x&86!=0) <= ((x&65==0) <= (x&a!=0)) ):

      flag=False

      break

  if flag: 

    print(a)

    break

Ответ: 54

21 декабря 2024 г.

Логика. Примеры. Задание № 2. ЕГЭ-2023

Логическая функция F задаётся выражением (x ˅ ¬y) ˄ ¬(x ≡ z) ˄ ¬w. На рисунке приведён фрагмент таблицы истинности функции F. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.

?

?

?

?

F

0

0

1

 

1

0

 

0

1

1

 

1

1

 

1

В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы.

Решение:

1) Напишем программу на Python

print("x y z w")

for x in 0,1:

  for y in 0,1:

    for z in 0,1:

      for w in 0,1:

        if (x or not y) and not(x == z) and not w:

          print(x,y,z,w)

2) Вывод

x y z w

0 0 1 0

1 0 0 0

1 1 0 0

3) Столбец w - содержит только нули, это может быть только в первом столбце. В столбце x - один нуль и две единицы - это третий столбец

w

?

x

?

F

0

0

1

 

1

0

 

0

1

1

0

1

1

 

1

4) Рассмотрим первый множитель (x ˅ ¬y) = 1. При х=0 переменная y должна принимать значение нуль. Столбец у - второй.

w

у

х

?

F

0

0

1

 

1

0

0

0

1

1

0

1

1

 

1

5) Столбец z - четвертый

w

у

x

z

F

0

0

1

0

1

0

0

0

1

1

0

1

1

0

1

Ответ: wyxz

19 декабря 2024 г.

Логика. Примеры. Задание № 2. Демо-2025

Логическая функция F задаётся выражением ((w → y) → x) ˅ ¬z. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.

?

?

?

?

F

 

 

1

 

0

 

0

 

 

0

 

1

0

0

0

В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы.

Решение

1) Напишем программу на языке Python

print("x y z w")

for x in 0,1:

  for y in 0,1:

    for z in 0,1:

      for w in 0,1:

        if not (((w <= y) <= x) or not(z)):

          print(x,y,z,w)

2) Вывод:

x y z w

0 0 1 0

0 1 1 0

0 1 1 1 

3) Столбец z может быть только первым, столбец x - четвертым:

z

?

?

x

F

1

 

1

0

0

1

0

 

0

0

1

1

0

0

0

4) В третьей строке столбцах y и w значения не совпадают, предположим, второй столбец y, третий - w.

z

y?

w?

x

F

1

1

1

0

0

1

0

0

0

0

1

1

0

0

0

Подставим значение третье строки в выражение ((w → y) → x) ˅ ¬z. 

((0 → 1) → 0) ˅ ¬1 = 0, т.е. F=0, что соответствует таблице истинности.

z

y

w

x

F

1

1

1

0

0

1

0

0

0

0

1

1

0

0

0

Ответ: zywx