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

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

 

????F
1110
000
10

 

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

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

Ре­ше­ние.

За­ме­тим, что, чтобы вы­ра­же­ние было лож­ным, одна из ско­бок ((xy) → (¬zw)) или ((¬w → x) ∨ ¬y) долж­на быть лож­ной.

Рас­смот­рим первую стро­ку таб­ли­цы ис­тин­но­сти. Скоб­ка ((¬w → x) ∨ ¬y) будет при­ни­мать зна­че­ние 1. За­ме­тим, что, чтобы скоб­ка ((xy) → (¬zw)) при­ни­ма­ла зна­че­ние 0, пе­ре­мен­ная w долж­на быть равна 0. Зна­чит, пе­ре­мен­ной w со­от­вет­ству­ет вто­рой стол­бец таб­ли­цы ис­тин­но­сти.

Рас­смот­рим вто­рую стро­ку таб­ли­цы ис­тин­но­сти. Скоб­ка ((xy) → (¬zw)) будет при­ни­мать зна­че­ние 1. Чтобы скоб­ка ((¬w → x) ∨ ¬y) при­ни­ма­ла зна­че­ние 0, пе­ре­мен­ные x и w долж­ны быть равны 0, а пе­ре­мен­ная y долж­на быть равна 1. Зна­чит, пе­ре­мен­ной y со­от­вет­ству­ет тре­тий стол­бец.

Рас­смот­рим тре­тью стро­ку таб­ли­цы ис­тин­но­сти. Пред­по­ло­жим, что пер­во­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет пе­ре­мен­ная x. Тогда при любом на­бо­ре зна­че­ний в тре­тьей стро­ке вы­ра­же­ние будет ис­тин­ным. Зна­чит, пер­во­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет пе­ре­мен­ная z, а четвёртому  — x.

 

Ответ: zwyx.

 

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

Со­ста­вим таб­ли­цу ис­тин­но­сти для вы­ра­же­ния ((xy) → (¬zw)) ∧ ((¬w → x) ∨ ¬y) вруч­ную или при по­мо­щи языка 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 (((x and y) <= ((not(z)) or w)) and (((not(w)) <= x) or (not(y))))==False:

print(x, y, z, w)

 

Далее вы­пи­шем те на­бо­ры пе­ре­мен­ных, при ко­то­рых дан­ное вы­ра­же­ние равно 0. В на­бо­рах пе­ре­мен­ные за­пи­шем в по­ряд­ке х, y, z, w. По­лу­чим сле­ду­ю­щие на­бо­ры:

(0, 1, 0, 0)

(0, 1, 1, 0)

(1, 1, 1, 0)

За­ме­тим, что име­ет­ся толь­ко один набор, со­дер­жа­щий ровно три еди­ни­цы: (1, 1, 1, 0). Этому на­бо­ру со­от­вет­ству­ет пер­вая стро­ка при­ве­ден­но­го фраг­мен­та таб­ли­цы ис­тин­но­сти. Сле­до­ва­тель­но, вто­рой стол­бец со­от­вет­ству­ет пе­ре­мен­ной w, и во всех строч­ках во вто­ром столб­це стоит 0. Тогда вто­рая стро­ка фраг­мен­та (три ну­ле­вых зна­че­ния) таб­ли­цы со­от­вет­ству­ет на­бо­ру (0, 1, 0, 0). Сле­до­ва­тель­но, тре­тий стол­бец  — это пе­ре­мен­ная у, и в тре­тьем столб­це во всех строч­ках стоит 1. Тогда тре­тья стро­ка фраг­мен­та таб­ли­цы со­от­вет­ству­ет на­бо­ру (0, 1, 1, 0), в ко­то­ром еди­нич­ное зна­че­ние при­ни­ма­ет пе­ре­мен­ная z. Сле­до­ва­тель­но, пер­вый стол­бец  — это пе­ре­мен­ная z, а чет­вер­тый стол­бец  — пе­ре­мен­ная x.

 

При­ме­ча­ние.

За­ме­тим, что дру­гие ва­ри­ан­ты от­ве­тов не под­хо­дят, так как при этом в таб­ли­це по­яв­ля­ют­ся по­вто­ря­ю­щи­е­ся стро­ки.

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