You are on page 1of 23

2011

Електротехнички факултет
Универзитета у Београду,
Катедра за РТИ

Д. Драшковић,
Ж.Станисављевић

Верзија 1.1
(03.03.2011.)

[ Додатак збирке задатака из Основа рачунарске технике 1 ]

- додатак обухвата задатке са грешкама у решењу и исправљена решења тих задатака


Поштоване колегинице и колеге,

у Збирци задатака из Основа рачунарске технике 1 (аутори: З.Радивојевић, М.Пунт,


Б.Николић, Б.Лазић, Ј.Ђорђевић, издавач: Академска мисао, 2009) наишли смо на грешке
у појединим задацима, па вас молимо да пре него што проверите ваше решење са
решењем у збирци, проверите да ли тог задатка има у овој исправљеној верзији решења
задатака у којима су грешке утврђене.

Такође, уколико нам је још нека грешка у решењима задатака промакла, било би лепо да
нам јавите путем мејлова: zarko@etf.rs и draskovic@etf.rs, како би наредне генерације
студената вежбали задатке из збирке са исправљеним решењима.

Хвала унапред!

предметни асистенти,
Жарко Станисављевић,
Дражен Драшковић
Задатак 15

(Окт ‘05) Написати СКНФ прекидачке функције три променљиве дате са f(1) = {0XX, X01}.
───────────────
Грешка у решењу у збирци:
Утврђена је грешка у решењу задатка #15 приликом развијања кубова, па је након тога
комплетно решење задатка неисправно.

Решење:
Потребно је наћи СКНФ прекидачке функције, а то је најлакше урадити тако што ћемо
пронаћи на којим векторима функција има вредност 0. У задатку је дат скуп вектора на
којима функција има вредност један f(1) = {0XX, X01}. Потпуним развијањем ових кубова
можемо одредити све векторе на којима функција има вредност један:
f(1) = {000, 001, 010, 011, 101}
f(1) = {0, 1, 2, 3, 5}

Сада можемо да одредимо где функција има вредност нула, јер је ова прекидачка
функција потпуно дефинисана, па има вредност нула на свим векторима на којима нема
вредност један:

f(0) = {4, 6, 7}

f(x1 , x 2 , x 3 )  ( x1  x2  x3 )  ( x1  x2  x3 )  ( x1  x2  x3 )
Задатак 19

(К1-К2 ‘06) а) Помоћу кубова одредити да ли су следеће две функције једнаке:


f(x1 , x 2 , x 3 , x 4 )  (x1  x 2  x 4 )  (x1  x 2  x 3 )  (x1  x 2  x 4 )  (x1  x 2 )
g(x 1 , x 2 , x 3 , x 4 )  x1 x 4  x1 x 2  x 2 x 4  x1 x 2 x 3
б) Дате су функције f(x1, x2, x3, x4) и g(x1, x2, x3, x4) које су дефинисане на свим векторима
осим на {5, 9, 11}. Испитати да ли су ове две функције једнаке уколико израз за векторе на
којима се дефинисане гласи:
f(x1, x 2 , x 3 , x 4 )  x1x 3  x 2 x 3  x 2 x 3 x 4
g(x 1, x 2 , x 3 , x 4 )  (x 2  x 3 )  (x1  x 2 )  ( x1  x 4 )
───────────────

Грешка у решењу у збирци:


Утврђена је грешка у решењу задатка #19, под а), у прва два куба код функције f за
вредност функције нула, па је након тога комплетно решење задатка неисправно.

Решење:
а) Функције су једнаке на оним векторима где имају исте вредности, односно где важи да
је f(0) = g(0) и f(1) = g(1). Да бисмо то урадили, морамо да нађемо скупове вектора за f(0) и
f(1), а након тога и за g(0) и g(1).

Како је функција f(x1, x2, x3, x4) дата у облику КНФ, лакше је одредити коњуктивни покривач
ове функције, односно где има вредност нула:
f(0) = {01X1, 101X, 10X0, 00XX}

Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција
f(x1, x2, x3, x4) има вредност нула:
01X1 => 0101, 0111
101X => 1010, 1011
10X0 => 1000, 1010
00XX => 0000, 0001, 0010, 0011

