1.1 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. При цьому перші 3 цифри відповідають цілій частині числа, а останні - дробовій.
Наприклад, Біда Ян Андрійович, 8 перших різних літер для варіанту В1: Б, І, Д, А, Я, Н, Р, Й.
З кодової таблиці маємо:
Б - 52, І - 14, Й - 36.
Число - 521,436.
Вважаючи це число десятковим, перевести його до шістнадцяткової, вісімкової та двійкової систем числення з точністю відповідно 3, 3 та 5 розрядів після коми.
З кодової таблиці маємо:
С - 35; А – 78; Д – 28.
Число: 357,82810.
Переведення в двійкову систему числення:
Переведення цілої частини:
357 / 2 = 178 [1];
178 / 2 = 89 [0];
89 / 2 = 44 [1];
44 / 2 = 22 [0];
22 / 2 = 11 [0];
11 / 2 = 5 [1];
5 / 2 = 2 [1];
2 / 2 = 1 [0];
[1];

35710 = 1011001012
Переведення дробової частини:
0,828
Х
2
1,656
Х
2
1,312
Х
2
0,624
Х
2
1,248
Х
2
0,496
Х
2
0,992
Х
2
1,984
Х
2
1,968
Х
2
1,936
Х
2
1,872
Х
2
1,744
Х
2
1,488


0,82810 = 0,1101001111112
357,82810 = 101100101 ,1101001111112
Переведення в вісімкову систему числення:
101 100 101 , 110 100 111 1112 = 545,64778
*Переведення: розбиття на тріади, починаючи від коми (ліворуч і прворуч), причому у дробовій частині останню тріаду доповнюють нулями при необхідності.
Переведення в шістнадцяткову систему числення:
1 0110 0101 , 1101 0011 11112 = 165,D3F16
*Переведення: аналогічне попередньому методу, тільки розбиваєм на тетради.
357,82810 = 101100101 ,1101001111112 = 545,64778 = 165,D3F16
1.2 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. При цьому перші 3 цифри відповідають цілій частині числа, а останні - дробовій.
Вважаючи це число шістнадцятковим, перевести його до десяткової, вісімкової та двійкової систем числення з точністю відповідно 3, 3 та 5
розрядів після коми.
Число: 357,82816
357,82816 = 11 0101 0111 , 1000 0010 10002
1 101 010 111 , 100 000 101 0002 = 1527,40508
3*256 + 5*16 + 7 , 8*0,0625 + 2*0,00390625 + 8*0,000244140625 = 855,523437510
357,82816 = 855,523437510 = 1527,40508 = 1101010111,1000001010002
1.3 Скласти шестизначне число, яке складається з отриманих за допомогою кодової таблиці кодів 1-ої, 2-ої та 8-ої літер прізвища. Вважаючи це число десятковим, перевести його до системи числення залишкових класів із мінімально необхідною кількістю основ 2, 3, 5, 7, 11, ... . Після цього зробити зворотне переведення отриманого результату до десяткової системи числення.
Число: 357828.
p1 = 2;
p2 = 3;
p3 = 5;
p4 = 7;
p5 = 11;
p6 = 13;
p7 = 17.

P = p1 * p2 * p3 * p4 * p5 * p6 * p7 = 2 * 3 * 5 * 7 * 11 * 13 *17 = 510510.
357828 mod 2 = 0;
357828 mod 3 = 0;
357828 mod 5 = 3;
357828 mod 7 = 2;
357828 mod 11 = 9;
357828 mod 13 = 3;
357828 mod 17 = 12.

357828 = ( 0, 0, 3, 2, 9, 3, 12).
B1 = 1*n/2 = 255255; 255255 / 2 = 127627 [1]
B2 = 1*n/3 = 170170; 170170 / 3 = 56723 [1]
B3 = 1*n/5 = 102102; 102102 / 5 = 20420 [2]
B3 = 2*n/5 = 204204; 204204 / 5 = 40840 [4]
B3 = 3*n/5 = 306306; 306306 / 5 = 61261 [1]
B4 = 1*n/7 = 72930; 72930 / 7 = 10418 [4]
B4 = 2*n/7 = 145860; 145860 / 7 = 20837 [1]
B5 = 1*n/11 = 46410; 46410 / 11 = 4219 [1]
B6 = 1*n/13 = 39270; 39270 / 13 = 3020 [10]
B6 = 2*n/13 = 78540; 78540 / 13 = 6041 [7]
B6 = 3*n/13 = 117810; 117810 / 13 = 9062 [4]
B6 = 4*n/13 = 157080; 157080 / 13 = 12083 [1]
B7 = 1*n/17 = 30030; 30030 / 17 = 1766 [8]
B7 = 2*n/17 = 60060; 60060 / 17 = 3532 [16]
B7 = 3*n/17 = 90090; 90090 / 17 = 5299 [7]
B7 = 4*n/17 = 120120; 120120 / 17 = 7065 [15]
B7 = 5*n/17 = 150150; 150150 / 17 = 8832 [6]
B7 = 6*n/17 = 180180; 180180 / 17 = 10598 [14]
B7 = 7*n/17 = 210210; 210210 / 17 = 12365 [5]
B7 = 8*n/17 = 240240; 240240 / 17 = 14131 [13]
B7 = 9*n/17 = 270270; 270270 / 17 = 15898 [4]
B7 = 10*n/17 = 300300; 300300 / 17 = 17664 [12]
B7 = 11*n/17 = 330330; 330330 / 17 = 19431 [3]
B7 = 12*n/17 = 360360; 360360 / 17 = 21197 [11]
B7 = 13*n/17 = 390390; 390390 / 17 = 22964 [2]
B7 = 14*n/17 = 420420; 420420 / 17 = 24730 [10]
B7 = 15*n/17 = 450450; 450450 / 17 = 26497 [1]
B1 = 255255;
B2 = 170170;
B3 = 306306;
B4 = 145860;
B5 = 46410;
B6 = 157080;
B7 = 450450.

( 0, 0, 3, 2, 9, 3, 12) = ( 0 * 255255 + 0 * 170170 + 3 * 306306 + 2 * 145860 + 9 * 46410 + 3 * 157080 + 12 * 450450 ) ( mod 510510 ) = 7504968 mod 510510 = 357828.
357828 = ( 0, 0, 3, 2, 9, 3, 12).
1.4 Виконати ефективне кодування визначених літер прізвища, при умові, що отримане
за допомогою кодової таблиці число - десяткове і говорить про те, скільки разів у "повідомленні" зустрічається дана літера (при цьому, "повідомлення" складається всього з 8 обраних літер).
Визначити ефективність проведенного кодування та порівняти її з ентропією джерела повідомлення і ефективністю рівномірного кодування, тобто з випадком, коли довжина коду для кожної літери одна й та сама. За допомогою отриманих кодів ?скласти повідомлення, яке складається з визначених літер у тій послідовності, в якій вони зустрічаються у прізвищі. Визначити довжину (в бітах) повідомлення при ефективному і рівномірному кодуванні.
С 35 0,12
А 78 0,3
Л 33 0,11
Ш 17 0,06
Н 23 0,08
И 11 0,04
К 53 0,19
Д 28 0,1  
?278 ?100%
Літера
Імовірність
Ефективний код
Не ефективний код



код
довжина
код
довжина

А
0,3
11
2
000
3

К
0,19
10
2
001
3

С
0,12
011
3
010
3

Л
0,11
010
3
011
3

Д
0,1
001
3
100
3

Н
0,08
0001
4
101
3

Ш
0,06
00001
5
110
3

И
0,04
00000
5
111
3


H = = - ( 0.3*log20.3 + 0.19*log20.19 + 0.12*log20.12 + 0.11*log20.11 + 0.1*log0.1 +
0.08*log20.08 + 0.06*log20.06 + 0.04*log20.04 ) = - ( - 0.522 – 0.456 – 0.3684 – 0.3509 – 0.33 – 0.2936 – 0.2442 – 0.1868) = - ( - 2.7519) = 2.7519
Lсер. не еф = = 3 = 3
Lсер. еф = = 2*0.3 + 2*0.19 + 3*0.12 + 3*0.11 + 3*0.1 + 4*0.08 + 5*0.06 + 5*0.04 = 0.6 + 0.38 + 0.24 + 0.33 + 0.3 + 0.32 + 0.3 + 0.2 = 2.67
Lсер. еф. < H < Lсер. не еф.
011 11 010 00001 0001 00000 10 001 27 біт
010 000 011 110 101 111 001 100 24 біт
1.5 Для шістнадцяти розрядного двійкового коду (1ц1л)(2ц1л)(1ц8л)(2ц8л) сформувати код Геммінга (Hamming) і продемонструвати його реакцію на однократний збій. Результати подати у вигляді таблиці.
355316 = 00110101010100112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1

0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0

0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

k1
k2
i3
k4
i5
i6
i7
k8
i9
i10
i11
i12
i13
i14
i15
k16
i17
i18
i19
i20
i21

1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1
(1)
k1 = i3 # i5 # i7 # i9 # i11 # i13 # i15 # i17 # i19 # i21 = 0 # 0 # 1 # 0 # 0 # 0 # 0 # 1 # 0 # 1 = 1
k2 = i3 # i6 # i7 # i10 # i11 # i14 # i15 # i18 # i19 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 0 # 0 = 0
k4 = i5 # i6 # i7 # i12 # i13 # i14 # i15 # i20 # i21 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 1 # 1 = 0
k8 = i9 # i10 # i11 # i12 # i13 # i14 # i15 = 0 # 1 # 0 # 1 # 0 # 1 # 0 = 1
k16 = i17 # i18 # i19 # i20 # i21 = 1 # 0 # 0 # 1 # 1 = 1
K1 = i3 # i5 # i7 # i9 # i11 # i13 # i15 # i17 # i19 # i21 = 0 # 0 # 1 # 0 # 0 # 0 # 0 # 1 # 1 # 1 = 0
K2 = i3 # i6 # i7 # i10 # i11 # i14 # i15 # i18 # i19 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 0 # 1 = 1
K4 = i5 # i6 # i7 # i12 # i13 # i14 # i15 # i20 # i21 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 1 # 1 = 0
K8 = i9 # i10 # i11 # i12 # i13 # i14 # i15 = 0 # 1 # 0 # 1 # 0 # 1 # 0 = 1
K16 = i17 # i18 # i19 # i20 # i21 = 1 # 0 # 1 # 1 # 1 = 0
K # k = (K16 # k16)(K8 # k8)(K4 # k4)(K2 # k2)(K1 # k1) = (0 # 1)(1 # 1)(0 # 0)(1 # 0)(0 # 1) = 100112
1.6 Для послідовності 16-кових цифр (1ц1л)(2ц1л)(1ц2л)(2ц2л)…(1ц8л)(2ц8л),
користуючись картами Карно, визначити всі можливі помилкові коди, які можуть виникати при переході від цифри до цифри.
С – 35
А – 78
Л – 33
Ш – 17
Н – 23
И – 11
К – 53
Д – 28
357833172311532816
Визначення всіх можливих помилкових кодів.
1) 3 => 5
0011 => 0101:
помилкові коди при переході = 0111, 0001.
2) 5 => 7
0101 => 0111:
помилкові коди при переході = —————
3) 7 => 8
0111 => 1000:
помилкові коди при переході = 0000, 0001, 0010, 0011, 0100, 0101, 0110, 1001, 1010, 1011, 1100, 1101, 1110, 1111.
4) 8 => 3
1000 => 0011:
помилкові коди при переході = 0000, 0001, 0010, 1001, 1010, 1011.
5) 3 => 3
0011 => 0011:
помилкові коди при переході = —————
6) 3 => 1
0011 => 0001:
помилкові коди при переході = —————
7) 1 => 7
0001 => 0111:
помилкові коди при переході = 0101, 0011.
8) 7 => 2
0111 => 0010:
помилкові коди при переході = 0110, 0011.
9) 2 => 3
0010 => 0011:
помилкові коди при переході = —————
10) 3 => 1
0011 => 0001:
помилкові коди при переході = —————
11) 1 => 1
0001 => 0001:
помилкові коди при переході = —————
12) 1 => 5
0001 => 0101:
помилкові коди при переході = —————
13) 5 => 3
0101 => 0011
помилкові коди при переході = 0001, 0111.
14) 3 => 2
0011 => 0010:
помилкові коди при переході = —————
15) 2 => 8
0010 => 1000:
помилкові коди при переході = 0000, 1010.
2.1 Визначити класи функцій алгебри логіки, до яких належить задана за допомогою
таблиці функція трьох змінних (табл. ТZ.2), і її функціональну повноту. Двійкові коди цифр у графі "f" табл. ТZ.2 потрібно написати вертикально, старший розряд - наверху.
a
b
c
f

