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

Миша за­пол­нял таб­ли­цу ис­тин­но­сти ло­ги­че­ской функ­ции F

¬x ∨ ((w → y) → z)

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

 

????????????F
10
0100
00

 

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

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

При­мер. Функ­ция F за­да­на вы­ра­же­ни­ем ¬x ∨ y, за­ви­ся­щим от двух пе­ре­мен­ных, а фраг­мент таб­ли­цы имеет сле­ду­ю­щий вид.

 

??????F
010

 

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

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

Ре­ше­ние.

Со­ста­вим таб­ли­цу ис­тин­но­сти для вы­ра­же­ния

¬x ∨ ((w → y) → z)

вруч­ную или при по­мо­щи языка 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) or ((w <= y) <= z)):

print(x, y, z, w)

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

(1, 0, 0, 0),

(1, 1, 0, 0),

(1, 1, 0, 1).

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

За­ме­тим, что толь­ко во вто­ром столб­це таб­ли­це ис­тин­но­сти нет нулей. Сле­до­ва­тель­но, вто­рой стол­бец может быть толь­ко пе­ре­мен­ной x. Тогда вто­рая стро­ка таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет на­бо­ру (1, 1, 0, 0).

Тогда тре­тий стол­бец со­от­вет­ству­ет пе­ре­мен­ной y, так как толь­ко эта пе­ре­мен­ная, кроме пе­ре­мен­ной x, при­ни­ма­ет зна­че­ние 1.

Пер­вая стро­ка со­от­вет­ству­ет на­бо­ру (1, 1, 0, 1), тогда пер­вый стол­бец со­от­вет­ству­ет пе­ре­мен­ной w, а чет­вер­тый стол­бец пе­ре­мен­ной z.

 

Ответ: wxyz.

 

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

from itertools import product

print('x y z w')

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

if not ( not x or ( not (not w or y) or z) ): # им­пли­ка­цию w->y за­ме­ня­ем на not w or y

print(x,y,z,w)


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