f(0) = {0000, 0001, 0010, 0011, 0101, 0111, 1000, 1010, 1011}
f(0) = {0, 1, 2, 3, 5, 7, 8, 10, 11}

Када одредимо f(0), морамо да одредимо и f(1), јер ће нам бити потребно да одредимо да
ли су функције f и g једнаке:
f(1) = {4, 6, 9, 12, 13, 14, 15}

Како је функција g(x1, x2, x3, x4) дата у облику ДНФ, лакше је одредити дисјунктивни
покривач ове функције, односно где има вредност један:
g(1) = {0XX1, 00XX, X0X0, 101X}
Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција
g(x1, x2, x3, x4) има вредност један:
0ХХ1 => 0001, 0011, 0101, 0111
00ХХ => 0000, 0001, 0010, 0011
Х0Х0 => 0000, 0010, 1000, 1010
101Х => 1010, 1011

g(1) = {0000, 0001, 0010, 0011, 0101, 0111, 1000, 1010, 1011}
g(1) = {0, 1, 2, 3, 5, 7, 8, 10, 11}

Када одредимо g(1), морамо да одредимо и g(0), јер ће нам бити потребно да одредимо
да ли су функције f и g једнаке:
g(0) = {4, 6, 9, 12, 13, 14, 15}

Упоређивањем можемо утврдити да скупови вектора f(0) и g(0), као и f(1) и g(1), нису
једнаки, па за ове функције кажемо да су различите:
f(1)  g(1)
 f ( x1 , x 2 , x 3 , x 4 )  g ( x 1 , x 2 , x 3 , x 4 )
f(0)  g(0 )
Задатак 23

(Јан ‘08) а) Помоћу кубова одредити да ли су следеће две функције једнаке и


образложити одговор.

f(x1 , x 2 , x 3 , x 4 )  (x 3 + x 4 )  (x1 + x 4 )  (x 2 + x 3 )  (x1 + x 2 )

g(x 1 , x 2 , x 3 , x 4 )  x1  x 4 + x 2  x 3 + x1  x 2

б) Написати СКНФ следеће функције:

f(x1 , x 2 , x 3 , x 4 )  (x1  x 3  x 4  (x1  x 2 )  ( x 2  x 4 ))  (x1  x 2  x 3 )  (x 2  x 3  x 4 )

───────────────

Грешка у решењу у збирци:


У решењу задатка #23, под б), код коњуктивног покривача функције f недостаје вектор са
индексом 13.

Решење:
а) Функција f дата у КНФ облику, па се развијањем кубова добија скуп вектора на којима
ова функција има вредност нула. На преосталим векторима функција има вредност један.
f(0) = {XX00, 1XX0, X10X, 00XX}
f(0) = {0000, 0100, 1000, 1100, 1010, 1110, 0101, 1101, 0001 0010, 0011}
f(0) = {0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14}
f(1) = {6, 7, 9, 11, 15}

Функција g је дата у ДНФ облику, па се развијањем кубова добија скуп вектора на којима
ова функција има вредност један, док ће на преосталим векторима имати вредност нула.
g(1) = {1XX0, X10X, 00XX}
g(1) = {1000, 1010, 1100, 1110, 0100, 0101, 1101, 0000, 0001, 0010, 0011}
g(1) = {0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14}
g(0) = {6, 7, 9, 11, 15}

Ако се упореде g(0) и f(0), као и g(1) и f(1) примећује се да за ове две функције не постоји
ни један вектор на којем су оне једнаке, па се добија да важи:
g( x 1 , x 2 , x 3 , x 4 )  f ( x 1 , x 2 , x 3 , x 4 )

б) Прво треба применом правила Булове алгебре средити израз:

f(x1 , x 2 , x 3 , x 4 )  (x1  x 3  x 4  (x1  x 2 )  ( x 2  x 4 ))  (x1  x 2  x 3 )  (x 2  x 3  x 4 )