0
0
0
0

0
0
1
0

0
1
0
0

0
1
1
1

1
0
0
0

1
0
1
0

1
1
0
1

1
1
1
1

1ц4л – 1 0001
2ц7л – 3 0011
Функція на нульовому наборі змінних f(0,0,0) = 0. Отже, функція зберігає константу «0».
Функція на одиничному наборі змінних f(1,1,1) = 1. Отже, функція зберігає константу «1».
Функція не є монотонною, оскільки при будь-якому зростанні кількості "1" у послідовності сусідніх наборів змінних значення функції зменшується.
a
b
c
f

a
b
c
f

a
b
c
f

a
b
c
f

a
b
c
f

a
b
c
f

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
0
0

0
0
1
0

0
0
1
0

0
1
0
0

0
1
0
0

1
0
0
0

1
0
0
0

0
1
1
1

1
0
1
0

0
1
1
1

1
1
0
1

1
0
1
0

1
1
0
1

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1


a
b
c
f
a
b
c
f

0
0
0
0
1
1
1
1

0
0
1
0
1
1
0
1

0
1
0
0
1
0
1
0

0
1
1
1
1
0
0
0

Функція не є самодвоїстою, оскільки на третій парі протилежних наборів функція не приймає протилежні значення.
Для визначення лінійності функції подамо її у вигляді полінома Жегалкіна
f = /abc # ab/c # abc = (a#1)bc # ab(c#1) # abc = abc # bc # abc # ab # abc =
= abc # abc # abc # (=abc)
# bc # (=bc)
# ab = (=ab)
= abc # bc # ab.
Оскільки поліном містить добутки змінних, то функція не є лінійною.
Отже, із п'яти необхідних для створення ФПС властивостей відсутні дві – не зберігання константи «0» та «1», тому дана функція не утворює ФПС.

2.2 Мінімізувати за допомогою методу Квасна-Мак-Класкі-Петрика 5 функцій (f0, f1,
f2, f3, f4) 5-ти змінних (a, b, c, d, e). Функції задано за допомогою таблиці ТZ.3. Побудувати
таблицю, яка ілюструє процес знаходження простих імплікант,і таблицю покриття
(імплікантну таблицю). За допомогою методу Петрика визначити всі мінімальні розв'язки.
Кожний третій набір для кожної з функцій має невизначене значення. Відлік починається
від першого згори одиничного значення функції з врахуванням зміщення, величина якого
позначена у табл. ТZ.3:
S - відлік починається безпосередньо від першого згори одиничного значення;
-S - відлік починається від попереднього набору відносно першого згори одиничного
значення;
+S - відлік починається від наступного набору відносно першого згори одиничного
значення.

С
А
Л
Ш
Н
И
К
Д

3
5
7
8
3
3
1
7
2
3
1
1
5
3
2
8

0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0


Зміщення
невизначеного
значення
-S
S
+S
-S
S


набору
a
b
c
d
e
f0
f1
f2
f3
f4

0
0
0
0
0
0
0
0
0
0
0

1
0
0
0
0
1
x0
0
0
х0
0

2
0
0
0
1
0
1
x1
1
1
х1

3
0
0
0
1
1
1
1
x1
0
0

4
0
0
1
0
0
x0
0
0
х0
0

5
0
0
1
0
1
1
x1
1
0
х0

6
0
0
1
1
0
0
0
x0
1
1

7
0
0
1
1
1
x1
1
1
х1
1

8
0
1
0
0
0
0
x0
0
0
х0

9
0
1
0
0
1
1
1
x1
0
0

10
0
1
0
1
0
х1
1
1
х0
0

11
0
1
0
1
1
1
x1
1
1
х1

12
0
1
1
0
0
1
1
х1
0
0

13
0
1
1
0
1
х0
0
0
х0
0

14
0
1
1
1
0
0
х0
0
0
х0

15
0
1
1
1
1
0
0
х0
1
1

16
1
0
0
0
0
х0
0
0
х0
0

17
1
0
0
0
1
0
х0
0
1
х1

18
1
0
0
1
0
1
1
х1
0
0

19
1
0
0
1
1
х1
1
1
х1
1

20
1
0
1
0
0
0
х0
0
0
х0

21
1
0
1
0
1
0
0
х0
0
0

22
1
0
1
1
0
х1
1
1
х1
1

23
1
0
1
1
1
1
х1
1
1
х1

24
1
1
0
0
0
0
0
х0
0
0

25
1
1
0
0
1
х0
0
0
х0
0

26
1
1
0
1
0
0
х0
0
1
х1

27
1
1
0
1
1
1
1
х1
0
0

28
1
1
1
0
0
х0
0
0
х1
1

29
1
1
1
0
1
1
х1
1
0
х0

30
1
1
1
1
0
1
1
х1
0
0

31
1
1
1
1
1
х1
1
1
х0
0


Будуємо таблицю, яка ілюструє знаходження простих імплікант:
Мінімізація функції f0
1 2 3
К
П
У
C
К
П
У
С
К
П
У

00001
а0
+
a0b0
000_1
f0
+
f0g3
0_0_1
k0
-

00010
а1
+
a0b1
0_001
f1
+
f1g1
0_0_1
k1
-

00100
а2
+
a1b0
0001_
f2
+
f2g6
0_01_
k2
-

10000
а3
+
a1b2
0_010
f3
+
f2g8
_001_
k3
-

00011
b0
+
a1b4
_0010
f4
+
f3g1
0_01_
k4
-

01001
b1
+
a2b3
0_100
f5
-
f4g2
_001_
k5
-

01010
b2
+
a3b4
100_0
f6
-
g0h3
_0_11
l0
-

0110
b3
+
b0c0
00_11
g0
+
g1h4
_ _011
l1
-

10010
b4
+
b0c1
0_011
g1
+
g2h0
_0_11
l2
-

00111
c0
+
b0c3
_0011
g2
+
g2h1
_ _011
l3
-

01011
c1
+
b1c1
010_1
g3
+
g3h7
_10_1
l4
-

01101
c2
+
b1c2
01_01
g4
+
g4h8
_1_01
l5
-

10011
c3
+
b1c5
_1001
g5
+
g5h1
_10_1
l6
-

10110
c4
+
b2c1
0101_
g6
-
g5h2
_1_01
l7
-

11001
c5
+
b3c2
0110_
g7
+
g7h9
_110_
l8
-

11100
c6
+
b4c3
1001_
g8
+
g8h5
10_1_
l9
-

10111
d0
+
c0d0
_0111
h0
-
h3i1
1_ _11
m0
-

11011
d1
+
c1d1
_1011
h1
-
h4i0
1_ _11
m1
-

11101
d2
+
c2d2
_1101
h2
-
h5i3
1_11_
m2
-

11110
d3
+
c3d0
10_11
h3
+
h6i0
1_11_
m3
-

11111
e0
+
c3d1
c4d0
c4d3
c5d1
c5d2
c6d2
c6d3
1_011
h4
+
h7i2
11_ _1
m4
-





1011_
1_110
110_1
11_01
1110_
111_0
h5
h6
h7
h8
h9
h10
+
+
+
+
+
+
h8i1
h9i3
h10i2
11_ _1
111_ _
111_ _
m5
m6
m7
-
-
-
















d0e0
d1e0
d2e0
d3e0
1_111
11_11
111_1
1111_
i0
i1
i2
i3
+
+
+
+






Отже простими імплікантами є кон’юнкції:
/ac/d/e: 0_100; a/b/c/e: 100_0; /ab/cd: 0101_; /bcde: _0111; b/cde: _1011; bc/de: _1101; /a/ce: 0_0_1; /a/cd: 0_01_; /b/cd: _001_; /bde: _0_11; /cde: _ _011; b/ce: _10_1; b/de: _1_01; bc/d: _110_; a/bd: 10_1_; ade: 1_ _11; acd: 1_11_; abe: 11_ _1; abc: 111_ _.
Мінімізація функції f1
1 2 3 4
К
П
У
C
К
П
У
С
К
П
У
C
К

00010
а0
+
a0b0
0001_
f0
+
f0g5
0_01_
k0
+
k0l7
__01_

01000
а1
+
a0b3
0_010
f1
+
f0g9
_001_
k1
+
k1l4
__01_

00011
b0
+
a0b6
_0010
f2
+
f1g1
0_01_
k2
+
k2l7
__01_

00101
b1
+
a1b3
010_0
f3
+
f2g2
_001_
k3
+
k3l4
__01_

01001
b2
+
a1b4
01_00
f4
+
f3g4
010_ _
k4
-
l6m4
1__1_

01010
b3
+
b0c0
00_11
g0
+
f3g7
01_ _0
k5
-
l6m5
1__1_

01100
b4
+
b0c1
0_011
g1
+
f4g6
01_ _0
k6
-
l7m2
1__1_

10001
b5
+
b0c3
_0011
g2
+
g0h3
_0_11
l0
-
l7m3
1__1_

10010
b6
+
b1c0
001_1
g3
-
g1h4
_ _011
l1
-
l8m4
1__1_

10100
b7
+
b2c1
010_1
g4
-
g2h0
_0_11
l2
-
l8m5
1__1_

00111
c0
+
b3c1
0101_
g5
+
g2h1
_ _011
l3
-
l9m0
1__1_

01011
c1
+
b3c2
01_10
g6
+
g5h7
_101_
l4
-
l9m1
1__1_

01110
c2
+
b4c2
011_0
g7
-
g6h8
_1_10
l5
-


10011
c3
+
b5c3
100_1
g8
-
g9h5
10_1_
l6
+

10110
c4
+
b6c3
1001_
g9
+
g9h7
1_01_
l7
+

11010
c5
+
b6c4
10_10
g10
+
g10h3
10_1_
l8
+

10111
d0
+
b7c4
101_0
g11
-
g10h8
1_ _10
l9
+

11011
d1
+
c0d0
_0111
h0
-
h3i1
1_ _11
m0
+


11101
d2
+
c1d1
_1011
h1
-
h4i1
1_ _11
m1
+

11110
d3
+
c2d3
_1110
h2
-
h5i3
1_11_
m2
+

11111
e0
+
c3d0
c3d1
c4d0
c4d3
c5d1
c5d3
10_11
h3
+
h6i0
1_11_
m3
+





1_011
1011_
1_110
1101_
11_10
h4
h5
h6
h7
h8
+
+
+
+
+
h7i3
h8i1
11_1_
11_1_
m4
m5
+
+




























d0e0
d1e0
d2e0
d3e0
1_111
11_11
111_1
1111_
i0
i1
i2
i3
+
+
+
+





























Отже простими імплікантами є кон’юнкції:
/a/bce: 001_1; /ab/ce: 010_1; /abc/e: 011_0; a/b/ce: 100_1; a/bc/e: 101_0;
/bcde: _0111; b/cde: _1011; bcd/e: _1110; /ab/c: 010_ _; /ab/e: 01_ _0; /bd/e: _0_11;
/cde: _ _011; b/dc: _101_; bd/e: _1_10; /cd: _ _01_; ad: 1_ _1_
Мінімізація функції f2
1 2 3 4
К
П
У
C
К
П
У
С
К
П
У
C
K
П
У

00010
а0
+
a0b0
0001_
f0
+
f0g5
00_1_
k0
+
k0l10
_0_1_
n0
-

00011
b0
+
a0b2
00_10
f1
+
f0g8
0_01_
k1
-
k0l11
_0_1_
n1
-

00101
b1
+
a0b4
0_010
f2
+
f0g9
_001_
k2
+
k2l8
_0_1_
n2
-

00110
b2
+
a0b6
_0010
f3
+
f1g0
00_1_
k3
+
k2l9
_0_1_
n3
-

