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

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

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

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

 

Пе­ре­мен­ная 1Пе­ре­мен­ная 2Пе­ре­мен­ная 3Пе­ре­мен­ная 4Функ­ция
????????????F
1001
10011
101

 

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

 

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

 

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

 

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

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

Ре­ше­ние.

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

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

 

За­ме­тим, что пе­ре­мен­ная w долж­на при­ни­мать зна­че­ние 1, иначе вы­ра­же­ние будет лож­ным. Зна­чит, пе­ре­мен­ная w со­от­вет­ству­ет пер­во­му столб­цу.

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

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

По­сколь­ку стро­ки в таб­ли­це не по­вто­ря­ют­ся, в тре­тьей стро­ке в тре­тьем и четвёртом столб­цах могут сто­ять зна­че­ния 10 и 11. По­сколь­ку пе­ре­мен­ная x не долж­на быть равна z, пе­ре­мен­ная x со­от­вет­ству­ет вто­ро­му столб­цу. Сле­до­ва­тель­но, пе­ре­мен­ная y со­от­вет­ству­ет тре­тье­му столб­цу.

Таким об­ра­зом, ответ: wxyz.

 

Ответ: wxyz.

 

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

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

print(x, y, z, w)

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

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

(0, 0, 1, 1),

(0, 1, 1, 1),

(1, 0, 0, 1).

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

Во всех на­бо­рах пе­ре­мен­ная w равна 1. Сле­до­ва­тель­но, пер­вый стол­бец со­от­вет­ству­ет пе­ре­мен­ной w. В пер­вой и вто­рой стро­ках таб­ли­цы как ми­ни­мум по две пе­ре­мен­ные при­ни­ма­ют ну­ле­вые зна­че­ния. Сле­до­ва­тель­но, им со­от­вет­ствую на­бо­ры (0, 0, 1, 1) и (1, 0, 0, 1), тогда тре­тьей стро­ке со­от­вет­ству­ет набор (0, 1, 1, 1). Сле­до­ва­тель­но, вто­рой стол­бец  — это пе­ре­мен­ная x, ко­то­рая в этом на­бо­ре при­ни­ма­ет зна­че­ние 0.

Тогда вто­рая стро­ка таб­ли­цы со­от­вет­ству­ет на­бо­ру (0, 0, 1, 1), и тре­тий стол­бец  — это пе­ре­мен­ная у, при­ни­ма­ю­щая в дан­ном на­бо­ре ну­ле­вое зна­че­ние, а чет­вер­тый стол­бец  — это пе­ре­мен­ная z, при­ни­ма­ю­щая в этом на­бо­ре еди­нич­ное зна­че­ние.

 

При­ве­дем про­грам­му Ми­ха­и­ла Глин­ско­го для по­стро­е­ния таб­ли­цы ис­тин­но­сти.

Про­грам­ма на языке Пас­каль вы­во­дит на экран на­бо­ры пе­ре­мен­ных, при ко­то­рых зна­че­ние за­дан­но­го вы­ра­же­ния равно 1.

begin

for var x:=false to true do

for var y:=false ro true do

for var z:=false to true do

for var w:=false to true do

if (not(x) or not(y)) and (x<>z) and w then writeln(ord(x), ord(y), ord(z), ord(w));

end.


Аналоги к заданию № 18704: 18781 18808 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 13.06.2019. Ос­нов­ная волна, Центр. Ва­ри­ант Има­е­ва-Зу­бо­вой — «Ко­то­лис»
Раздел кодификатора ФИПИ: 1.5.1 Вы­ска­зы­ва­ния, ло­ги­че­ские опе­ра­ции, кван­то­ры, ис­тин­ность вы­ска­зы­ва­ния