f(x1 , x 2 , x 3 , x 4 )  x1  x 3  (x 4  x1  x 2  x 2  x 4 )  (x1  x 2  x 3 )  (x 2  x 3  x 4 )
f(x1, x 2 , x 3 , x 4 )  x1  x 3  (x 2  x 4 )
Како је функција f(x1,x2,x3,x4) дата у облику КНФ, лакше је одредити коњуктивни покривач
ове функције, односно скуп вектора где та функција има вредност 0. Према описаним
правилима на вежбама, за представљање нормалних форми помоћу кубова добијамо:
f(0) = {0XXX, XX1X, X1X1}

Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција f
има вредност нула:

f(0) = {0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 0010, 0011, 0110, 0111, 1010, 1011,
1110, 1111, 0101, 0111, 1101, 1111}
f(0) = {0, 1, 2, 3, 4, 5, 6, 7, 2, 3, 6, 7, 10, 11, 14, 15, 5, 7, 13, 15}

f(0) = {0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 14, 15}

На крају добијамо СКНФ облик функције f, као производ потпуних сума вектора на којима
функција има вредност нула:

f ( x1 , x2 , x3 , x4 )  ( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )
( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )
( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )( x1  x2  x3  x4 )
Задатак 31

(К1 ‘08) а) Дате су функције f(x1, x2, x3, x4) и g(x1, x2, x3, x4). Користећи кубове одредити скуп
вектора на којима се ове две функције разликују.
f(x1, x 2 , x 3 , x 4 )  x1 x 3 x 4 + x1 x 2 x 3 + x 2 x 3 x 4 + x1 x 2 + x1 x 4
g(x 1, x 2 , x 3 , x 4 )  (x1 + x 2 + x 4 )  (x 2 + x 3 + x 4 )  (x1 + x 3 + x 4 )
б) Одредити СКНФ прекидачке функције f(x1, x2, x3, x4) :
f(x1, x 2 , x 3 , x 4 )  (x1 + x 2  x 3 )  (x 2 + x 3  x 4 ) + x 3 + x 2
───────────────
Грешка у решењу у збирци:
У решењу задатка #31, под б), није добро урађен поступак решавања.

Решење:
б) Сређивање израза почињемо применом Де Морганове теореме на (x 2 + x 3  x 4 ) :
f(x1 , x 2 , x 3 , x 4 )  (x1 + x 2  x 3 )  (x 2 + x 3  x 4 ) + x 3 + x 2
f(x1 , x 2 , x 3 , x 4 )  (x1 + x 2  x 3 )  x 2  x 3  x 4 + x 3 + x 2
f(x1, x 2 , x 3 , x 4 )  (x1 + x 2  x 3 )  x 2  (x 3  x 4 ) + x 3 + x 2

Даљим множењем добијамо:


f(x1 , x 2 , x 3 , x 4 )  (x1  x 2 + x 2  x 3 )  (x 3  x 4 ) + x 3 + x 2
f(x1 , x 2 , x 3 , x 4 )  x1  x 2  x 3 + x 2  x 3  x1  x 2  x 4  x 2  x 3  x 4 + x 3 + x 2
f(x1 , x 2 , x 3 , x 4 )  x 3  (x1  x 2 + x 2  x 2  x 4  1)  x1  x 2  x 4 + x 2
f(x1 , x 2 , x 3 , x 4 )  x 3 + x1  x 2  x 4 + x 2
Како је функција f(x1, x2, x3, x4) дата у облику ДНФ, лакше је одредити где функција има
вредност један: f(1) = {ХХ0Х, 10X0, , Х1ХХ}

Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција
f(x1, x2, x3, x4) има вредност један:
ХХ0Х => 0000, 0001, 0100, 0101, 1000, 1001, 1100, 1101
10Х0 => 1000, 1010
Х1ХХ => 0100, 0101, 0110, 0111, 1100, 1101, 1110, 1111

f(1) = {0, 1, 4, 5, 8, 9, 12, 13, 8, 10, 4, 5, 6, 7, 12, 13, 14, 15}


f(1) = {0, 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15}