01001
b3
+
b0c0
00_10
g0
+
f1g10
_0_10
k4
+
k3l10
_0_1_
n4
-

01010
b4
+
b0c1
0_011
g1
+
f2g1
0_01_
k5
-
k3l11
_0_1_
n5
-

01100
b5
-
b0c2
_0011
g2
+
f3g2
_001_
k6
+
k4l1
_0_1_
n6
-

10010
b6
+
b1c0
001_1
g3
+
f3g6
_0_10
k7
+
k4l4
_0_1_
n7
-

00111
c0
+
b1c3
_0101
g4
+
g0h2
0_ _11
l0
+
k6l8
_0_1_
n8
-

01011
c1
+
b2c0
0011_
g5
+
g0h4
_0_11
l1
+
k6l9
_0_1_
n9
-

10011
c2
+
b2c4
_0110
g6
+
g1h0
0_ _11
l2
+
k7l1
_0_1_
n10
-

10101
c3
+
b3c1
010_1
g7
-
g1h5
_ _011
l3
+
k7l4
_0_1_
n11
-

10110
c4
+
b4c1
0101_
g8
-
g2h1
_0_11
l4
+
l0m4
___11
o0
-

01111
d0
+
b6c2
1001_
g9
+
g2h3
_ _011
l5
+
l0m5
___11
o1
-

10111
d1
+
b6c4
10_10
g10
+
g3h6
_01_1
l6
-
l1m2
___11
o2
-

11011
d2
+
c0d0
0_111
h0

g4h1
_01_1
l7
-
l1m3
___11
o3
-

11101
d3
+
c0d1
_0111
h1
+
g5h8
_011_
l8
-
l2m4
___11
o4
-

11110
d4
+
c1d0
01_11
h2
+
g6h1
_011_
l9
-
l2m5
___11
o5
-

11111
e0
+
c1d2
_1011
h3
+
g9h8
10_1_
l10
-
l3m0
___11
o6
-




c2d1
10_11
h4
+
g10h4
10_1_
l11
-
l3m1
___11
o7
-




c2d2
c3d1
c3d3
c4d1
c4d4
d0e0
d1e0
d2e0
d3e0
d4e0
1_011
h5
+
h0i1
_ _111
m0
+
l4m2
___11
o8
-





101_1
1_101
1011_
1_110
_1111
1_111
11_11
111_1
1111_
h6
h7
h8
h9
i0
i1
i2
i3
i4
+
+
+
+
+
+
+
+
+
h1i0
h2i2
h3i0
h4i2
h5i1
h6i3
h7i1
h8i4
h9i1
_ _111
_1_11
_1_11
m1
m2
m3
+
+
+
l4m3
l5m0
l5m1
___11
___11
___11
o9
o10
o11
-
-
-









1_ _11
1_ _11
1_1_1
1_1_1
1_11_
1_11_
m4
m5
m6
m7
m8
m9
+
+
-
-
-
-



















Отже простими імплікантами є кон’юнкції:
/abc/d/e: 01100; /ab/ce: 010_1; /ab/cd: 0101_; /a/cd: 0_01_; /bce: _01_1; /bcd: _011_;
a/bd: 10_1_; ace: 1_1_1; acd: 1_11_; /bd: _0_1_; de: _ _ _11.
Мінімізація функції f3
1 2 3
К
П
У
C
К
П
У
С
К
П
У

00001
а0
+
a0b2
_0001
f0
-
g0h5
_011_
k0
-

00010
а1
+
a1b0
00_10
f1
-
g1h1
_011_
k1
-

00100
а2
+
a1b1
0_010
f2
-
h0i1
_ _111
k2
-

10000
а3
+
a2b0
001_0
f3
-
h1i0
_ _111
k3
-

00110
b0
+
a3b2
1000_
f4
-


01010
b1
+
b0c0
0011_
g0
+


10001
b2
+
b0c4
_0110
g1
+


00111
c0
+
b1c1
0101_
g2
-

01011
c1
+
b1c6
_1010
g3
-


01101
c2
+
b2c3
100_1
g4
-

10011
c3
+
b2c5
1_001
g5
-

10110
c4
+
c0d0
0_111
h0
+

11001
c5
-
c0d1
_1001
h1
+

11010
c6
-
c1d0
01_11
h2
-

11100
c7
-
c2d0
011_1
h3
-

01111
d0
+
c3d1
10_11
h4
-


10111
d1
+
c4d1
1011_
h5
-


11111
e0
+
d0e0
_1111
i0
+


d1e0
1_111
i1
+






Отже простими імплікантами є кон’юнкції:
ab/c/de: 11001; ab/cd/e: 11010; abc/d/e: 11100; /b/c/de: _0001; /a/bd/e: 00_10;
/a/cd/e: 0_010; /a/bc/e: 001_0; a/b/c/d: 1000_; /ab/cd: 0101_; b/cd/e: _1010;
a/b/ce: 100_1; a/c/de: 1_001; /abde: 01_11; /abce: 011_1; a/bde: 10_11;
a/bcd: 1011_; /bcd: _011_; cde: _ _111.
Мінімізація функції f4
1 2 3
К
П
У
C
К
П
У
С
К
П
У

00010
а0
+
a0b1
00_10
e0
-
f1g3
0_11_
k0
-

01000
а1
-
b0c0
001_1
f0
-
f1g5
_011_
k1
-

00101
b0
+
b1c0
0011_
f1
+
f2g0
0_ 11_
k2
-

00110
b1
+
b1c2
0_110
f2
+
f3g1
_011_
k3
-

10001
b2
+
b1c4
_0110
f3
+


10100
b3
+
b2c3
100_1
f4
-


00111
c0
+
b3c4
101_0
f5
-


01011
c1
+
b3c6
1_100
f6
-

01110
c2
+
c0d0
0_111
g0
+


10011
c3
+
c0d1
_0111
g1
+

10110
c4
+
c1d0
01_11
g2
-

11010
c5
-
c2d0
0111_
g3
+

11100
c6
+
c3d1
10_11
g4
-

01111
d0
+
c4d1
1011_
g5
+

10111
d1
+
c6d2
1110_
g6
-

11101
d2
+










Отже простими імплікантами є кон’юнкції:
/ab/c/d/e: 01000; ab/cd/e: 11010; /a/bd/e: 00_10; /a/bce: 001_1; a/b/ce: 100_1;
a/bc/e: 101_0; ac/d/e:1_100; /abde: 01_11; a/bde:10_11; abc/d: 1110_; /acd: 0_11_;
/bcd: _011_.

2.3 Мінімізувати за "1" за
допомогою карт Карно функції, задані
табл. ТZ.3. Після мінімізації доповнити
функції сполучними термами,
підкреслити вирази для цих термів в
аналітичному записі функції і позначити їх на картах Карно. Результат мінімізації повинен
співпадати з одним із розв'язків, знайдених за допомогою методу Петрика.
С 35
А 78
Л 33
Ш 17
Н 23
И 11
К 53
Д 28
Мінімізація функції f0
10x
110
13x
121

140
150
171
16x

1Cx
1D1
1Fx
1E1

180
19x
1B1
1A0



00
1x
31
21

4x
51
7x
60

C1
Dx
F0
E0

80
91
B1
Ax


Склеювання клітинок 9, B, 19, 1B результат – b/ce
Мінімізуються набори 9, B, 1В.
Склеювання клітинок 3, 2, В, А результат - /a/cd
Мінімізуються набори 3, 2, В.
Склеювання клітинок 1C, 1D, 1F, 1E результат – abc
Мінімізуються набори 1D, 1E.
Склеювання клітинок 1B, 19, 1D, 1F результат – abe
Мінімізуються набори 1B, 1D.
Склеювання клітинок 13, 12, 17, 16 результат - a/bd
Мінімізуються набори 12, 17.
Невизначені значення функції на наборах 1, 7, 4, D, 10 довизначаємо як “0”, оскільки вони участі у склеювані не беруть.
Невизначені значення функції на наборах А, 13, 16, 19, 1С, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”.
Набори 9, 2, 3, А, 12, 1E, 1C, 13, 17, 16 беруть участь у одному склеювані.
Набори 19, B, 1B, 1D, 1F беруть участь у двох склеюваннях.
f =
Мінімізація функції f1
100
11x
131
121

14x
150
17x
161

1C0
1Dx
1F1
1E1

180
190
1B1
1Ax


00
10
31
2x

40
51
71
6x

C1
D0
F0
Ex

8x
91
Bx
A1


Склеювання клітинок 3, 7, 13, 17 результат – /bde
Мінімізуються набори 3, 7, 13.
Склеювання клітинок 8, А, C, E результат - /ab/e
Мінімізується набір C, E.
Невизначені значення функції на наборах 17, 8, E довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”

Невизначені значення функції на наборах 11, 14, 1D, 1A, 2, 6, B довизначаємо як “0”, оскільки вони не беруть участь у склеювані.
Набори Е, 3, 7, 17, 13, 8, A, C беруть участь у одному склеювані.
f =
Мінімізація функції f2
100
110
131
12x

140
15x
171
161

1C0
1D1
1F1
1Ex

18x
190
1Bx
1A0


00
10
3x
21

40
51
71
6x

Cx
D0
Fx
E0

80
9x
B1
A1


Склеювання клітинок 2, 3, А, B результат - /a/cd
Мінімізується набір 3.
Склеювання клітинок 15, 17, 1D, 1F результат - ace
Мінімізуються набори 15.
Склеювання клітинок 5, 7, 15, 17 результат – /bce
Мінімізуються набори 15.
4) Склеювання клітинок 2, 3, 6, 7, 12, 13, 16, 17 результат - /bd
Мінімізуються набори 2, 7, 13, 16, 17.
Невизначені значення функції на наборах 12, 9, 18, 1E, 1B, 6 довизначаємо як “0”, оскільки вони участі у склеювані не беруть.
Невизначені значення функції на наборах 3, 15 довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”.
Набори В, A, 5, 1D, 1F беруть участь у одному склеювані.
Набори 2, 3, 7, 15 беруть участь у двох склеюваннях.
Набір 17 бере участь у трьох склеюваннях.
f =
Мінімізація функції f3
10x
111
13x
120

140
150
171
16x

1Cx
1D0
1Fx
1E0

180
19x
1B0
1A1


00
1x
30
21

4x
50
7x
61

C0
Dx
F1
E0

80
90
B1
Ax


Склеювання клітинок 2, А результат - /a/cd/e
Мінімізується набір 2.
2) Склеювання клітинок B, F результат - /abde
Мінімізується набір B, F.
Cклеювання клітинок 6, 7, 16, 17 результат - /bcd
Мінімізуються набори 6, 17.
Склеювання клітинок 7, F, 17, 1F результат - cde
Мінімізується набір F, 17.
Склеювання клітинок 11, 13 результат – a/b/ce
Мінімізується набір 11.
Склеювання клітинок А, 1А результат – b/cd/e
Мінімізується набір 1А.
Невизначені значення функції на наборах 10, 19, 1С, 1, 4, D довизначаємо як “0”, оскільки вони участі у склеювані не беруть.
Невизначені значення функції на наборах 7, А, 13, 16, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”.
Набори 2, В, 6, 7, 11, 13, 16, 1А, 1F беруть участь у одному склеювані.
Набір А, F, 17 бере участь у двох склеюваннях.
f =
Мінімізація функції f4
100
11x
131
120

14x
150
17x
161

1C1
1Dx
1F0
1E0

180
190
1B0
1Ax


00
10
30
2x

40
5x
71
61

C0
D0
F1
Ex

8x
90
B1
A0


Склеювання клітинок 6, 7, 16, 17 результат - /bcd
Мінімізуються набори 6, 7, 16.
2) Склеювання клітинок 6, 7, E, F результат - /acd
Мінімізується набір F.
3) Склеювання клітинок 11, 13 результат – a/b/ce
Мінімізується набір 13.
4) Склеювання клітинок 1С, 1D результат – abc/d
Мінімізується набір 1C.
Невизначені значення функції на наборах 2, 5, 8, 14, 1А довизначаємо як “0”, оскільки вони участі у склеювані не беруть.
Невизначені значення функції на наборах Е, 11, 17, 1D довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”.
Набори 16, 17, F, E, 11, 13, 1С, 1D беруть участь у одному склеювані.
Набори 6, 7 беруть участь у двох склеюваннях.
f =
2.4 Мінімізувати за "0" за допомогою карт Карно функції, задані табл. ТZ.3. Після
мінімізації доповнити функції сполучними термами, підкреслити вирази для цих термів в
аналітичному записі функції і позначити їх на картах Карно.
С 35
А 78
Л 33
Ш 17
Н 23
И 11
К 53
Д 28
Мінімізація функції f0
10x
110
13x
121

