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

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

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

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

 

Пе­ре­мен­ная 1Пе­ре­мен­ная 2Пе­ре­мен­ная 3Функ­ция
?????????F
000
00

 

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

 

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

 

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

 

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

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

Ре­ше­ние.

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

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

Вто­рая стро­ка долж­на от­ли­чать­ся от пер­вой, по­это­му она имеет вид 1 0 1. Рас­смот­рим два ва­ри­ан­та:

xyz
100
101
xzy
100
101

Пер­вый ва­ри­ант не удо­вле­тво­ря­ет си­сте­ме (*), а вто­рой  — удо­вле­тво­ря­ет.

 

Ответ: xzy.

 

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

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

print("x y z")

for x in range(0, 2):

for y in range(0, 2):

for z in range(0, 2):

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

print(x, y, z)

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

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

(0, 1, 1)

(1, 0, 0),

(1, 1, 0).

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

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

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

 

Дру­гая про­грам­ма Артёма Гри­ди­на для по­стро­е­ния таб­ли­цы ис­тин­но­сти.

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

import itertools

print('x y z')

for x, y, z in itertools.product((0, 1), repeat = 3):

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

print(x, y, z)


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

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