Када одредимо f(1), морамо да одредимо и f(0), јер нам је то неопходно за одређивање
СКНФ прекидачке функције f:
f(0) = {2, 3, 11}
СКНФ прекидачке функције добијамо као производ потпуних сума:
f(x1 , x 2 , x 3 , x 4 )  (x1  x 2  x 3  x 4 )  (x1  x 2  x 3  x 4 )  (x1  x 2  x 3  x 4 )
Задатак 32

(К1-К2 ‘07) а) Дате су функције f(x1, x2, x3, x4) и g(x1, x2, x3, x4) које су дефинисане на свим
векторима осим на {4, 5, 13}. Наћи скуп вектора на којима се ове две функције разликују
уколико изрази за векторе на којима су дефинисане гласе:
f(x1 , x 2 , x 3 , x 4 )  x1x 2 x 4 + x 3 x 4 + x 2 x 4
g(x 1 , x 2 , x 3 , x 4 )  (x1 + x 2 )  (x1 + x 3 + x 4 )  (x 2 + x 4 )
б) Одредити скуп вектора на којима следећа функција има вредност 0:
f(x1 , x 2 , x 3 , x 4 )  (x1 + x 3 + (x 2 + x 3 ))  (x 2 + (x 3 + (x1 + x 4 )  (x1 + x 3 )))
───────────────
Грешка у решењу у збирци:
У решењу задатка #32, под а), није добро урађен један део решења за функцију
g(x1, x2, x3, x4). Свуда где пише g(1) треба ставити g(0), јер је функција дата у КНФ облику
а на самом крају где пише g(0) треба ставити g(1). Такође, други куб у скупу вектора за
g(0) није 1Х1Х него 1Х10 !

Решење:
б) Функција f(x 1 , x 2 , x 3 , x 4 )  x 1 x 2 x 4 + x 3 x 4 + x 2 x 4 је дата у ДНФ облику. Развијањем
кубова одређују се вектори на којима ова функција има вредност 1. Потребно је водити
рачуна да постоје вектори на којима се функција не јавља, тако да се скуп вектора на
којима функција има вредност 1 добија као разлика скупова на којима би функција имала
вредност 1 да је потпуно дефинисана и скупа вектора на којима се функција не јавља.
f(1) = {00X0, XX00, X1X1}/f(b)
f(1) = {00X0, XX00, X1X1}/{4, 5, 13}
f(1) = {0000, 0010, 0000, 0100, 1000, 1100, 0101, 0111, 1101, 1111}/{4, 5, 13}
f(1) = {0, 2, 4, 5, 7, 8, 12, 13, 15}/{4, 5, 13}
f(1) = {0, 2, 7, 8, 12, 15}
f(0) = {1, 3, 6, 9, 10, 11, 14}

Функција g(x 1 , x 2 , x 3 , x 4 )  (x 1 + x 2 )  (x 1 + x 3 + x 4 )  (x 2 + x 4 ) је дата у КНФ облику.


Развијањем кубова одређују се вектори на којима ова функција има вредност 0. Потребно
је водити рачуна да постоје вектори на којима се функција не јавља, тако да се скуп
вектора на којима функција има вредност 0 добија као разлика скупова на којима би
функција имала вредност 0 да је потпуно дефинисана и скупа вектора на којима се не
јавља.
g(1) = {01XX, 1X10, X0X1}/g(b)
g(1) = {01XX, 1X10, X0X1}/{4, 5, 13}
g(1) = {0100, 0101, 0110, 0111, 1010, 1110, 0001, 0011, 1001, 1011}/{4, 5, 13}
g(1) = {1, 3, 4, 5, 6, 7, 9, 10, 11, 14}/{4, 5, 13}
g(1) = {1, 3, 6, 7, 9, 10, 11, 14}
Функција g има вредност нула на свим векторима, осим оних на којима има вредност
један - g(1) и на којима се функција не јавља - g(b):
g(0) = {0, 2, 8, 12, 15}

Скуп вектора на којима се ове две функције разликују, будући да је скуп недефинисаних
вектора идентичан за обе ове функције, може се одредити на следећи начин:
(g(0) / f (0))  (f (0) / g(0))  (g(1) / f (1))  (f (1) / g(1))
односно разликују се само на вектору {0111}.
Задатак 34