140
150
171
16x

1Cx
1D1
1Fx
1E1

180
19x
1B1
1A0



00
1x
31
21

4x
51
7x
60

C1
Dx
F0
E0

80
91
B1
Ax


Склеювання клітинок 10, 11, 0, 1 результат – /b/c/d
Мінімізуються набори 0, 11.
Склеювання клітинок 10, 14, 1C, 18 результат - /a/cd
Мінімізуються набори 14, 18.
Склеювання клітинок 7, 6, F, E результат – /acd
Мінімізуються набори 6, F, E.
Склеювання клітинок 8, 18, A, 1A результат – b/c/e
Мінімізуються набори 8, 18, 1A.
Невизначені значення функції на наборах 1, 7, A, 10, 1C довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”.
Невизначені значення функції на наборах 4, D, 13, 16, 1F, 19 довизначаємо як “1”, оскільки вони участі у склеювані не беруть.
Набори 11, 0, 1, 14, 1С, 7, 6, F, E, 8, A, 1A беруть участь у одному склеювані.
Набори 10, 18 беруть участь у двох склеюваннях.
f =
Мінімізація функції f1
100
11x
131
121

14x
150
17x
161

1C0
1Dx
1F1
1E1

180
190
1B1
1Ax


00
10
31
2x

40
51
71
6x

C1
D0
F0
Ex

8x
91
Bx
A1


Склеювання клітинок 0, 4, 10, 14 результат – /b/d/e
Мінімізуються набори 0, 4, 10.
Склеювання клітинок 10, 11, 14, 15 результат – a/b/d
Мінімізується набір 10, 15.
Склеювання клітинок 18, 19, 1C, 1D результат – ab/d
Мінімізуються набори 18, 19, 1C.
Склеювання клітинок F, E результат - /abcd
Мінімізується набір F.
Невизначені значення функції на наборах 2, 6, 8, B, 17, 1A довизначаємо як “1”, оскільки вони не беруть участі у склеювані.

Невизначені значення функції на наборах 11, 14, 1D, E довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”.
Набори 0, 4, 11, 15, 18, 19, 1C, 1D, F, E беруть участь у одному склеювані.
Набори 10, 14 беруть участь у двох склеюваннях.
f =
Мінімізація функції f2
100
110
131
12x

140
15x
171
161

1C0
1D1
1F1
1Ex

18x
190
1Bx
1A0


00
10
3x
21

40
51
71
6x

Cx
D0
Fx
E0

80
9x
B1
A1


Склеювання клітинок 10, 14, 1С, 18, 0, 4, C, 8 результат - /d/e
Мінімізується набір 0, 4, 8, 10, 14, 1C.
Склеювання клітинок C, D, F, E результат - /abc
Мінімізуються набори D, E.
Склеювання клітинок 18, 19, 1B, 1A результат – ab/c
Мінімізуються набори 19, 1A.
4) Склеювання клітинок 11, 15 результат - a/b/de
Мінімізуються набори 11.
5) Склеювання клітинок 1, 3 результат - /a/b/ce
Мінімізуються набори 1.
Невизначені значення функції на наборах 3, F, 1B, 18, 15 довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”.
Невизначені значення функції на наборах 6, 9, 12, 1E довизначаємо як “1”, оскільки вони не беруть участь у склеювані.
Набори 10, 14, 1C, 0, 4, 8, D, F, E, 19, 1B, 1A, 11, 15, 1, 3 беруть участь у одному склеювані.

Набори 18, C беруть участь у двох склеюваннях.

f =
Мінімізація функції f3
10x
111
13x
120

140
150
171
16x

1Cx
1D0
1Fx
1E0

180
19x
1B0
1A1


00
1x
30
21

4x
50
7x
61

C0
Dx
F1
E0

80
90
B1
Ax


1) Склеювання клітинок 0, 4, C, 8, 10, 14, 1C, 18 результат - /d/e
Мінімізується набір 0, C, 8, 14, 18.
2) Склеювання клітинок 1, 5, D, 9 результат - /a/de
Мінімізується набір 5, 9.
3) Cклеювання клітинок 1C, 1D, 1F, 1E результат - abc
Мінімізуються набори 1D, 1E.
4) Склеювання клітинок 3, 7 результат - /a/bcd
Мінімізується набір 3.
5) Склеювання клітинок 12, 16 результат – a/bd/e
Мінімізується набір 12.
6) Склеювання клітинок А, E результат – /abd/e
Мінімізується набір E.
Невизначені значення функції на наборах 1, 4, 7, D, A, 10, 16, 1C, 1F довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”.
Невизначені значення функції на наборах 13, 19 довизначаємо як “1”, оскільки вони не беруть участь у склеювані.
Набори 0, 4, C, 8, 10, 14, 18, 1, 5, D, 9, 1D, 1F, 1E, 3, 7, 12, 16, A, E беруть участь у одному склеювані.
Набір 1C бере участь у двох склеюваннях.
f =
Мінімізація функції f4
100
11x
131
120

14x
150
17x
161

1C1
1Dx
1F0
1E0

180
190
1B0
1Ax


00
10
30
2x

40
5x
71
61

C0
D0
F1
Ex

8x
90
B1
A0


Склеювання клітинок 11, 15, 1D, 19, 1, 5, D, 9 результат - /de
Мінімізуються набори 1, D, 9, 15, 19.
2) Склеювання клітинок 18, 19, 1B, 1A результат – ab/c
Мінімізується набір 18, 19, 1B.
3) Склеювання клітинок 0, 1, 3, 2 результат – /a/b/c
Мінімізується набір 0, 1, 3.
4) Склеювання клітинок 0, 4, C, 8 результат – /a/d/e
Мінімізується набір 0, 4, C.
5) Склеювання клітинок E, A, 1E, 1A результат – bd/e
Мінімізується набір A, 1E.
6) Склеювання клітинок 10, 14 результат – a/b/d/e
Мінімізується набір 10.
7) Склеювання клітинок 17, 1F результат – ae
Мінімізується набір 1F.
Невизначені значення функції на наборах 2, 5, 8, E, 11, 14, 17, 1D, 1A довизначаємо як “0”, оскільки вони беруть участь у склеювані за “0”.
Набори 11, 15, 1D, 18, 1, 5, D, 9, 1B, 1, 2, 3, 4, C, 8, E, A, 1E, 10, 14, 17, 1F беруть участь у одному склеювані.

Набори 19, 1A беруть участь у двох склеюваннях.
f =
3.1 Реалізувати функції, отримані в результаті виконання завдання 2.3, у базисі Буля. На виході кожного елемента написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході
кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів.
f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

Генеруєм 5 довільних наборів:
Набори
І
/a
І
/b
І
/c
К
b/ce
К
/a/cd
К
abc
К
abe
К
a/bd
К
acd
К
/b/cd
Д
f

10000
0
1
1
0
0
0
0
0
0
0
0

10001
0
1
1
0
0
0
0
0
0
0
0

10010
0
1
1
0
0
0
0
1
0
1
1

10011
0
1
1
0
0
0
0
1
0
1
1

10100
0
1
0
0
0
0
0
0
0
0
0


І – інвертор;
К – кон’юнктор;
Д – диз’юнктор.
Таблиці істинності:
Інвертор
А
f
Кон’юнктор на 3 входи
А
f
Диз’юнктор
А
f


0
1
1
0

000
001
010
011
100
101
110
111
0
0
0
0
0
0
0
1

00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
................
11111001
11111010
11111011
11111100
11111101
11111110
11111111
0
1
1
1
1
1
1
1
..
1
1
1
1
1
1
1


А – аргумент;
f – функція.
3.2 Реалізувати функції, отримані в результаті виконання завдання 2.3, у базисі Буля. На виході кожного елемента написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи повинні мати не більше двох входів. Навести таблиці істинності задіяних елементів.
f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

Генеруєм 5 довільних наборів:
Набори
І
/a
І
/b
І
/c
К
b/c
К
b/ce
К
/a/c
К
/a/cd
К
ab
К
abc
К
ab
К
abe
К
a/b
К
a/bd
К
ac
К
acd
К
/b/c
К
/b/cd




















10000
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0

10001
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0

10010
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1

10011
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
1
1

10100
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0


Набори
Д
b/ce v /a/cd
Д
abc v abe
Д
a/bd v acd
Д
b/ce v /a/cd v abc v abe
Д
a/bd v acd v /b/cd
Д
b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

10000
0
0
0
0
0
0

10001
0
0
0
0
0
0

10010
0
0
1
0
1
1

10011
0
0
1
0
1
1

10100
0
0
0
0
0
0


І – інвертор;
К – кон’юнктор;
Д – диз’юнктор.
Таблиці істинності:
Інвертор
А
f
Кон’юнктор
А
f
Диз’юнктор
А
f


0
1
1
0

00
01
10
11
0
0
0
1

00
01
10
11
0
1
1
1


А – аргумент;
f – функція.
3.3 Реалізувати функції, отримані в результаті виконання завдання 2.3, у монобазисі І-НЕ. На виході кожного елемента І-НЕ написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів.
f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

Генеруєм 5 довільних наборів:
Набори
К
/a
К
/b
К
/c
К
/(b/ce)
К
/(/a/cd)
К
/(abc)
К
/(abe)
К
/(a/bd)
К
/(acd)
К
/(/b/cd)
Д
f

10000
0
1
1
1
1
1
1
1
1
1
0

10001
0
1
1
1
1
1
1
1
1
1
0

10010
0
1
1
1
1
1
1
0
1
0
1

10011
0
1
1
1
1
1
1
0
1
0
1

10100
0
1
0
1
1
1
1
1
1
1
0


К – кон’юнктор;
Д – диз’юнктор.
Таблиці істинності:
Кон’юнктор на 2 входи
А
f
Кон’юнктор на 3 входи
А
f
Диз’юнктор
А
f


00
01
10
11
1
1
1
0

000
001
010
011
100
101
110
111
1
1
1
1
1
1
1
0

0000000
0000001
0000010
0000011
0000100
0000101
0000110
0000111
..............
1111001
1111010
1111011
1111100
1111101
1111110
1111111
1
0
0
0
0
0
0
0
..
0
0
0
0
0
0
0












А – аргумент;
f – функція.
3.4 Реалізувати функції, отримані в результаті виконання завдання 2.3, у монобазисі Шеффера. На виході кожного елемента Шеффера написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи Шеффера повинні бути двовходовими. Навести таблицю істинності елемента Шеффера.
f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

Генеруєм 5 довільних наборів:
Набори
К
/a
К
/b
К
/c
К
b/c
К
/a/c
К
ab
К
ab
К
a/b
К
ac
К
/b/c
K
b/c
K
/a/c
K
ab
K
ab
K
a/b
K
ac
K
/b/c

10000
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

10001
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

10010
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0

10011
0
1
1
1
1
1
1
0
1
0
1
1
1
1
0
1
0

10100
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1


Набори
Д
/bc
Д
ac
Д
/a/b
Д
/a/b
Д
/ab
Д
/a/c
Д
bc
Д
/bc/e v ac/d
Д
/a/b/c v /a/b/e
Д
/ab/d v /a/c/d
Д
bc/d
Д
b/ce v /a/cd
Д
abc v abe
Д
a/bd v acd
Д
/b/cd
Д
/bc/e v ac/d v /a/b/c v /a/b/e
Д
/ab/d v /a/c/d v bc/d
Д
b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

10000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0

10001
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0

10010
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1

10011
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1

10100
0
0
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
0


К – кон’юнктор;
Д – диз’юнктор.
Таблиці істинності:
Кон’юнктор на 2 входи
А
f
Диз’юнктор
А
f


