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

Ло­ги­че­ская функ­ция F задаётся вы­ра­же­ни­ем (¬a ∧ ¬b) ∨ (bc) ∨ d. На ри­сун­ке при­ведён ча­стич­но за­пол­нен­ный фраг­мент таб­ли­цы ис­тин­но­сти функ­ции F, со­дер­жа­щий не­по­вто­ря­ю­щи­е­ся стро­ки. Опре­де­ли­те, ка­ко­му столб­цу таб­ли­цы ис­тин­но­сти функ­ции F со­от­вет­ству­ет каж­дая из пе­ре­мен­ных a, b, c, d.

 

Пе­ре­мен­ная 1Пе­ре­мен­ная 2Пе­ре­мен­ная 3Пе­ре­мен­ная 4Функ­ция
10
1010
00110

 

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

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

 

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

 

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

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

Ре­ше­ние.

За­ме­тим, что пе­ре­мен­ная d все­гда долж­на быть равна 0, иначе вы­ра­же­ние будет ис­тин­ным. Сразу же можно опре­де­лить стол­бец, в ко­то­ром на­хо­дят­ся зна­че­ния пе­ре­мен­ной d,  — стол­бец 2.

Най­дем зна­че­ния пе­ре­мен­ных a, b, c, при ко­то­рых пер­вое и вто­рое под­вы­ра­же­ния ложны:

Сле­до­ва­тель­но, с  — пер­вый стол­бец (един­ствен­но воз­мож­ный с одной еди­ни­цей), b  — тре­тий (един­ствен­ный воз­мож­ный для ин­вер­ти­ро­ван­ных зна­че­ний с), а  — чет­вер­тый по оста­точ­но­му прин­ци­пу.

 

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

 

Пас­каль

var a, b, c, d: boolean;

begin

    for a := False to True do

        for b := False to True do

            for c := False to True do

                for d := False to True do

                    if not ((not a and not b) or (b=c) or d) then

                        writeln(ord(a), ord(b), ord(c), ord(d));

end.

Python

from itertools import *

 

for a, b, c, d in product([0, 1], repeat=4):

    if not ((not a and not b) or (b == c) or d):

        print(a, b, c, d)

С++

#include <iostream>

using namespace std;

int main(){

    for(int a = 0; a <= 1; a++)

        for(int b = 0; b <= 1; b++)

            for(int c = 0; c <= 1; c++)

                for(int d = 0; d <= 1; d++)

                    if !((!a and !b)||(b == c)||d)

                        cout << a << ' '<< b << ' ' << c << ' ' << d;

}

 

После чего про­ве­дем ана­лиз, ана­ло­гич­ный ре­ше­нию выше.

 

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

Со­ста­вим таб­ли­цу ис­тин­но­сти для вы­ра­же­ния (¬a ∧ ¬b) ∨ (bc) ∨ d вруч­ную или при по­мо­щи языка Python:

print("a b c d")

for a in range(0, 2):

for b in range(0, 2):

for c in range(0, 2):

for d in range(0, 2):

if not((not(a) and not(b)) or (b == c) or d):

print(a, b, c, d)

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

(0, 1, 0, 0),

(1, 0, 1, 0),

(1, 1, 0, 0).

За­ме­тим, что во всех на­бо­рах пе­ре­мен­ная d равна 0. Сле­до­ва­тель­но, пе­ре­мен­ной d со­от­вет­ству­ет вто­рой стол­бец, где нет еди­нич­ных зна­че­ний.

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

В тре­тьей стро­ке таб­ли­цы пе­ре­мен­ная b равна 1. Сле­до­ва­тель­но, тре­тья стро­ка со­от­вет­ству­ет на­бо­ру (1, 1, 0, 0), в ко­то­ром еди­нич­ное зна­че­ние при­ни­ма­ет также пе­ре­мен­ная a, тогда пе­ре­мен­ной a со­от­вет­ству­ет чет­вер­тый стол­бец, а пе­ре­мен­ной c  — пер­вый.

 

Ответ: cdba.

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