(Сеп ‘07) а) Дате су функције f(x1, x2, x3, x4) и g(x1, x2, x3, x4) које су дефинисане на свим
векторима осим на {6, 14, 15}. Наћи скуп вектора на којима се ове две функције разликују
уколико изрази за векторе на којима су дефинисане гласе:

f(x1 , x 2 , x 3 , x 4 )  x 2 x 3 x 4 + x 1 x 2 + x 2 x 3 + x 1 x 2 x 4
g(x 1 , x 2 , x 3 , x 4 )  (x 1 + x 3 + x 4 )  (x 1 + x 2 )  (x 2 + x 4 )

б) Написати СКНФ следеће функције:

f(x1 , x 2 , x 3 , x 4 )  x1 x 2 x 3 + x 2 x 3 x 4 + x1 x 3 x 4 + x1
───────────────
Грешка у решењу у збирци:
У решењу задатка #34, под а), погрешно је написан последњи куб у скупу вектора f(1).
Уместо 10Х1 треба да стоји 10Х0, па и наставак решења задатка изгледа другачије.

У решењу задатка #34, под б), уместо 1000Х, треба да стоји 100Х. Наставак решења је
исправан.

Решење:
а) Функције се разликују на оним векторима где имају различите вредности, односно где
важи да је f(0)=g(1) и f(1)=g(0). Да бисмо то урадили, можемо за сваку функцију да
одредимо вредности на свим векторима, а затим да их упоредимо. Како је функција
f(x1,x2,x3,x4) дата у облику ДНФ, лакше је одредити дисјунктивни покривач ове функције, а
како је функција g(x1,x2,x3,x4) дата у облику КНФ, лакше је одредити коњуктивни покривач
ове функције. Према описаним правилима на вежбама, за представљање нормалних
форми помоћу кубова добијамо:

f(1) = {X000, 01XX, X11X, 10X0}/f(b)

Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција f
има вредност један. Из овог скупа вектора, треба само уклонити оне векторе на којима се
функција не јавља (f(b)) као што је дефинисано у тексту задатка:

f(1) = {0000, 1000, 0100, 0101, 0110, 0111, 0110, 0111, 1110, 1111, 1000, 1010}/f(b)
f(1) = {0, 8, 4, 5, 6, 7, 6, 7, 14, 15, 8, 10}/{6, 14, 15}
f(1) = {0, 4, 5, 7, 8, 10}

Када одредимо где функција f има вредност један, морамо да одредимо и где та функција
има вредност нула:
f(0) = {1, 2, 3, 9, 11, 12, 13}
Исти поступак примењујемо и за функцију g:
g(0) = {011X, X000, 0X01, 1XXX}/g(b)

Потпуним развијањем ових кубова, можемо одредити све векторе на којима функција g
има вредност нула. Из овог скупа вектора, треба само уклонити оне векторе на којима се
функција не јавља (g(b)) као што је дефинисано у тексту задатка:

g(0) = {0110, 0111, 0000, 1000, 0001, 0101, 1000, 1001, 1010, 1011,
1100, 1101, 1110, 1111}/g(b)
g(0) = {6, 7, 0, 8, 1, 5, 8, 9, 10, 11, 12, 13, 14, 15}/{6, 14, 15}
g(0) = {0, 1, 5, 7, 8, 9, 10, 11, 12, 13}

Када одредимо где функција g има вредност нула, морамо да одредимо и где та функција
има вредност један:
g(1) = {2, 3, 4}

Упоређивањем можемо утврдити да се функције разликују


на векторима {0, 2, 3, 5, 7, 8, 10}.

б) Како је функција f дата у облику ДНФ, лакше је одредити дисјунктивни покривач ове
функције, па тек након тога одредити СКНФ. Према описаним правилима на вежбама, за
представљање нормалних форми помоћу кубова добијамо:

f(1) = {100X, X111, 1X10, 0XXX} = {1000, 1001, 0111, 1111, 1010, 1110, 0000, 0001, 0010,
0011, 0100, 0101, 0110, 0111}
f(1) = {8, 9, 7, 15, 10, 14, 0, 1, 2, 3, 4, 5, 6, 7}
f(1) = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15}