00
01
10
11
1
1
1
0

00
01
10
11
1
0
0
0









А – аргумент;
f – функція.
3.5 Реалізувати функції, отримані в результаті виконання завдання 2.4, у монобазисі АБО-НЕ. На виході кожного елемента АБО-НЕ написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Елементи можуть мати довільну кількість входів. Навести таблиці істинності задіяних елементів.
f = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)

Набори
I
/a
І
/b
І
/c
І
/d
Д
/(/a v b v d)
Д
/(b v c v d)
Д
/(a v c v /d)
Д
/( a v /c v /d)
Д
/(/b v c v e)
Д
/( a v /b v /d v e)
К
f

10000
0
1
1
1
1
1
0
0
0
0
0

10001
0
1
1
1
1
1
0
0
0
0
0

10010
0
1
1
0
0
0
0
0
0
0
1

10011
0
1
1
0
0
0
0
0
0
0
1

10100
0
1
0
1
1
0
0
0
0
0
0


Таблиці істинності:
Інвертор
А
f
Диз’юнктор на 3 входи
А
f
Диз’юнктор на 4 входи
А
f
Кон’юнктор
А
f


0
1
1
0

000
001
010
011
100
101
110
111
1
0
0
0
0
0
0
0

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

00000
00001
00010
00011
00100
00101
00110
00111
..........
11001
11010
11011
11100
11101
11110
11111
1
0
0
0
0
0
0
0
..
0
0
0
0
0
0
0


3.6 Реалізувати функції, отримані в результаті виконання завдання 2.4, у монобазисі Пірса. На виході кожного елемента Пірса написати формулу сигналу, який даним елементом реалізується. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Усі елементи Пірса повинні бути двовходовими. Навести таблицю істинності елемента Пірса.
f = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)

Набори
Д
/a
Д
/b
Д
/c
Д
/d
Д
/(/a
v
b)
Д
/(b
v
c)
Д
/(a
v
c)
Д
/(a
v
/c)
Д
/(/b
v
c)
Д
/(/a
v
/b)
Д
/(/c
v
/d)
К
/a
v
b
К
b
v
c
К
a
v
c
К
a
v
/c
К
/b
v
c
К
a
v
/b
К
/d
v
e

10000
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1

10001
0
1
1
1
1
1
0
0
0
0
0
0
0
1
1
1
1
1

10010
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1

10011
0
1
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1

10100
0
1
0
1
1
0
0
0
0
0
0
0
1
1
1
1
1
1


Набори
Д
/(/a
v
b
v
d)
Д
/(b
v
c
v
d)
Д
/(a
v
c
v
/d)
Д
/(a
v
/c
v
/d)
Д
/(/b
v
c
v
e)
Д
/(a
v
/b
v
/d
v
e)
К
(/a
v
b
v
d)
(b
v
c
v
d)
К
(a
v
c
v
/d)
(a
v
/c
v
/d)
К
(/b
v
c
v
e)
(a
v
/b
v
/d
v
e)
Д
/((/a
v
b
v
d)
(b
v
c
v
d))
Д
/((a
v
c
v
/d)
(a
v
/c
v
/d))
Д
/((/b
v
c
v
e)
(a
v
/b
v
/d
v
e))
К
S
Д
/S
К
f

10000
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0

10001
1
1
0
0
0
0
0
1
1
1
0
0
0
1
0

10010
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

10011
0
0
0
0
0
0
1
1
1
0
0
0
1
0
1

10100
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0


Таблиці істинності:
Кон’юнктор
А
f
Диз’юнктор
А
f


00
01
10
11
1
0
0
0

00
01
10
11
1
0
0
0


3.7 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою дешифраторів.
У кожного з задіяних дешифраторів кількість виходів не повинна перевищувати 16. Навести таблиці істинності, які пояснюють роботу задіяних дешифраторів.

Таблиця істинності:

Входи
Виходи


1
1
0

0
1
0
1
0
1
1
0



Входи
Виходи


8 4 2 1
ВК
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

0
0 0 0 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

1
0 0 0 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0

2
0 0 1 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

3
0 0 1 1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0

4
0 1 0 0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0

5
0 1 0 1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0

6
0 1 1 0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0

7
0 1 1 1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0

8
1 0 0 0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

9
1 0 0 1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0

10
1 0 1 0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0

11
1 0 1 1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0

12
1 1 0 0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0

13
1 1 0 1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

14
1 1 1 0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

15
1 1 1 1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0


3.8 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою мультиплексорів.
У кожного з задіяних мультиплексорів кількість інформаційних входів не повинна перевищувати 16. Навести таблиці істинності, які пояснюють роботу задіяних
мультиплексорів.

Входи
8 4 2 1
На виході f сигнал
з інформаційного

0 0 0 0
Входу 0

0 0 0 1
Входу 1

0 0 1 0
Входу 2

0 0 1 1
Входу 3

0 1 0 0
Входу 4

0 1 0 1
Входу 5

0 1 1 0
Входу 6

0 1 1 1
Входу 7

1 0 0 0
Входу 8

1 0 0 1
Входу 9

1 0 1 0
Входу 10

1 0 1 1
Входу 11

1 1 0 0
Входу 12

1 1 0 1
Входу 13

1 1 1 0
Входу 14

1 1 1 1
Входу 15


Входи
На виході f сигнал
з інформаційного

1


0
1
Входу 0
Входу 1


3.9 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою постійного запам'ятовуючого пристрою (ПЗП). Скласти таблиці прошиття ПЗП.
Невизначені значення функції на наборах А, 13, 16, 19, 1С, 1F довизначаємо як “1”, оскільки вони беруть участь у склеювані за “1”.
Вхідні сигнали
(входи ПЗП)
Вихідні сигнали
(виходи ПЗП)

a
(A4
b
A3
c
A2
d
A1
e
A0)
f0
(D0)

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1


Таблиця прошиття:
Адреси в кодах
Дані в кодах

двійковому
16-ковому
двійковому
16-ковому

A4
A3
A2
A1
A0

D0


a
b
c
d
e

f0


0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
А
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
1
1
1
1
00
00
01
01
00
01
00
00
00
01
01
01
01
00
00
00
00
00
01
01
00
00
01
01
00
01
00
01
01
01
01
01


3.10 Функції, мінімізовані в завданні 2.3, реалізувати за допомогою програмованої логічної матриці (ПЛМ) типу PLA. Скласти таблиці прошиття (програмування) ПЛМ. Навести функціональну схему запрограмованої ПЛМ.
f0 = b/ce v /a/cd v abc v abe v a/bd v acd v /b/cd

Елементи
І
Входи
Виходи


A4
A3
A2
A1
A0
D0
D1


e
d
c
b
a

f0

I0
I2
I4
I6
I8
I10
112
I1
I3
I5
I7
I9
I11
I13
H
-
-
H
-
-
-
0
0
0
0
0
0
0
-
-
-
-
H
H
H
0
0
0
0
0
0
0
L
L
H
-
-
H
L
0
0
0
0
0
0
0
H
-
H
H
L
-
L
0
0
0
0
0
0
0
-
L
H
H
H
H
-
0
0
0
0
0
0
0
-
-
-
-
-
-
-
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А
А


На перетині рядка з позначенням елемента І та графи з номером входу стоять
такі символи:
"H" - сигнал з даного входу заведений на відповідний елемент І в прямому коді;
"L" - сигнал з даного входу заведений на відповідний елемент І в інверсному коді;
"-" - сигнал з даного входу від'єднаний від відповідного елемента І;
"0" - сигнал з даного входу заведений на відповідний елемент І одночасно в прямому та інверсному кодах (це початковий стан ПЛМ, даний елемент І не використовується).
На перетині рядка з номером елемента І та графи з номером виходу (тобто, номером елемента АБО) стоять такі символи:
"A" - сигнал з даного елемента І заведений на вхід відповідного елемента АБО і проходить через елемент АБО на відповідний вихід ПЛМ (це початковий стан
незапрограмованої ПЛМ);
"-" - сигнал з даного елемента І від'єднаний від входу відповідного елемента АБО і не проходить на відповідний вихід ПЛМ.
3.11 Функції, мінімізовані в завданні 2.4, реалізувати за допомогою програмованої матриці логіки (ПМЛ) типу PAL. Скласти таблиці прошиття (програмування) ПМЛ. Навести функціональну схему запрограмованої ПМЛ.
f0 = (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d) (/b v c v e) (a v /b v /d v e)

Інформація на виходах:
D0: a/b/d v /b/c/d
D1: /a/cd v /acd
D2: b/c/e v /abd/e
D3: a/b/d v /b/c/d v /a/cd v /acd
D4: b/c/e v /abd/e v a/b/d v /b/c/d v /a/cd v /acd
D5: (/b v c v e) (a v /b v /d v e) (/a v b v d) (b v c v d) (a v c v /d) (a v /c v /d)
Таблиця прошиття:
Елементи
І
Вхід/Вихід D
Входи А
Вихід
Примітки


5
4
3
2
1
0
4
3
2
1
0










e
d
c
b
a



I0
I1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
L
L
-
L
L
L
H
-
D0
D0


I2
I3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
H
H
L
H
-
-
L
L
D1
D1


I4
I5
-
-
-
-
-
-
-
-
-
-
-
-
L
L
-
H
L
-
H
H
-
L
D2
D2


I6
I7
-
-
-
-
-
-
-
-
-
H
H
-
-
-
-
-
-
-
-
-
-
-
D3
D3


I8
I9
-
-
-
-
-
H
H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
D4
D4


I10
I11
-
-
L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
D5
D5
f0


На перетині рядка з позначенням елемента І та графом з номером входу і номером зворотнього зв’язку стоять такі символи:
"H" - сигнал з даного входу заведений на відповідний елемент І в прямому коді;
"L" - сигнал з даного входу заведений на відповідний елемент І в інверсному коді;
"-" - сигнал з даного входу від'єднаний від відповідного елемента І;
"0" - сигнал з даного входу заведений на відповідний елемент І одночасно в прямому та інверсному кодах (початковий стан ПЛМ, даний елемент І не використовується).
3.12 Для схем, побудованих у завданнях 3.1 - 3.7, визначити їх "ціну", підрахувавши кількість корпусів задіяних елементів. Визначити оптимальний (найдешевший) варіант.
Схема завдання 3.1: 11 корпусів;
Схема завдання 3.2: 23 корпуса;
Схема завдання 3.3: 11 корпусів;
Схема завдання 3.4: 37 корпуса;
Схема завдання 3.5: 11 корпусів;
Схема завдання 3.6: 33 корпуса;
Схема завдання 3.7: 4 корпуса.
Оптимальний варіант: схема 3.7;
3.13 Для схем, побудованих у завданнях 3.1 - 3.7, визначити їх "ціну", підрахувавши кількість виводів задіяних елементів. Визначити оптимальний (найдешевший) варіант.
Схема завдання 3.1: 35 виводів;
Схема завдання 3.2: 47 виводів;
Схема завдання 3.3: 35 виводів;
Схема завдання 3.4: 61 виводів;
Схема завдання 3.5: 34 виводів.
Схема завдання 3.6: 56 виводів;
Схема завдання 3.7: 35 вивода.
Оптимальний варіант : схема 3.5.
3.14 Для схем, побудованих у завданнях 3.1 - 3.7, визначити час проходження сигналів від входу до виходу. Визначити оптимальний (найшвидший) варіант.
Схема завдання 3.1: 5;
Схема завдання 3.2: 8;
Схема завдання 3.3: 5;
Схема завдання 3.4: 11;
Схема завдання 3.5: 5.
Схема завдання 3.6: 11;
Схема завдання 3.7: 3.
Оптимальний варіант: схема 3.7.
3.15 На базі ПЛМ типу PAL з кількістю інформаційних входів не більше 16 і з входом вибору кристалу створити дешифратор діапазону адрес, який повинен формувати сигнали "більше", "дорівнює", "менше". Діапазон адрес задається 17-розрядним двійковим кодом, який формується з 17 молодших двійкових розрядів коду (2ц1л)(1ц2л)(2ц7л)(1ц8л)(2ц8л). Отриманий таким чином 17-розрядний двійковий код необхідно ще раз переписати, міняючи місцями старші й молодші двійкові розряди (переписати ззаду наперед). Менший з двох 17-розрядних кодів буде нижньою границею діапазону адрес, більший - верхньою. Сигнал "менше" повинен формуватися, коли на вході схеми присутні адреси, які менші за нижню границю діапазону. Сигнал "більше" повинен формуватись, коли на вході схеми присутні адреси, які більші за верхню границю діапазону. Сигнал "дорівнює" повинен формуватись, коли на вході схеми присутні адреси, які знаходяться посередині діапазону. У кожної з задіяних ПЛМ кількість входів не повинна перевищувати 16. Скласти таблиці прошиття ПЛМ, для кожного рядка таблиці прошиття визначити діапазон адрес, якому цей рядок відповідає. Намалювати числову вісь, на якій позначити: мінімальне і максимальне значення 17-розрядного коду; верхню і нижню границі; діапазони кодів, які обробляються різними ПЛМ.
(2ц1л)(1ц2л)(2ц7л)(1ц8л)(2ц8л) = 5732816 = 0101 0111 0011 0010 10002
17 молодших двійкових розрядів коду: 101110011001010002
Отриманий 17-розрядний двійковий код переписаний, міняючи місцями старші й молодші двійкові розряди (переписаний ззаду наперед): 000101001100111012
Нижня границя діапазону адрес: 0 0010 1001 1001 11012 = 0299D16
Верхня границя діапазону адрес: 1 0111 0011 0010 10002 = 1732816
Таблиці прошиття ПЛМ:

