62
Берілген жеке тапсырмалардың орындалу үлгісі
1-тапсырма.
С логикалық өрнегінің ақиқаттық кестесін құру керек:
?????? = (¬?????? ∨ ¬??????) ↔ (¬??????&??????) ?????????????????? ??????
Шығарылуы:
1.
жол санын анықтаймыз:
Кірісте екі қарапайым ақиқат: ?????? және ??????, сондықтан ?????? = 2 және жол
саны = 2
2
+ 1 = 5.
2.
баған санын анықтаймыз:
Өрнек екі қарапайым өрнектерден (?????? және ??????) тұрады;
Логикалық операциялар санын анықтаймыз:
Инверсия операциялары (¬:– ¬??????, ¬??????) – 2;
Конъюнкция операциялары (& немесе ∧: ??????1 = ¬??????&??????) – 1;
Дизъюнкция операциялары (∨: ??????2 = ¬?????? ∨ ¬??????) – 1;
Эквиваленттілік операциясы ( ↔: ??????3 = ??????1 ↔ ??????2) – 1;
Шығару немесе операциясы (??????????????????: ??????4 = ??????3 ?????????????????? ??????) 1.
Сонымен, логикалық операциялар саны – 6, яғни ақиқат кестесінің
бағандар саны = айнымалылар саны + операциялар саны= 2 + 6 = 8 .
Алдымен инверсия операциясы, содан кейін конъюнкция, содан кейін
дизъюнкция, содан кейін эквиваленттілік, соңғы кезекте шығару немесе
операциясы орындалады.
3.
логикалық операциялардың ақиқат кестесін ескере отырып
бағандарды толтырамыз:
??????
??????
¬??????
¬??????
¬??????&?????? ¬?????? ∨ ¬??????
(¬?????? ∨ ¬??????)
↔ (¬??????&??????)
С
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
Жауабы:
Логикалық өрнектің ақиқаттық кестесі:
??????
??????
¬??????
¬??????
¬??????&?????? ¬?????? ∨ ¬??????
(¬?????? ∨ ¬??????)
↔ (¬??????&??????)
С
1
1
0
0
0
0
1
0
1
0
0
1
1
1
1
0
0
1
1
0
0
1
0
0
0
0
1
1
0
1
0
0
63
2-тапсырма.
??????(??????, ??????) функциясының логикалық сұлбасын тұрғызу керек:
¬?????? ∨ ?????? ∨ ¬(¬??????&??????)
Шығарылуы:
1.
Логикалық айнымалылар саны – 2 (?????? және ??????);
2.
Операциялар саны – 6 (¬?????? – инверсия, ¬?????? – инверсия, ¬??????&?????? –
конъюнкция, ¬(¬?????? ∨ ??????) – инверсия, ¬?????? ∨ ?????? – дизъюнкция,
¬?????? ∨ ?????? ∨ ¬(¬?????? ∨ ??????)–
дизъюнкция).
Алдымен
инверсия
операциясы, содан кейін конъюнкция, соңғы кезекте
дизъюнкция операциясы орындалады.
3.
Сұлба 3 инвертордан, 1 конъюнктордан, 2 дизъюнктордан
тұрады.
4.
Сұлбаны тұрғызуды ең соңғы орындалатын логикалық
операциядан бастау керек. Берілген жағдайда мұндай операция
– логикалық қосу операциясы, демек, шығыста дизъюнктор
болады.
?????? ¬?????? ¬?????? ∨ ??????
??????
?????? ¬?????? ¬??????&?????? ¬(¬??????&??????)
3-тапсырма.
Берілген логикалық өрнекті ықшамдау керек:
?????? = ¬(?????? ∨ ??????)&(??????&¬??????) ∨ ??????.
Шығарылуы:
Де Морган заңы бойынша:
¬(?????? ∨ ??????)&(??????&¬??????) ∨ ?????? = ¬??????&¬??????&(??????&¬??????) ∨ ??????.
Ассоциативтік (терімділік) заңы бойынша
¬??????&¬??????&(??????&¬??????) ∨ ?????? = ¬??????&¬??????&??????&¬?????? ∨ ??????.
Алынған өрнекті топтастырамыз:
¬??????&¬??????&??????&¬?????? ∨ ?????? = ¬??????&??????&¬??????&¬?????? ∨ ??????
Айнымалымен және оның терістеуімен операциялар (қосымша)
қасиеті бойынша
¬??????&?????? = 0.
Рефлексивтік (идемпотенттілік) заңы бойынша
¬??????&¬?????? = ¬??????
Сонда,
¬??????&??????&¬??????&¬?????? ∨ ?????? = 0&¬?????? ∨ ??????
НЕМЕСЕ
ЖӘНЕ
НЕМЕСЕ
64
Нөлге және бірге көбейту қасиеті бойынша:
0&¬?????? = 0.
Нөлмен және бірмен қосу қасиеті бойынша:
0 ∨ ?????? = ??????.
Нәтижесінде ¬(?????? ∨ ??????)&(??????&¬??????) ∨ ?????? = ??????.
Жауабы:
¬(?????? ∨ ??????)&(??????&¬??????) ∨ ?????? = ??????
4-тапсырма.
Екі өрнек эквивалентті ме, жоқ па, соны анықтаңыздар.
Бірінші өрнек:
¬(?????? ∨ ??????)&(??????&¬??????) ∨ ?????? ∨ ??????
Екінші өрнек:
?????? ∨ ??????
Шығарылуы:
Де Морган заңы бойынша:
¬(?????? ∨ ??????)&(??????&¬??????) ∨ ?????? ∨ ?????? = ¬??????&¬??????&(??????&¬??????) ∨ ?????? ∨ ??????
Ассоциативтік (терімділік) заңы бойынша
¬??????&¬??????&(??????&¬??????) ∨ ?????? ∨ ?????? = ¬??????&¬??????&??????&¬?????? ∨ ?????? ∨ ??????.
Алынған өрнекті топтастырамыз да, айнымалымен және оның
терістеуімен
операциялар
(қосымша)
қасиетін,
рефлексивтік
(идемпотенттілік) заңын пайдаланамыз:
¬??????&¬??????&??????&¬?????? ∨ ?????? ∨ ?????? = ¬??????&??????&¬??????&¬?????? ∨ ?????? ∨ ?????? = 0&¬?????? ∨ ?????? ∨ ??????
Нөлге және бірге көбейту, нөлмен және бірмен қосу қасиеттері
бойынша
0&¬?????? ∨ ?????? ∨ ?????? = 0 ∨ ?????? ∨ ?????? = ?????? ∨ ??????
бірінші өрнекті түрлендіру нәтижесінде екінші өрнекті алдық.
Яғни, екі өрнек эквивалентті.
Жауабы: Екі өрнек эквивалентті.
5-тапсырма.
Аргументтердің берілген сәйкес мәндеріндегі ?????? логикалық
функциясының мәнін есептеңіздер (функцияның жалған не ақиқаттығын
анықтаңыздар).
??????(??????, ??????) = ¬(?????? ∨ ??????)&¬?????? ∨ ??????,
?????? = 0, ?????? = 1.
Шығарылуы:
Операциялардың орындалу реттері:
1.
?????? ∨ ??????;
2.
¬(?????? ∨ ??????);
3.
¬??????;
4.
¬(?????? ∨ ??????)&¬??????;
5.
¬(?????? ∨ ??????)&¬?????? ∨ ??????;
65
Енді көрсетілген ретпен біртіндеп әрбір өрнектің мәнін есептейміз:
1.
?????? ∨ ?????? = 0 ∨ 1 = 1;
2.
¬(?????? ∨ ??????) = ¬1 = 0;
3.
¬?????? = ¬0 = 1;
4.
¬(?????? ∨ ??????)&¬?????? = 0&1 = 0;
5.
¬(?????? ∨ ??????)&¬?????? ∨ ?????? = 0 ∨ 1 = 1.
Сонымен берілген аргументтердің мәндерінде функция 1 мәнін
қабылдайды.
Жауабы.
?????? = 1,
немесе өрнек ақиқат мәнді қабылдайды.
6-тапсырма.
Берілген логикалық сұлба бойынша
а) логикалық функцияның формуласын жазыңыздар;
ә) ақиқаттық кестесін тұрғызыңыздар:
??????
??????
??????
Шығарылуы.
а) Біртіндеп, сұлбаларға сипаттама берейік:
1.
?????? ¬??????
?????? ¬??????
2.
??????
¬?????? ∨ ¬??????
??????
НЕМЕСЕ
ЕМЕС
ЕМЕС
ЕМЕС
ЖӘНЕ
ЕМЕС
ЕМЕС
НЕМЕСЕ
ЕМЕС
ЕМЕС
66
3.
??????
(
¬?????? ∨ ¬??????)
??????
4.
Ыңғайлы болу үшін ?????? = ¬(¬?????? ∨ ¬??????) белгілеуін енгіземіз:
??????
??????
??????&??????
?????? ??????
Ең соңында ??????&?????? = ¬(¬?????? ∨ ¬??????)&?????? формуласын аламыз.
ә) Ақиқат кестесін құрамыз:
1. айнымалылар саны – 2 (
?????? және ?????? айнымалылары);
Жол саны – 2;
2. операциялар саны– 5 (
¬??????, ¬??????, ¬?????? ∨ ¬??????, ¬(¬?????? ∨ ¬??????),
¬(¬?????? ∨ ¬??????)&??????);
3. баған саны 7 (айнымалылар саны + операциялар саны);
4. белгілі логикалық операциялардың ақиқат кестесін ескере отырып
бағандарды толтырамыз:
??????
??????
¬??????
¬??????
¬?????? ∨ ¬?????? ¬(¬?????? ∨ ¬??????)
¬(¬?????? ∨ ¬??????)&??????
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
Жауабы:
а) логикалық функцияның формуласы: ¬(¬?????? ∨ ¬??????)&??????;
ә) ақиқаттық кестесі:
??????
??????
¬??????
¬??????
¬?????? ∨ ¬?????? ¬(¬?????? ∨ ¬??????)
¬(¬?????? ∨ ¬??????)&??????
1
1
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
НЕМЕСЕ
ЕМЕС
ЕМЕС
ЕМЕС
НЕМЕСЕ
ЕМЕС
ЕМЕС
ЕМЕС
ЖӘНЕ
67
7-тапсырма.
Берілген ақиқаттық кесте бойынша
1.
Берілген ақиқаттық кестелердегі мәндер бойынша ДҚТ-да бульдік
функцияларын жазып, логикалық сұлбасын тұрғызу керек.
2.
1-пунктте алынған функцияларды буль ережелерін пайдаланып
алгебралық минимизациялауды жүргізу керек және логикалық
сұлбаны тұрғызу керек.
3.
1-пунктте алынған функцияны Карно картасының көмегімен
минимизациялап, логикалық сұлбасын тұрғызу керек.
4.
2-пунктте және 3-пунктте алынған нәтижелерді салыстырып,
қорытынды жасау керек.
??????
3
??????
2
??????
1
??????
0
??????
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
Шығарылуы:
1) Кез келген ақиқаттық кестені ДҚТ ретінде беруге болады.
Логикалық функцияны бірлік термдердің комбинациясы ретінде
берілуі.
Біз шығыс биттері 1-ге тең болатын кіріс биттер тобын таңдаймыз.
Әрбір терм үшін ЖӘНЕ сұлбасын тұрғызамыз. ДҚТ-ның шығыс
функциясы өз алдына термдердің логикалық қосындысын береді.
Әрбір терм үшін олардың көбейтіндісі 1-ге тең болатындай логикалық
көбейтіндісін тұрғызамыз. Ыңғайлы болу үшін ақиқаттық кестеде
функцияның мәні 0-ге тең жолдарды алып тастап, 1-ге тең жолдарды
қалдырамыз:
68
??????
3
??????
2
??????
1
??????
1
??????
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
?????? = ??????̅
3
??????̅
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????
0
+ ??????̅
3
??????
2
??????
1
??????̅
0
+ ??????
3
??????̅
2
??????̅
1
??????̅
0
+
??????
3
??????̅
2
??????̅
1
??????
0
+ ??????
3
??????̅
2
??????
1
??????̅
0
+ ??????
3
??????̅
2
??????
1
??????
0
+ ??????
3
??????
2
??????̅
1
??????̅
0
+ ??????
3
??????
2
??????̅
1
??????
0
+
??????
3
??????
2
??????
1
??????̅
0
+ ??????
3
??????
2
??????
1
??????
0
4 битті қосылғыштар алдық. Сұлбаның шығысында НЕМЕСЕ
элементі болады. Бұл элементтің сәйкес 12 кірісі ЖӘНЕ логикалық
элементтерінен тұрады. Айтылғандарлы сұлба арқылы сызып көрсетейік.
??????
Сонымен тапсырманың осы бөлігін орындай отырып біз логикалық
сұлба үшін 12 * (4 ЖӘНЕ)+12 НЕМЕСЕ ресурс қажет екеніне көз жеткіздік.
2) 1-пунктте алынған функцияларды буль ережелерін пайдаланып
алгебралық минимизациялауды жүргізу керек және логикалық сұлбаны
тұрғызу керек.
Негізінен екі ережені пайдаланатынымыз жоғарыда айтылған
болатын:
1.
жапсыру ережесі: (????????????̅ + ????????????) = ??????;
2.
түсіп қалу (жұту) ережесі ?????? + ???????????? = ??????.
&
&
&
&
&
&
&
&
&
&
&
&
1
69
Енді
алынған
КДҚТ-ны
минимизациялаймыз.
Ол
әрине
минимизациялау нәтижесінде КДҚТ болмайды, себебі термдердегі
айнымалылар саны азаяды. Әрбір көршілес екі термдерді топтастырайық.
1-ші және 2-ші термдерді қарастырайық.
??????̅
3
??????̅
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????̅
0
Екі қосылғышқа ортақ ??????̅
3
??????̅
1
??????̅
0
көбейткіштерін жақшаның сыртына
шығарамыз:
??????̅
3
??????̅
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????̅
0
=
??????̅
3
??????̅
1
??????̅
0
(??????̅
2
+ ??????
2
) = ??????̅
3
??????̅
1
??????̅
0
.
Міне
осылайша
көршілес
термдерді
топтастыра
отырып
функциямызды минимизациялаймыз. Алғашқы екі термді топтастыра
отырып, 4 битті екі қосылғыштан 3 битті бір қосылғыш алдық. Әрі қарай
жалғастырамыз:
?????? = ??????̅
3
??????̅
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????
0
+ ??????̅
3
??????
2
??????
1
??????̅
0
+
??????
3
??????̅
2
??????̅
1
??????̅
0
+ ??????
3
??????̅
2
??????̅
1
??????
0
+ ??????
3
??????̅
2
??????
1
??????̅
0
+ ??????
3
??????̅
2
??????
1
??????
0
+
??????
3
??????
2
??????̅
1
??????̅
0
+ ??????
3
??????
2
??????̅
1
??????
0
+ ??????
3
??????
2
??????
1
??????̅
0
+ ??????
3
??????
2
??????
1
??????
0
= ??????̅
3
??????̅
1
??????̅
0
(??????̅
2
+ ??????
2
) + ??????̅
3
??????
2
??????̅
1
??????
0
+ ??????̅
3
??????
2
??????
1
??????̅
0
+ ??????
3
??????̅
2
??????̅
1
(??????̅
0
+ ??????
0
) + ??????
3
??????̅
2
??????
1
(??????̅
0
+ ??????
0
) + ??????
3
??????
2
??????̅
1
(??????̅
0
+ ??????
0
)
+ ??????
3
??????
2
??????
1
(??????̅
0
+ ??????
0
) =
??????̅
3
??????̅
1
??????̅
0
+ ??????̅
3
??????
2
??????̅
1
??????
0
+ ??????̅
3
??????
2
??????
1
??????̅
0
+ ??????
3
??????̅
2
??????̅
1
+ ??????
3
??????̅
2
??????
1
+ ??????
3
??????
2
??????̅
1
+ ??????
3
??????
2
??????
1
.
Тапсырманың осы бөлігін орындай отырып, біз логикалық сұлба үшін
2 * (4 ЖӘНЕ)+ 5 * (3 ЖӘНЕ)+7 НЕМЕСЕ
ресурс қажет екенін алдық.
Енді жүзеге асыру мақсатында алынған нәтиже үшін логикалық
сұлбасын тұрғызайық.
??????
3
??????
1
??????
3
??????
0
??????
2
??????
3
??????
1
??????
2
??????
3
??????
0
??????
1
??????
2
??????
0
??????
1
??????
3
??????
2
??????
1
??????
3
??????
2
??????
1
??????
3
??????
2
??????
1
&
&
&
&
&
&
&
1
70
3.
1-пунктте алынған функцияны Карно картасының көмегімен
минимизациялап, логикалық сұлбасын тұрғызу керек.
Карно картасы алгебралық түрлендірусіз минимизациялауға
мүмкіндік береді. Ақиқат кестесіндегі функцияның мәні 1-ге тең
жолдардағы мәндерді рет-ретімен Карно картасына енгіземіз.
??????
3
??????
2
??????
1
??????
0
??????
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
1
0
1
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1-қадам. Карно картасын құрамыз.
??????
1
??????
0
??????
3
??????
2
00
01
11
10
00
1
0
0
0
01
1
1
0
1
11
1
1
1
1
10
1
1
1
1
2-қадам. Саны
2
??????
-ге тең болатындай бірліктер орналасқан торларды
контурға аламыз.
??????
1
??????
0
??????
3
??????
2
00
01
11
10
00
1
0
0
0
01
1
1
0
1
11
1
1
1
1
10
1
1
1
1
I-контур. II-контур. III-контур. IV-контур.
71
3-қадам. Контурлар анықталды. Енді осы контурларға жеке-жеке
тоқталайық. Контурлар берілген контурда өзгерілмейтін айнымалылардың
көбейтіндісімен алмастырылады.
I-контур.
??????
1
??????
0
??????
3
??????
2
00
00
1
01
1
11
1
10
1
??????
3
айнымалысы берілген контур үшін 0 және 1 мәнін қабылдайды,
демек ??????
3
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
2
айнымалысы берілген контур үшін 0 және 1 мәнін қабылдайды,
демек ??????
2
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
1
айнымалысы 0 мәнін ғана қабылдайды, яғни мәні өзгермейді. Және
оның мәні 0-ге тең болғандықтан көбейтіндіге инверсиямен енеді.
??????
0
айнымалысы да 0 мәнін ғана қабылдайды, яғни мәні өзгермейді.
Және оның мәні 0-ге тең болғандықтан ол да көбейтіндіге инверсиямен
енеді.
Сонымен, І~??????̅
1
??????̅
0
.
II-контур.
??????
1
??????
0
??????
3
??????
2
00
01
11
10
11
1
1
1
1
10
1
1
1
1
??????
3
айнымалысы берілген контур үшін 1 мәнін қабылдайды, демек
??????
3
айнымалысының мәні көбейтіндіге тікелей енеді;
??????
2
айнымалысы берілген контур үшін 0 және 1 мәнін қабылдайды,
демек ??????
2
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
1
айнымалысы 0 және 1 мәнін қабылдайды, демек
??????
1
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
0
айнымалысы 0 және 1 мәнін қабылдайды, демек
??????
0
айнымалысының мәні өзгереді, көбейтіндіге енбейді.
Сонымен, ІІ~??????
3
.
III-контур.
??????
1
??????
0
??????
3
??????
2
00
01
01
1
1
11
1
1
??????
3
айнымалысы берілген контур үшін 0 және 1 мәнін қабылдайды,
демек ??????
3
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
72
??????
2
айнымалысы берілген контур үшін 1 мәнін қабылдайды, демек ??????
2
айнымалысының мәні көбейтіндіге тікелей енеді;
??????
1
айнымалысы 0 мәнін ғана қабылдайды, яғни мәні өзгермейді. Және
оның мәні 0-ге тең болғандықтан көбейтіндіге инверсиямен енеді;
??????
0
айнымалысы 0 және 1 мәнін қабылдайды, демек
??????
0
айнымалысының мәні өзгереді, көбейтіндіге енбейді.
Сонымен, ІІІ~ ??????
2
??????̅
1
.
4-контур.
??????
1
??????
0
??????
3
??????
2
00
10
01
1
1
11
1
1
??????
3
айнымалысы берілген контур үшін 0 және 1 мәнін қабылдайды,
демек ??????
3
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
2
айнымалысы берілген контур үшін 1 мәнін қабылдайды, демек ??????
2
айнымалысының мәні көбейтіндіге тікелей енеді;
??????
1
айнымалысы 0 және 1 мәнін қабылдайды, демек
??????
1
айнымалысының мәні өзгереді, көбейтіндіге енбейді;
??????
0
айнымалысы да 0 мәнін ғана қабылдайды, яғни мәні өзгермейді.
Және оның мәні 0-ге тең болғандықтан ол да көбейтіндіге инверсиямен
енеді.
Сонымен, IV ~ ??????
2
??????̅
0
.
Қорытындыласақ, Карно картасының көмегімен минимизациялау
барысында алынған функция мына түрді қабылдайды:
?????? = ??????̅
1
??????̅
0
+ ??????
3
+ ??????
2
??????̅
1
+ ??????
2
??????̅
0
Тапсырманың осы бөлігін орындай отырып біз логикалық сұлба үшін
3 * (2 ЖӘНЕ)+ 4 НЕМЕСЕ
қатынасын алдық.
Енді осы логикалық функция үшін логикалық сұлба тұрғызайық.
??????
1
??????
0
??????
3
??????
2
??????
1
??????
2
??????
0
&
&
&
1
73
4.
2-пунктте және 3-пунктте алынған нәтижелерді салыстырып,
қорытынды жасаймыз. Ыңғайлы болу үшін әрбір кезеңде алынған
нәтижені кестеге енгізу арқылы талдау жүргізейік:
Бастапқы
функция үшін
Алгебралық
минимизациялау
нәтижесі
Карно
картасының
көмегімен
минимизациялау нәтижесі
12
*
(4
ЖӘНЕ)+12
НЕМЕСЕ
2 * (4 ЖӘНЕ)+ 5 * (3
ЖӘНЕ)+7 НЕМЕСЕ
3 * (2 ЖӘНЕ)+ 4 НЕМЕСЕ
Карно картасының көмегімен минимизациялау жоғары деңгейде
орындалғаны кестеден көрініп отыр. Сол сияқты сұлбалардағы
конъюнкторлар мен дизъюнкторлар санының да минимизацияланғанын
байқауға болады.
Өзін өзі тексеруге арналған бақылау сұрақтары
Достарыңызбен бөлісу: |