Сада је потребно одредити f(0), а пошто је ова прекидачка функција потпуно дефинисана
(нема f(b)), функција f има вредност нула на свим векторима на којима нема вредност
један:

f(0) = {11, 12, 13}

На крају добијамо СКНФ облик функције:

f(x1 , x 2 , x 3 , x 4 )  (x1  x 2  x 3  x 4 )  (x1  x 2  x 3  x 4 )  (x1  x 2  x 3  x 4 )


Задатак 38

(ЈунСИ ‘07) а) Помоћу кубова одредити скуп вектора на којима се следеће две функције
разликују.

f(x1 , x 2 , x 3 , x 4 )  (x 2 + x 4 )  (x 2 + x 3 )  (x1 + x 4 )  (x 3 + x 4 )  (x1 + x 3 )


    
g(x 1 , x 2 , x 3 , x 4 )  x1 x 2 x 3 x 4 + x 2 x 4 + x 2 x 3 + x1x 2 x 4

б) Написати једну просту импликанту следеће функције:

f(x1 , x 2 , x 3 , x 4 )  (x1  x 3 )  ( x 3  x 4 )  (x1  x 4  (x1  x 2 )  (x 2  x 4 ))


───────────────
Грешка у тексту задатка у збирци:
У тексту задатка #38, под б), погрешно је написано просту импликанту, а треба да стоји
просту имплиценту. Решење задатка је исправно.
Задатак 41

Дата је функција f ( x1, x 2 , x 3 , x 4 ) дефинисана скуповима индекса: f(1) = {0, 1, 2, 4, 5, 6, 8,


9}. Наћи бар једну просту имплиценту функције f ( x1, x 2 , x 3 , x 4 ) .

───────────────
Грешка у решењу у збирци:
Функција има вредност нула и на вектору са индексом 15, што је у решењу задатка
изостављено. Наставак решења је исправан.

Решење:
Потребно је одредити f(0), а пошто је ова прекидачка функција потпуно дефинисана (нема
f(b)), функција f има вредност нула на свим векторима на којима нема вредност један:

f(0) = {3, 7, 10, 11, 12, 13, 14, 15}

g1(x 1, x 2 , x3 , x 4 )  x1  x 2

g2(x 1 , x 2 , x 3 , x 4 )  x 3  x 4

g3(x 1 , x 2 , x 3 , x 4 )  x1  x 3
Задатак 56

(К1СИ ‘08) Помоћу Карноових карти наћи минималну


а) КНФ функције f(x1, x 2 , x 3 , x 4 )  ( x1  x 2  ( x1  x 2  ( x1  x 2 )  ( x 3  x 4 )))  ( x1  x 3 )
б) ДНФ функције f(x1 , x 2 , x 3 )  (x1  x 2 )(x 2  x 3 )(x1  x 2  x 3 )
в) KНФ функције f(x1, x2, x3, x4) задате скупом индекса f(1) = {4, 6, 8, 10, 13}
г) ДНФ функције f(x1, x2, x3, x4) задате скупом индекса f(0) = {6, 9, 13, 15} и
f(b) = {2, 3, 4, 5, 10, 11, 12}
───────────────
Грешка у решењу у збирци:
У решењу задатка #56, под б), погрешно је написано коначно решење (недостаје
комплемент код x1).

У решењу задатка #56, под г), погрешно је нацртана Карноова карта и написано решење.

Решење:
б) Функција из поставке задатка је дата у облику КНФ. Развијањем кубова добија се скуп
вектора над којима је вредност ове функције једнака нули. Скуп вектора над којима
функција нема вредност нула, је скуп вектора над којима функција има вредност један.
f(1)  {11X , X 11,001}
f(0)  {110,111,011,001}
f(0)  {1,3,6,7}
f(1)  {0,2,4,5}

Минимизацијом помоћу Карноове карте добија се минимална ДНФ дате функције:

x 1x 2
x3 00 01 11 10
0 1 1 1

1 1

На крају формирамо минималну ДНФ функције, као суму елементарних производа:


