Задания
Версия для печати и копирования в MS Word
Тип 2 № 16029
i

Ло­ги­че­ская функ­ция F задаётся вы­ра­же­ни­ем (¬x ∧ ¬y) ∨ (yz) ∨ ¬w.

Дан ча­стич­но за­пол­нен­ный фраг­мент, со­дер­жа­щий не­по­вто­ря­ю­щи­е­ся стро­ки таб­ли­цы ис­тин­но­сти функ­ции F.

Опре­де­ли­те, ка­ко­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет каж­дая из пе­ре­мен­ных x, y, z, w.

 

Перем. 1Перем. 2Перем. 3Перем. 4Функ­ция
????????????F
0010
010
0110

 

В от­ве­те на­пи­ши­те буквы x, y, z, w в том по­ряд­ке, в ко­то­ром идут со­от­вет­ству­ю­щие им столб­цы (сна­ча­ла  — буква, со­от­вет­ству­ю­щая пер­во­му столб­цу; затем  — буква, со­от­вет­ству­ю­щая вто­ро­му столб­цу, и т. д.). Буквы в от­ве­те пи­ши­те под­ряд, ни­ка­ких раз­де­ли­те­лей между бук­ва­ми ста­вить не нужно.

 

При­мер. Пусть за­да­но вы­ра­же­ние xy, за­ви­ся­щее от двух пе­ре­мен­ных x и y, и фраг­мент таб­ли­цы ис­тин­но­сти:

 

Пе­ре­мен­ная 1Пе­ре­мен­ная 1Функ­ция
??????F
010

 

Тогда пер­во­му столб­цу со­от­вет­ству­ет пе­ре­мен­ная y, а вто­ро­му столб­цу со­от­вет­ству­ет пе­ре­мен­ная x. В от­ве­те нужно на­пи­сать: yx.

Спрятать решение

Ре­ше­ние.

Рас­смот­рим дан­ное вы­ра­же­ние. Пре­об­ра­зу­ем ло­ги­че­ское вы­ра­же­ние (¬x ∧ ¬y) ∨ (yz) ∨ ¬w. и по­лу­чим си­сте­му, при ко­то­рой оно ложно:

 си­сте­ма вы­ра­же­ний со­во­куп­ность вы­ра­же­ний x=1,y=1, конец си­сте­мы . y не равно z,w = 1. конец со­во­куп­но­сти . левая круг­лая скоб­ка * пра­вая круг­лая скоб­ка

 

За­ме­тим, что четвёртый стол­бец таб­ли­цы ис­тин­но­сти  — это w. Из усло­вия y не равно z сле­ду­ет, что пе­ре­мен­ные z и y со­от­вет­ству­ют пер­во­му и вто­ро­му столб­цам таб­ли­цы ис­тин­но­сти. Сле­до­ва­тель­но, тре­тье­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет пе­ре­мен­ная x.

 

Ответ: zyxw.

 

При­ве­дем дру­гое ре­ше­ние.

Со­ста­вим таб­ли­цу ис­тин­но­сти для вы­ра­же­ния (¬x ∧ ¬y) ∨ (yz) ∨ ¬w вруч­ную или при по­мо­щи языка Python:

print("x y z w")

for x in range(0, 2):

for y in range(0, 2):

for z in range(0, 2):

for w in range(0, 2):

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

print(x, y, z, w)

Далее вы­пи­шем те на­бо­ры пе­ре­мен­ных, при ко­то­рых дан­ное вы­ра­же­ние равно 1. В на­бо­рах пе­ре­мен­ные за­пи­шем в по­ряд­ке х, y, z, w.

По­лу­чим сле­ду­ю­щие на­бо­ры:

(0, 1, 0, 1),

(1, 0, 1, 1),

(1, 1, 0, 1).

Со­по­ста­вим эти на­бо­ры с при­ве­ден­ным в за­да­нии фраг­мен­том таб­ли­цы ис­тин­но­сти.

Пе­ре­мен­ная w при­ни­ма­ет зна­че­ния 1 во всех на­бо­рах, по­это­му ей со­от­вет­ству­ет чет­вер­тый стол­бец. Пе­ре­мен­ная z при­ни­ма­ет зна­че­ния 0 в двух на­бо­рах, по­это­му ей со­от­вет­ству­ет пер­вый стол­бец. За­ме­тим, что пе­ре­мен­ная x при­ни­ма­ет зна­че­ния 1, когда пе­ре­мен­ная z при­ни­ма­ет зна­че­ния 1, по­это­му из вто­рой стро­ки сле­ду­ет, что пе­ре­мен­ная x не может сто­ять во вто­ром столб­це, так как во вто­рой строч­ке таб­ли­цы вто­ро­го столб­ца стоит 0, по­это­му пе­ре­мен­ной x со­от­вет­ству­ет тре­тий стол­бец. Сле­до­ва­тель­но, пе­ре­мен­ной y со­от­вет­ству­ет вто­рой стол­бец.

 

При­ведём по­стро­е­ние таб­ли­цы Алек­сандра Коз­ло­ва на языке Python.

from itertools import product

print ('ре­зуль­тат:\nx y z w')

for x, y, z, w in product([0, 1], repeat = 4):

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

print(x,y,z,w)

 

При­ведём ре­ше­ние Алек­сандра Коз­ло­ва на языке Python.

def f(x, y, w, z):

return (not x and not y) or (y == z) or not w

 

from itertools import product, permutations

for a1, a2, a3, a4 in product((0, 1), repeat=4):

t = [(0,a1,0,1),(a2,0,a3,1),(0,1,1,a4)]

if len(set(t)) == 3:

for p in permutations('xywz'):

if [f(**dict(zip(p, r))) for r in t] == [0, 0, 0]:

print(*p)


Аналоги к заданию № 15970: 16029 Все

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2019 по ин­фор­ма­ти­ке
Раздел кодификатора ФИПИ: 1.5.1 Вы­ска­зы­ва­ния, ло­ги­че­ские опе­ра­ции, кван­то­ры, ис­тин­ность вы­ска­зы­ва­ния