Входи А ПЛМ
Виходи
Діапазон кодів


15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
0
1
2
3



A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
М
від
до

I0
L
H
H
H
L
L
H
H
L
L
H
L
H
L
L
L
А
-
-
-
7328
7328

I1
L
H
H
H
L
L
H
H
L
L
H
L
H
L
L
H
А
-
-
-
7329
7329

I2
L
H
H
H
L
L
H
H
L
L
H
L
H
L
H
-
А
-
-
-
732A
732B

I3
L
H
H
H
L
L
H
H
L
L
H
L
H
H
-
-
А
-
-
-
732C
732F

l4
L
H
H
H
L
L
H
H
L
L
H
H
-
-
-
-
А
-
-
-
7330
733F

l5
L
H
H
H
L
L
H
H
L
H
-
-
-
-
-
-
А
-
-
-
7340
737F

I6
L
H
H
H
L
L
H
H
H
-
-
-
-
-
-
-
A
-
-
-
7380
73FF

I7
L
H
H
H
L
H
-
-
-
-
-
-
-
-
-
-
А
-
-
-
7400
77FF

I8
L
H
H
H
H
-
-
-
-
-
-
-
-
-
-
-
А
-
-
-
7800
7FFF

I9
H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
А
-
-
-
8000
FFFF



Входи А ПЛМ
Виходи
Діапазон кодів


15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
0
1
2
3



A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
S
від
до

I0
L
L
H
L
H
L
L
H
H
L
L
H
H
H
L
H
А
-
-
-
299D
299D

I1
L
L
H
L
H
L
L
H
H
L
L
H
H
H
L
L
А
-
-
-
299C
299C

I2
L
L
H
L
H
L
L
H
H
L
L
H
H
L
-
-
А
-
-
-
2998
299B

I3
L
L
H
L
H
L
L
H
H
L
L
H
L
-
-
-
А
-
-
-
2990
2997

I4
L
L
H
L
H
L
L
H
H
L
L
L
-
-
-
-
А
-
-
-
2980
298F

I5
L
L
H
L
H
L
L
H
L
-
-
-
-
-
-
-
A
-
-
-
2900
297F

I6
L
L
H
L
H
L
L
L
-
-
-
-
-
-
-
-
А
-
-
-
2800
28FF

I7
L
L
H
L
L
-
-
-
-
-
-
-
-
-
-
-
А
-
-
-
2000
27FF

I8
L
L
L
-
-
-
-
-
-
-
-
-
-
-
-
-
А
-
-
-
0000
1FFF


Схема з'єднання ПЛМ:

Числова вісь:

4.1 Виконати порозрядні операції над двома 16-розрядними кодами:
(1ц1л)(2ц1л)(1ц2л)(2ц2л) and (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція І,
(1ц1л)(2ц1л)(1ц2л)(2ц2л) or (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція АБО,
(1ц1л)(2ц1л)(1ц2л)(2ц2л) xor (1ц7л)(2ц7л)(1ц8л)(2ц8л) – операція ВИКЛЮЧНЕ АБО.
Синтезувати в базисі Буля функціональні схеми пристроїв, які виконують дані операції, і навести значення сигналів на входах схеми і на виходах кожного елемента схеми.
a = (1ц1л)(2ц1л)(1ц2л)(2ц2л) = 357816 = 0011 0101 0111 10002
b = (1ц7л)(2ц7л)(1ц8л)(2ц8л) = 532816 = 0101 0011 0010 10002
Аргументи
a & b
a v b
a # b

a
b
(and)
(or)
(xor)

0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
0
0
0


Схеми операцій в базисі Буля:



4.2 Виконати операцію віднімання чисел у двійковому коді:
(1ц3л)(1ц1л)(2ц1л)-(1ц8л)(2ц8л),
(1ц8л)(2ц8л)-(1ц3л)(1ц1л)(2ц1л).
Від'ємний результат подати у прямому коді. Після виконання вказаних операцій навести у шістнадцятковому коді значення операндів і результату. Синтезувати на базі повних однорозрядних суматорів функціональну схему багаторозрядного суматора, який виконує дані операції, і навести значення сигналів на входах схеми і на виходах кожного однорозрядного суматора. Синтезувати в базисі Буля функціональну схему повного однорозрядного суматора, навести його таблицю істинності і значення сигналів на входах суматора і на виходах кожного його елемента для кожного розряду згаданого вище багаторозрядного суматора.
(1ц3л)(1ц1л)(2ц1л) = 33516 = 0011 0011 01012
(1ц8л)(2ц8л) = 2816 = 0010 10002
Виконання операції +335 - 28
+335 + (-28);
0.0011 0011 0101 + 1.0000 0010 1000 - числа у прямому двійковому коді, крапка відділяє в даному випадку знак числа від значущих розрядів числа;
0.0011 0011 0101 + 1.1111 1101 1000 - числа у доповняльному двійковому коді;
0.0011 0011 0101
+
1.1111 1101 1000
0.0011 0000 1101 - результат додатній у двійковому коді.
0.30D - результат у прямому шістнадцятковому коді.
Відповідь: +30D.

335 - 28 = 30D
Виконання операції +28 - 335
+28 + (-335);
0.0000 0010 1000 + 1.0011 0011 0101 - числа у прямому двійковому коді, крапка відділяє в даному випадку знак числа від значущих розрядів числа;
0.0000 0010 1000 + 1.1100 1100 1011 - числа у доповняльному двійковому коді;
0.0000 0010 1000
+
1.1100 1100 1011
1.1100 1111 0011 - результат від'ємний у двійковому доповняльному коді.
5) 1.0011 0000 1101 - результат від'ємний у прямому двійковому коді.

1.30D - результат у прямому шістнадцятковому коді.
Відповідь: -30D.
28 - 335 = -30D

Таблиця істинності повного однорозрядного суматора:
Входи
Виходи

A
B
Ci
Co
S

0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1


З таблиці істинності видно, що
Co = /ABCi v A/BCi v AB/Ci v ABCi = BCi v ACi v AB;
S = /A/BCi v /AB/Ci v A/B/Ci v ABCi.
Функціональна схема повного однорозрядного сумматора:

Операція « 335 - 28 » :
A
B
Ci
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12




/A
/B
/Ci
AB
ACi
BCi
/A/BCi
/AB/Ci
A/B/Ci
ABCi
Co
S

0
1
0
1
0
1
0
0
0
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

1
0
0
0
1
1
0
0
0
0
0
1
0
0
1

1
0
0
0
1
1
0
0
0
0
0
1
0
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

1
1
0
0
0
1
1
0
0
0
0
0
0
1
0

1
0
1
0
1
0
0
1
0
0
0
0
0
1
0

0
1
1
1
0
0
0
0
1
0
0
0
0
1
0

1
0
1
0
1
0
0
1
0
0
0
0
0
1
0

0
0
1
1
1
0
0
0
0
1
0
0
0
0
1

1
0
0
0
1
1
0
0
0
0
0
1
0
0
1


Операція « 28 - 335 » :
A
B
Ci
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12




/A
/B
/Ci
AB
ACi
BCi
/A/BCi
/AB/Ci
A/B/Ci
ABCi
Co
S

0
1
0
1
0
1
0
0
0
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
1
0
1
0
1
0
0
0
0
1
0
0
0
1

0
1
0
1
0
1
0
0
0
0
1
0
0
0
1

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
0
0
0
0
0
0
0
0
0

1
1
0
0
0
1
1
0
0
0
0
0
0
1
0

0
1
1
1
0
0
0
0
1
0
0
0
0
1
0

1
0
1
0
1
0
0
1
0
0
0
0
0
1
0

0
1
1
1
0
0
0
0
1
0
0
0
0
1
0

0
0
1
1
1
0
0
0
0
1
0
0
0
0
1

0
1
0
1
0
1
0
0
0
0
1
0
0
0
1


4.3 Виконати округлення 16-розрядних двійкових кодів із точністю до 1/2 одиниці
молодшого розряду, який залишається. Коди:
1(1ц4л)(2ц4л)(1ц5л)(2ц5л) - від'ємне число в доповняльному коді,
0(1ц4л)(2ц4л)(1ц5л)(2ц5л) - додатне число в доповняльному коді.
При першому округленні відкинути два молодших розряди. Наступні округлення провести послідовно через кожних два двійкових розряди. Результат чергового округлення – це початкові дані для наступного округлення.
1(1ц4л)(2ц4л)(1ц5л)(2ц5л) = 1 (172316) = 1 1000 0111 0010 00112
0(1ц4л)(2ц4л)(1ц5л)(2ц5л) = 0 (172316) = 0 1000 0111 0010 00112
Округлення числа 1 1000 0111 0010 0011:
110 00 01 11 00 10 00(00)
+000 00 00 00 00 00 00(01)
110 00 01 11 00 11 00(01)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00 01 11 00 10 00(00)
110 00 01 11 00 10(00 00)
+000 00 00 00 00 00(01 11)
110 00 01 11 00 10(01 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00 01 11 00 10(00 00)
110 00 01 11 00(10 00 00)
+000 00 00 00 00(01 11 11)
110 00 01 11 00(11 11 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00 01 11 00(10 00 00)
110 00 01 11(00 00 00 00)
+000 00 00 00(01 11 11 11)
110 00 01 11(10 11 11 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00 01 11(00 00 00 00)
110 00 01(10 00 00 00 00)
+000 00 00(01 11 11 11 11)
110 00 01(11 11 11 11 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00 01(10 00 00 00 00)
110 00(01 00 00 00 00 00)
+000 00(01 11 11 11 11 11)
110 00(10 11 11 11 11 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110 00(01 00 00 00 00 00)
110(00 00 00 00 00 00 00)
+000(01 11 11 11 11 11 11)
110(11 11 11 11 11 11 11)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 110(00 00 00 00 00 00 00)
Округлення числа 0 1000 0111 0010 0011:
010 00 01 11 00 10 00(00)
+000 00 00 00 00 00 00(10)
010 00 01 11 00 10 00(10)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00 01 11 00 10 00(00)
010 00 01 11 00 10(00 00)
+000 00 00 00 00 00(10 00)
010 00 01 11 00 10(10 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00 01 11 00 10(00 00)
010 00 01 11 00(10 00 00)
+000 00 00 00 00(10 00 00)
010 00 01 11 01(00 00 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00 01 11 00(10 00 00)
010 00 01 10(00 00 00 00)
+000 00 00 00(10 00 00 00)
010 00 01 10(10 00 00 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00 01 10(00 00 00 00)
010 00 01(10 00 00 00 00)
+000 00 00(10 00 00 00 00)
010 00 10(00 00 00 00 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00 01(10 00 00 00 00)
010 00(01 00 00 00 00 00)
+000 00(10 00 00 00 00 00)
010 00(11 00 00 00 00 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 00(01 00 00 00 00 00)
010 (00 00 00 00 00 00 00)
+000 (10 00 00 00 00 00 00)
010 (10 00 00 00 00 00 00)
Розряди, які відкидаються, взято в дужки.
Результат першого округлення: 010 (00 00 00 00 00 00 00)
4.4 Виконати операцію віднімання чисел у двійково-десятковому коді (числа задані в шістнадцятковому коді):
(1ц1л)(2ц1л)-(1ц8л)(2ц8л),
(1ц8л)(2ц8л)-(1ц1л)(2ц1л).
Від'ємний результат подати у прямому двійково-десятковому коді.
(1ц1л)(2ц1л) = 3516 = 0011 01012 = 5310
(1ц8л)(2ц8л) = 2816 = 0010 10002 = 4010
Операція 53 - 40
53 = 0101 0011
40 = 0100 0000 = B
Двійковий обернений код B(дв.о.к.) = 1011 1111,
Двійковий доповняльний код B(дв.д.к.) = 1100 0000,
1001 1001
+1100 0000 
0101 1001 – двійково-десятковий обернений код B(дв.-дес.о.к.)
0101 1010 – двійково-десятковий доповняльний код B(дв.-дес.д.к.).
Додавання доповняльного коду за правилами двійково-десяткової арифметики:
0101 0011
+ 0101 1010
1010 1101
+ 0000 0110 (корекція першої тетради)
1011 0011
+ 0110 0000 (корекція другої тетради)
1 0001 0011
Результат 0001 0011 = 13 перенос за межі розрядної сітки вказує на те, що результат
додатній, тобто, 13 - це його абсолютна величина.
Операція 40 - 53
40 = 0100 0000
53 = 0101 0011 = B
Двійковий обернений код B(дв.о.к.) = 1010 1100,
Двійковий доповняльний код B(дв.д.к.) = 1010 1101,
1001 1001
+1010 1101  
0100 0110 – двійково-десятковий обернений код B(дв.-дес.о.к.)
0100 0111 – двійково-десятковий доповняльний код B(дв.-дес.д.к.).
Додавання доповняльного коду за правилами двійково-десяткової арифметики:
0100 0000
+ 0100 0111
1000 0111
Результат 1000 0111, відсутність переносу за межі розрядної сітки вказує на те, що результат у доповняльному двійково-десятковому коді від'ємний, щоб отримати його абсолютну величину необхідно перевести результат з доповняльного коду в прямий. Алгоритм переведення такий же, як і для переведення з прямого коду в доповняльний:
інверсія двійкових розрядів 0111 1000;
додавання 1 молодшого розряду 0111 1001
доповнення до 99 +1001 1001
0001 0010
прямий двійково-десятковий код 0001 0011.
Результат = -0001 0011 = -13.
4.5 Виконати операції множення в доповняльному коді двійкових чисел, поданих спочатку в прямому коді:
(+2ц1л) х (+2ц8л),
(-2ц1л) х (+2ц8л),
(+2ц1л) х (-2ц8л),
(-2ц1л) х (-2ц8л).
Попередньо всі числа перевести в доповняльний код. Навести алгоритм множення й таблицю, яка відображає зміни всіх операндів (множеного, множника, лічильника, проміжної суми, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму. Синтезувати на базі повних однорозрядних суматорів і з використанням елементів базиса Буля функціональну схему матричного помножувача, який виконує операцію множення додатніх чисел (+2ц1л) х (+2ц8л), і навести значення сигналів на входах схеми і на виходах кожного елемента схеми.
(2ц1л) = 516 = 01012 (2ц8л) = 816 = 10002 (+5) x (+8) = (+40)
Алгоритм множення:

На алгоритмі множення введені такі позначеня:
Лч - лічильник;
n - кількість двійкових розрядів множника без знаку;
Мк - множник;
Ме - множене;
S - суматор, після виконання алгоритму в ньому буде знаходитися результат. Розрядність суматора без врахування знаку дорівнює n+m, де m - кількість розрядів множеного без врахування знаку (у прикладі n=m);
мол.р. - молодший розряд;
АЗП - арифметичний зсув праворуч;
ЛЗП - логічний зсув праворуч.
(+5) x (+8) = (+40)
Mе = 0.101
Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000
0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100

Лч = Лч - 1

3
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.010

Лч = Лч - 1

2
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.001

Лч = Лч - 1

1
00.000000

1
S = S + Ме


00.000000
+00.101000
00.101000



Мк=ЛЗП (Мк)


00.101000
0.000

Лч = Лч – 1

0
00.101000

0
кінець


00.1010002 (доп) = +1010002 (пр) = +4010
(-5) x (+8) = (-40)
Mе = 1.011
Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000
0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100

Лч = Лч - 1

3
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.010

Лч = Лч - 1

2
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.001

Лч = Лч - 1

1
00.000000

1
S = S + Ме


00.000000
+11.011000
11.011000


S = АЗП(S)


11.011000
0.000

Мк=ЛЗП (Мк)


11.011000


Лч = Лч – 1

0
11.011000

0
кінець


11.0110002 (доп) = - 1010002 (пр) = -4010
(+5) x (-8) = (-40)
Mе = 0.101
- Mе = 1.011
- Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000
0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100

Лч = Лч - 1

3
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.010

Лч = Лч - 1

2
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.001

Лч = Лч - 1

1
00.000000

1
S = S + Ме


00.000000
+11.011000
11.011000



Мк=ЛЗП (Мк)


11.011000
0.000

Лч = Лч – 1

0
11.011000

0
кінець


11.0110002 (доп) = - 1010002 (пр) = -4010
(-5) x (-8) = (40)
Mе = 1.011
- Ме = 0.101
Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000
0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100

Лч = Лч - 1

3
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.010

Лч = Лч - 1

2
00.000000

0
S = АЗП(S)


00.000000


Мк = ЛЗП(Мк)


00.000000
0.001

Лч = Лч - 1

1
00.000000

1
S = S + Ме


00.000000
+00.101000
00.101000



Мк=ЛЗП (Мк)


00.101000
0.000

Лч = Лч – 1

0
00.101000

0
кінець


00.1010002 (доп) = +1010002 (пр) = +4010
Синтез на базі повних однорозрядних суматорів і з використанням елементів базиса Буля функціональної схеми матричного помножувача, який виконує операцію множення додатніх чисел 101 х 111

4.6 Виконати операцію множення в доповняльному коді методом Бута двійкових чисел, представлених спочатку в прямому коді:
(+2ц1л) х (+2ц8л),
(-2ц1л) х (+2ц8л),
(+2ц1л) х (-2ц8л),
(-2ц1л) х (-2ц8л).
Попередньо всі числа перевести в доповняльний код. Навести алгоритм множення й таблицю, яка відображає зміни всіх операндів (множеного, множника, лічильника, проміжної суми, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму.
(2ц1л) = 516 = 01012 (2ц8л) = 716 = 10002
Алгоритм множення:

На алгоритмі множення введені такі позначеня:
Лч - лічильник;
n - кількість двійковихрозрядів множника без знаку;
Мк - множник;
Ме -множене;
S - суматор, після виконання алгоритму в ньому буде знаходитися результат. Розрядність суматора без врахування знаку дорівнює n+m, де m - кількість розрядів множеного без врахування знаку (у прикладі n=m).
2 мол.р. - два молодших розряди;
АЗП - арифметичний зсув праворуч;
ЛЗП - логічний зсув праворуч.
(+5) x (+8) = (+40)
Mе = 0.101 - Mе = 1.011 Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000(0)
00
Лч = Лч – 1


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100(0)

Лч = Лч - 1

3
00.000000

00
Мк = ЛЗП(Мк)


00.000000
0.010(0)

Лч = Лч - 1

2
00.000000

00
Мк = ЛЗП(Мк)


00.000000
0.001(0)

Лч = Лч - 1

1
00.000000

10
S = S + Ме


00.000000
+00.101000
00.101000



Мк=ЛЗП (Мк)


00.101000
0.000

Лч = Лч – 1

0
00.101000

0
кінець


00.1010002 (доп) = +1010002 (пр) = +4010
(-5) x (+8) = (-40)
Mе = 1.011 - Mе = 0.101 Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000(0)
00
Лч = Лч - 1


00.000000


Мк = ЛЗП(Мк)

3
00.000000
0.100(0)

Лч = Лч - 1


00.000000

00
Мк = ЛЗП(Мк)

2
00.000000
0.010(0)

Лч = Лч - 1


00.000000

00
Мк = ЛЗП(Мк)

1
00.000000


Лч = Лч - 1


00.000000
0.001(0)
10
S = S + Ме


00.000000
+ 11.011  
11.011000


Мк = ЛЗП(Мк)


11.011000


Лч = Лч - 1

0
11.011000


кінець


11.0110002 (доп) = - 1010002 (пр) = -4010
(+5) x (-8) = (-40)
Mе = 0.101 - Mе = 1.011 Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000(0)
00
Лч = Лч - 1


00.000000


Мк = ЛЗП(Мк)

3
00.000000
0.100(0)

Лч = Лч - 1


00.000000

00
Мк = ЛЗП(Мк)

2
00.000000
0.010(0)

Лч = Лч - 1


00.000000

00
Мк = ЛЗП(Мк)

1
00.000000


Лч = Лч - 1


00.000000
0.001(0)
10
S = S - Ме


00.000000
+ 11.011  
11.011000


Мк = ЛЗП(Мк)


11.011000


Лч = Лч - 1

0
11.011000


кінець


11.0110002 (доп) = - 1010002 (пр) = -4010
(-5) x (-8) = (40)
Mе = 1.011 - Mе = 0.101 Мк = 1.000
Лч
S
Мк
мол. р. Мк
Наступна операція

4
00.000000
1.000(0)
00
Лч = Лч – 1


00.000000


Мк = ЛЗП(Мк)


00.000000
0.100(0)

Лч = Лч - 1

3
00.000000

00
Мк = ЛЗП(Мк)


00.000000
0.010(0)

Лч = Лч - 1

2
00.000000

00
Мк = ЛЗП(Мк)


00.000000
0.001(0)

Лч = Лч - 1

1
00.000000

10
S = S - Ме


00.000000
+00.101000
00.101000



Мк=ЛЗП (Мк)


00.101000
0.000

Лч = Лч – 1

0
00.101000

0
кінець


00.1010002 (доп) = +1010002 (пр) = +4010
4.7 Виконати операцію ділення 10-розрядного двійкового коду (10)(1ц2л)(1ц8л) на 5-розрядний двійковий код (1)(1ц1л) методом із відновленням залишків. Навести алгоритм ділення й таблицю, яка відображає зміни всіх операндів (діленого, дільника, лічильника, частки, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму.
(10)(1ц2л)(1ц8л) = 10 0111 0010
(1)(1ц1л) = 1 0011
Алгоритм ділення:
В алгоритмі використані такі позначення:
Лч - лічильник;
Ч - частка;
n - кількість двійкових розрядів частки без знаку. Для визначення кількості двійкових розрядів частки при діленні цілого числа на ціле необхідно в прямому двійковому коді написати одне під одним ділене і дільник, вирівнявши їх за одиницею у старшому розряді. Тоді кількість розрядів частки n буде дорівнювати різниці довжин вирівняних дільника і діленого, збільшеній на 1;
Дк - дільник;
Де - ділене;
Зн - знак;
# - позначення операції додавання за модулем 2;
S - суматор, на початку виконання алгоритму в ньому буде знаходитися ділене;
ЛЗЛ(Х),(Y) - логічний зсув ліворуч числа X, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y.
Де = 0.1001110010 (прямий код, доповняльний код), ЗнДе = 0 (+);
Дк = 0.10011 (прямий код, доповняльний код), ЗнДк = 0 (+);
-Дк = 1.01101 (доповняльний код).
Визначення n:
Де = +1001110010, Дк = +10001. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6.
Лч
S
S<0?
Q
Ч
Наступна операція

6
0.1001110010



Q = ЗнДе # ЗнДк




0

Ч = ЛЗЛ(Ч), Q





0
S = S - Дк


0.1001110010
+ 1.01101  
0.0000010010
S>0


Q = 1




1
0
Ч = ЛЗЛ(Ч), Q




1
01
S = ЛЗЛ(S), 0


0.0000100100



Лч = Лч - 1

5




S = S - Дк


0.0000100100
+ 1.01101  
1.0110110010
S<0


Q = 0




0
01
Ч = ЛЗЛ(Ч), Q




0
010
S = S + Дк


1.0110110010
+ 0.10011  
0.0000010010



S = ЛЗЛ(S), 0


0.0000100100



Лч = Лч - 1

4




S = S - Дк


0.0000100100
+ 1.01101  
1.0111000100
S<0


Q = 0




0
010
Ч = ЛЗЛ(Ч), Q




0
0100
S = S + Дк


1.0111000100
+ 0.10011  
0.0000100100



S = ЛЗЛ(S), 0


0.0001001000



Лч = Лч - 1

3




S = S - Дк


0.0001001000
+ 1.01101  
1.0111101000
S<0


Q = 0




0
0100
Ч = ЛЗЛ(Ч), Q




0
01000
S = S + Дк


1.0111101000



S = ЛЗЛ(S), 0

2




S = S - Дк


1.0111101000
+ 1.01101  
0.0100101000
S>0


Q = 1




0
01000
Ч = ЛЗЛ(Ч), Q




0
010000
S = ЛЗЛ(S), 0


0.1001010000
+ 1.01101  
1.1111110000



S = ЛЗЛ(S), 0


1.1111100000



Лч = Лч - 1

1




S = S - Дк


1.1111100000
+ 1.01101  
1.0110000000
S<0


Q = 0




0
010000
Ч = ЛЗЛ(Ч), Q




0
0100000
S = S + Дк


1.0110000000
+ 0.10011  
0.1111100000



S = ЛЗЛ(S), 0


0.1111100000



Лч = Лч - 1

0




Кінець


Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у
прямому коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів).
Результат додатній
0.1001110010 : 0.10011 = 0.100000
4.8 Виконати операцію ділення 10-розрядного двійкового коду (10)(1ц2л)(1ц8л) на 5-розрядний двійковий код (1)(1ц1л) методом без відновлення залишків. Навести алгоритм ділення й таблицю, яка відображає зміни всіх операндів (діленого, дільника, лічильника,
частки, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму.
(10)(1ц2л)(1ц8л) = 10 0111 0010
(1)(1ц1л) = 1 0011
Алгоритм ділення:
В алгоритмі використанітакі позначення:
Лч - лічильник;
Ч - частка;
n - кількість двійкових розрядів частки без знаку. Для визначення кількості двійкових розрядів частки при діленні цілого числа на ціле необхідно в прямому двійковому коді написати одне під одним ділене і дільник, вирівнявши їх за одиницею в старшому розряді. Тоді кількість розрядів цілої частини частки n буде дорівнювати різниці довжин вирівняних дільника і діленого, збільшеній на 1;
Дк - дільник;
Де - ділене;
Зн - знак;
# - позначення операції додавання за модулем 2;
S - суматор, на початку виконання алгоритму в ньому буде знаходитися ділене;
ЛЗЛ(Х),(Y) - логічний зсув ліворуч числа X, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y.
Де = 00.1001110010 (доповняльний код);
Де = + 1001110010 (прямий код);
Дк = 00.10011 (доповняльний код);
-Дк = 11.01101 (доповняльний код).
Визначення n:
Де = +1001110010, Дк = +10011. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6.
Лч
S
Зн S
Q
Ч
Наступна операція

6
00.1001110010
0


Q = ЗнS # ЗнДк



0
0

Ч = ЛЗЛ(Ч), Q





0
S = S - Дк


00.1001110010
+ 11.01101  
00.0000010010
0


Q = ЗнS # ЗнДк



0
0
0
Ч = ЛЗЛ(Ч), /Q




0
01
S = ЛЗЛ(S), 0


00.0000100100
0


Лч = Лч - 1

5


0

S = S - Дк


00.0000100100
+ 11.01101
  11.0111000100
1


Q = ЗнS # ЗнДк



1
1
01
Ч = ЛЗЛ(Ч), /Q




1
010
S = ЛЗЛ(S), 0


11.0111000100



Лч = Лч - 1

4


1

S = S + Дк


11.0111000100
+ 00.10011
00.0000100100
0


Q = ЗнS # ЗнДк



0
0
010
Ч = ЛЗЛ(Ч), /Q




0
0100
S = ЛЗЛ(S), 0


00.0001001000



Лч = Лч - 1

3


0

S = S + Дк


00.0001001000
+ 11.01101
11.0111101000
0


Q = ЗнS # ЗнДк



0
0
0100
Ч = ЛЗЛ(Ч), /Q




0
01000
S = ЛЗЛ(S), 0


11.0111101000



Лч = Лч - 1

2


0

S = S - Дк


11.0111101000
+ 00.10011
00.0001001000
0


Q = ЗнS # ЗнДк



0
0
01000
Ч = ЛЗЛ(Ч), /Q




0
010000
S = ЛЗЛ(S), 0


00.00100100000



Лч = Лч - 1

1


0

S = S + Дк


00.00100100000
+ 11.10001
  11.1010110000
1


Q = ЗнS # ЗнДк



1
1
010000
Ч = ЛЗЛ(Ч), /Q




1
0100000
S = ЛЗЛ(S), 0


11.0101100000



Лч = Лч - 1

0




Кінець


Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у доповняльному коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів).
Результат додатній
0.1001110010 : 0.10011 = 0.100000
4.9 Виконати операції додавання A+B, віднімання A-B, множення AB і ділення A/B над числами, представленими у форматі з рухомою комою. Число A складається з кодів 2ц1л і 2ц8л, число B складається з кодів 2ц2л і 2ц7л. Формат операндів і результатів повинен задовільняти вимогам табл. ТZ5.
2ц1л = 5; 2ц8л = 8;
2ц2л = 8; 2ц7л = 3.
A = 5816 = 0 101 10002
B = 8316 = 1 000 00112
Операція додавання А+В
Аналіз і підготовка операндів
Операнд A
Операнд B

Операнди у форматі з рухомою комою (шістнадцятковий код)
58
83

Операнди у форматі з рухомою комою (двійковий код)
01011000
10000011

Розбиті на поля операнди у форматі з рухомою комою
0.101.1000
1.000.0011

Знак
+ (0)
+ (0)

Характеристика
5 = 101
6 = 110

Показник порядку
1 = 5 - 4
2 = 6 - 4

Порядок
2 = 21
4 = 22

Мантиса
23/32=0,10111
19/32=0,10011

Величина числа
+2*23/32=+23/16
+4*19/32=+19/8

Примітка
A=+23/16
B=+19/8

Вирівняний порядок – порядок результату
4 = 22


Мантиса, яка відповідає вирівняному порядку
¼ =0,010000


Визначення результату
Результат:

Знак результату
+ (0)

Мантиса результату визначається додаванням мантис операндів у модифікованому доповняльному коді
00.10011
+00.010111
00.111101

Заокруглення мантиси результату (в дужках – розряди, які відкидаються)
00.11110(1)

Мантиса результату
15/16 = 00.11110

Показник порядку результату
3

Порядок результату
8 = 23

Величина результату
60/16=+8*15/16

Характеристика результату
7=3+4=111

Розбитий на поля результат у форматі з рухомою комою
0.111.1110

Результату у форматі з рухомою комою (двійковий код)
01111110

Результату у форматі з рухомою комою (шістнадцятковий код)


Примітка
A+B=23/16+19/8=61/16 ? 60/16

Операція додавання А-В
Аналіз і підготовка операндів
Операнд A
Операнд B

Операнди у форматі з рухомою комою (шістнадцятковий код)
57
63

Операнди у форматі з рухомою комою (двійковий код)
01010111
01100011

Розбиті на поля операнди у форматі з рухомою комою
0.101.0111
0.110.0011

Знак
+ (0)
+ (0)

Характеристика
5 = 101
6 = 110

Показник порядку
1 = 5 - 4
2 = 6 - 4

Порядок
2 = 21
4 = 22

Мантиса
23/32=0,10111
19/32=0,10011

Величина числа
+2*23/32=+23/16
+4*19/32=+19/8

Примітка
A=+23/16
B=+19/8

Визначення результату
Результат:

Знак результату
- (1)

Мантиса результату визначається відніманням мантис операндів, результат ненормалізований
00.10011
+11.01001
11.11100 = 1.00100

Нормалізація мантиси результату (2 зсуви ліворуч)
1.10000

Мантиса результату
-15/16 = 1.11100

Зменшення показника порядку результату на 2 для компенсації нормалізації мантиси результату
2-2=0

Показник порядку результату
0

Порядок результату
1 = 20

Величина результату
-15/16=+1*(-15/16)

Характеристика результату
4=0+4=100

Розбитий на поля результат у форматі з рухомою комою
1.100.1100

Результату у форматі з рухомою комою (двійковий код)
11001100

Результату у форматі з рухомою комою (шістнадцятковий код)
СС

Примітка
A-B=23/16-19/8=-15/16


Операція додавання А*В
Аналіз і підготовка операндів
Операнд A
Операнд B

Операнди у форматі з рухомою комою (шістнадцятковий код)
57
63

Операнди у форматі з рухомою комою (двійковий код)
01010111
01100011

Розбиті на поля операнди у форматі з рухомою комою
0.101.0111
0.110.0011

Знак
+ (0)
+ (0)

Характеристика
5 = 101
6 = 110

Показник порядку
1 = 5 - 4
2 = 6 - 4

Порядок
2 = 21
4 = 22

Мантиса
23/32=0,10111
19/32=0,10011

Величина числа
+2*23/32=+23/16
+4*19/32=+19/8

Примітка
A=+23/16
B=+19/8

Визначення результату
Результат:

Знак результату
+ (0)

Мантиса результату визначається перемноженням мантис операндів, результат ненормалізований
0.10111
*0.10011
10111
+10111
+00000
+00000
+10111
0.0110110101

Нормалізація мантиси результату (1 зсув ліворуч)
0.1101101010

Заокруглення мантиси (в дужках – розряди, які відкидаються)
0.11011(01010)

Мантиса результату
27/32 = 0.11011

Порядок результату визначається додаванням показників порядків операндів
1+2=3

Зменшення показника порядку результату на 1 для компенсації нормалізації мантиси результату
3-1=2

Показник порядку результату
2

Порядок результату
4 = 22

Величина результату
108/32=+4*27/32

Характеристика результату
7=3+4=111

Розбитий на поля результат у форматі з рухомою комою
0.111.1011

Результату у форматі з рухомою комою (двійковий код)
01111011

Результату у форматі з рухомою комою (шістнадцятковий код)


Примітка
A*B=23/16*19/8?108/32



Операція додавання А/В
Аналіз і підготовка операндів
Операнд A
Операнд B

Операнди у форматі з рухомою комою (шістнадцятковий код)
57
63

Операнди у форматі з рухомою комою (двійковий код)
01010111
01100011

Розбиті на поля операнди у форматі з рухомою комою
0.101.0111
0.110.0011

Знак
+ (0)
+ (0)

Характеристика
5 = 101
6 = 110

Показник порядку
1 = 5 - 4
2 = 6 - 4

Порядок
2 = 21
4 = 22

Мантиса
23/32=0,10111
19/32=0,10011

Величина числа
+2*23/32=+23/16
+4*19/32=+19/8

Примітка
A=+23/16
B=+19/8

Визначення результату
Результат:

Знак результату
+ (0)

Мантиса результату визначається діленням мантис операндів, результат нормалізований
0.10111:0.10011=0.1111
-0.1001
0.01110
-0.100
0.01010
-0.10
0.01000
-0.1
0.00111

Мантиса результату
15/16 = 0.11110

Порядок результату визначається відніманням показників порядків операндів
1-2=-1

Порядок результату
1/2 = 2-1

Величина результату
15/32=+1/2*15/16

Характеристика результату
3=-1+4=011

Розбитий на поля результат у форматі з рухомою комою
0.011.1110

Результату у форматі з рухомою комою (двійковий код)
00111110

Результату у форматі з рухомою комою (шістнадцятковий код)


Примітка
A/B=(23/16)/(19/8)?15/32