f(x1 , x 2 , x 3 )  x1 x3  x1 x2
г) Ако је дато f(0) = {6, 9, 13, 15} и f(b) = {2, 3, 4, 5, 10, 11, 12}, онда је f(1) = {0, 1, 7, 8, 14}

На крају формирамо минималну ДНФ функције, као суму елементарних производа:


f(x1 , x 2 , x 3 , x 4 )  x1 x3  x1x4  x1 x4
Задатак 60

(Окт ‘04) Помоћу Карноових карти наћи минималну КНФ функције

f(x 1 , x 2 , x 3 , x 4 )  x 2 x 3 x 4  x 1 x 3 x 4  x 1 x 2 x 4  x 1 x 2 x 3  x 1 x 2 x 3 x 4

───────────────
Грешка у решењу у збирци:
У решењу задатка #60, недостаје један куб 100Х у скупу f(1) и недостаје вектор са
индексом 12 у скупу f(0).

Решење:
Функција f је дата у облику ДНФ, па ћемо одредити где та функција има вредност један,
према правилима за представљање нормалних форми помоћу кубова:
f(1) = {X011, 1X01, 00X1, 100Х, 0100}
f(1) = {0011, 1011, 1001, 1101, 0001, 0011, 1000, 1001, 0100}
f(1) = {3, 11, 9, 13, 1, 3, 8, 9, 4}
f(1) = {1, 3, 4, 8, 9, 11, 13}

Сада је потребно одредити f(0), а пошто је ова прекидачка функција потпуно дефинисана
(нема f(b)), функција f има вредност нула на свим векторима на којима нема вредност
један:
f(0) = {0, 2, 5, 6, 7, 10, 12, 14, 15}

x x2
x 3x 4 1 00 01 11 10
00 0 0

01 0

11 0 0

10 0 0 0 0

f(x1 , x 2 , x 3 , x 4 )  ( x3  x4 )( x 2  x3 )( x1  x 2  x4 )( x1  x2  x4 )( x1  x 2  x 4 )
Задатак 64

(Јун ‘05) Дата је функција f(x1, x2, x3, x4) дефинисана скуповима индекса:

f(1) = {6, 7, 11, 12, 13, 14, 15}, f(b) = {3, 4, 9}. Користећи Карноове карте наћи бар једну
минималну KНФ и ДНФ дате функције.

───────────────
Грешка у решењу у збирци:
У решењу задатка #64, код ДНФ појављује се једна фигура вишка и недостаје једно поље
b у Карноовој карти.

Решење:

x x2
x 3x 4 1 00 01 11 10
00 0 b 0

01 0 0 b

11 b

10 0 0

f(x1 , x 2 , x 3 , x 4 )  (x 1  x 3 )(x 2  x 4 )

Фигура означена црвеном испрекиданом линијом x1 x4 је


вишак у решењу у збирци, зато што су вектори који имају
вредност 1 и који припадају тој фигури (на индексима 11,
13 и 15), већ укључени у фигуре x1 x2 и x3 x4 , па је грешка
уколико и ту фигуру нацртамо, зато што се у том случају
не добија минимална ДНФ.

Минимална ДНФ функције изгледа овако:

f(x1, x 2 , x 3 , x 4 )  x1 x2  x3 x4  x2 x3
Задатак 66

(К1 ‘04) Помоћу Карноових карти наћи минималну

а) КНФ функције f(x1 , x 2 , x 3 , x 4 )  x1x 3x 4  x 2 x 3x 4  x1x 2 x 3x 4  x1x 2 x 4  x 2 x 3x 4  x1x 2 x 3

б) ДНФ функције f(x1, x2, x3, x4) задате скупом индекса f(0) = {4, 7, 9, 11, 14, 15} и
f(b) = {3, 5, 6, 12}.

───────────────
Грешка у решењу у збирци:
У решењу задатка #66, под а), код Карноове карте уписана је вредност 0 у поље са
индексом 13. То повлачи неисправно решење задатка.

Решење:
а) f(1) = {0X10, X000, 1101, 00X0, X110, 111X}

