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

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

 

????F
1110
0000
010

 

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

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

Ре­ше­ние.

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

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

Рас­смот­рим тре­тью стро­ку таб­ли­цы ис­тин­но­сти. Она может вы­гля­деть так: 0001, 0101 или 0111. Пред­по­ло­жим, что пер­во­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет пе­ре­мен­ная x. Тогда во всех трёх слу­ча­ях вы­ра­же­ние будет ис­тин­ным. Зна­чит, пер­во­му столб­цу таб­ли­цы ис­тин­но­сти со­от­вет­ству­ет пе­ре­мен­ная y, а четвёртому  — x.

 

Ответ: yzwx.

 

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

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

print(x, y, z, w)

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

(0, 0, 0, 1),

(0, 0, 1, 0),

(1, 0, 0, 1),

(1, 0, 1, 0),

(1, 1, 0, 1).

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

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

Вто­рая стро­ка может со­от­вет­ство­вать толь­ко на­бо­ру (0, 0, 0, 1). Сле­до­ва­тель­но, в тре­тьем столб­це вто­рой стро­ки стоит 1 и тре­тий стол­бец со­от­вет­ству­ет пе­ре­мен­ной w.

Тре­тья стро­ка может со­от­вет­ство­вать как на­бо­ру (1, 0, 0, 1), так и на­бо­ру (1, 0, 1, 0). В обоих на­бо­рах пе­ре­мен­ная x при­ни­ма­ет зна­че­ние 1, а пе­ре­мен­ная y при­ни­ма­ет зна­че­ние 0. Сле­до­ва­тель­но, пе­ре­мен­ная x со­от­вет­ству­ет чет­вер­то­му столб­цу таб­ли­цы, а пе­ре­мен­ная y  — пер­во­му столб­цу. По­лу­ча­ем по­сле­до­ва­тель­ность yzwx.

 

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

В про­грам­ме из­бав­ля­ем­ся от им­пли­ка­ции ис­поль­зуя свой­ство им­пли­ка­ции: x → y  =  ¬x + y.


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

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