f(1) = {0010, 0110, 0000, 1000, 1101, 0000, 0010, 0110, 1110, 1110, 1111} =

= {0, 2, 6, 8, 13, 14 ,15}

f(0) = {1, 3, 4, 5, 7, 9, 10, 11, 12}

x1x2
x3x4 00 01 11 10
00 0 0
01 0 0 0
11 0 0 0
10 0

f(x1 , x 2 , x 3 , x 4 )  ( x1  x4 )( x2  x3  x4 )( x2  x4 )( x1  x2  x3 )
Задатак 71

(К1 ‘05) Помоћу Карноових карти наћи минималну

а) КНФ функције
f(x1 , x 2 , x 3 , x 4 )  x 1 x 3 x 4  x 2 x 3 x 4  x 1 x 2 x 3 x 4  x 1 x 2 x 4  x 2 x 3 x 4  x 1 x 2 x 3

б) ДНФ функције f(x1, x2, x3) задате скупом индекса f(0) = {0, 1, 4, 7}

в) (30) КНФ функције f(x1, x2, x3, x4) задате скупом индекса f(1) = {4, 7, 9, 11, 14, 15} и f(b) =
{3, 5, 6, 12}.

г) КНФ функције f(x 1 , x 2 , x 3 , x 4 )  ( x 1  x 2  x 3 )  ( x 2  ( x 3  x 4 )  ( x 1  x 2  ( x 3  x 4 )))


───────────────
Грешка у решењу у збирци:
У решењу задатка #71, под г), погрешно је написано коначно решење, пошто уместо х2,
треба да стоји ~х2.

Решење:
г) После сређивања израза применом правила Булове алгебре, Карноова карта изгледа
овако:

x1x2
x3x4 00 01 11 10
00 0 0 0
01 0 0
11 0 0
10 0 0

f(x1 , x 2 , x 3 , x 4 )  x 2 ( x1  x3  x4 )
Задатак 73

(Апр ‘06) Помоћу Карноових карти наћи минималну:

а) ДНФ функције f(x1, x2, x3, x4) задате скуповима индекса: f(0) = {1, 6, 9, 11, 12, 14, 15},

f(b) = {4, 8, 10, 13}

б) КНФ функције f(x1, x2, x3, x4)

f(x1 , x 2 , x 3 , x 4 )  (x1  x 2  x 3 )  (x1  x 2  (x 3  x 4 )  (x 2  x 3 ))(x 3  x 4 )  x1  x 2  (x 4  x 3 )


───────────────

Грешка у решењу у збирци:


У решењу задатка #73, под а), погрешно је написано коначно решење, пошто задатак
може да се реши са три фигуре уместо са четири.

Решење:
а) Функција f има вредност један на свим векторима, осим оних на којима има вредност
нула и на којима се функција не јавља. Затим нацртамо Карноову карту за функцију f која
зависи од 4 променљиве и попунимо она поља где функција има вредност један - f(1) и
она поља где се функција не јавља - f(b). Вектори који се никада не јављају у Карноовој
карти се обележавају са b и они могу бити врло битни при добијању минималнијег
решења. Како нам није важно коју вредност функција има на овим векторима, јер се они
никада не јављају, можемо користити ту вредност и као нулу и као јединицу. У овом
задатку користићемо b као вредност један, зато што тражимо минималну ДНФ функције:

x1x2
x3x4 00 01 11 10
00 1 b b
01 1 b
11 1 1
10 1 b

Ова Карноова карта има више решења, уколико користимо различите фигуре са два
поља. Нека од решења:
f(x1 , x 2 , x 3 , x 4 )  x2 x4  x1x2 x4  x1x3 x4 или
f(x1 , x 2 , x 3 , x 4 )  x2 x4  x1x2 x3  x1x3 x4 или
f(x1 , x 2 , x 3 , x 4 )  x2 x4  x2 x3 x4  x1x3 x4
x x2
x 3x 4 1 00 01 11 10
00 0

01 0

11 0 0 0 0

10 0

f(x1 , x 2 , x 3 , x 4 )  (x1  x 2 )(x 3  x 4 )

You might also like