diff options
Diffstat (limited to '3827')
-rw-r--r-- | 3827/CH2/EX2.1/EX2_1.sce | 12 | ||||
-rw-r--r-- | 3827/CH2/EX2.2/EX2_2.sce | 15 | ||||
-rw-r--r-- | 3827/CH2/EX2.3/EX2_3.sce | 15 | ||||
-rw-r--r-- | 3827/CH2/EX2.4/EX2_4.sce | 14 | ||||
-rw-r--r-- | 3827/CH2/EX2.5/EX2_5.sce | 12 | ||||
-rw-r--r-- | 3827/CH2/EX2.6/EX2_6.sce | 14 | ||||
-rw-r--r-- | 3827/CH2/EX2.7/EX2_7.sce | 13 | ||||
-rw-r--r-- | 3827/CH2/EX2.8/EX2_8.sce | 16 | ||||
-rw-r--r-- | 3827/CH3/EX3.1/Ex3_1.sce | 14 | ||||
-rw-r--r-- | 3827/CH3/EX3.2/Ex3_2.sce | 15 | ||||
-rw-r--r-- | 3827/CH3/EX3.4/Ex3_4.sce | 14 | ||||
-rw-r--r-- | 3827/CH3/EX3.5/Ex3_5.sce | 13 | ||||
-rw-r--r-- | 3827/CH3/EX3.6/Ex3_6.sce | 14 | ||||
-rw-r--r-- | 3827/CH3/EX3.7/Ex3_7.sce | 12 | ||||
-rw-r--r-- | 3827/CH3/EX3.8/Ex3_8.sce | 20 | ||||
-rw-r--r-- | 3827/CH3/EX3.9/Ex3_9.sce | 25 | ||||
-rw-r--r-- | 3827/CH4/EX4.1/EX4_1.sce | 12 | ||||
-rw-r--r-- | 3827/CH4/EX4.2/EX4_2.sce | 14 | ||||
-rw-r--r-- | 3827/CH4/EX4.3/EX4_3.sce | 15 | ||||
-rw-r--r-- | 3827/CH4/EX4.4/EX4_4.sce | 29 |
20 files changed, 308 insertions, 0 deletions
diff --git a/3827/CH2/EX2.1/EX2_1.sce b/3827/CH2/EX2.1/EX2_1.sce new file mode 100644 index 000000000..6b9548db2 --- /dev/null +++ b/3827/CH2/EX2.1/EX2_1.sce @@ -0,0 +1,12 @@ +//EX2_1:Simplify Z = A'BC + A'
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('Z = A'' + A''BC')
+//This expression has the same form as absorption theorem
+disp('let X = A'' and Y = BC.')
+disp('Z = X + XY = X = A''.')
diff --git a/3827/CH2/EX2.2/EX2_2.sce b/3827/CH2/EX2.2/EX2_2.sce new file mode 100644 index 000000000..58fa419fc --- /dev/null +++ b/3827/CH2/EX2.2/EX2_2.sce @@ -0,0 +1,15 @@ +//EX2_2 Simplify Z = [A + B'C + D +EF][A + B'C + (D + EF)']
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('Z = [A + B''C + D + EF][A + B''C + (D + E''F)]')
+disp('Let X = A + B''C')
+disp('and Y = D + EF Y'' = (D + EF)''')
+disp('Z = [X + Y][X + Y'']')
+//By uniting theorem i.e. (X + Y)(X + Y') = X
+disp('Z = X ')
+disp('Z = A + B''C')
diff --git a/3827/CH2/EX2.3/EX2_3.sce b/3827/CH2/EX2.3/EX2_3.sce new file mode 100644 index 000000000..f0f11903c --- /dev/null +++ b/3827/CH2/EX2.3/EX2_3.sce @@ -0,0 +1,15 @@ +//EX2_3 Simplify Z = (AB + C)(B'D + C'E') + (AB + C)'
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('Z = (AB + C)(B''D + C''E'') + (AB + C)''')
+disp('Let X = (AB + C)'' X'' = AB + C')
+disp('and Y = B''D + C''E''')
+disp('Z = X''Y + X')
+//By the elimination theorem i.e. X + X'Y = X + Y
+disp('Z = Y + X')
+disp('Z = B''D + C''E'' + (AB + C)'' ')
diff --git a/3827/CH2/EX2.4/EX2_4.sce b/3827/CH2/EX2.4/EX2_4.sce new file mode 100644 index 000000000..168388aae --- /dev/null +++ b/3827/CH2/EX2.4/EX2_4.sce @@ -0,0 +1,14 @@ +//EX2_4 Factor A + B'CD
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//This is of the form X + YZ
+disp('Let X = A , Y = B'' and Z = CD')
+disp('A + B''CD = X + YZ = (X + Y)(X + Z)')
+disp('A + B''CD = (A + B'')(A + CD)')
+//A + CD can be factored again using the second distributive law
+disp('A + B''CD = (A + B'')(A + C)(A + D)')
diff --git a/3827/CH2/EX2.5/EX2_5.sce b/3827/CH2/EX2.5/EX2_5.sce new file mode 100644 index 000000000..51dc62614 --- /dev/null +++ b/3827/CH2/EX2.5/EX2_5.sce @@ -0,0 +1,12 @@ +//EX2_5 Factor AB' + C'D
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//Using second distributive law
+disp('AB'' + C''D = (AB'' + C'')(AB'' + D)')
+//Again by using second distributive law
+disp('AB'' + C''D = (A + C'')(B'' + C'')(A + D)(B'' + D)')
diff --git a/3827/CH2/EX2.6/EX2_6.sce b/3827/CH2/EX2.6/EX2_6.sce new file mode 100644 index 000000000..8a7253430 --- /dev/null +++ b/3827/CH2/EX2.6/EX2_6.sce @@ -0,0 +1,14 @@ +//EX2_6 Factor C'D + C'E' + G'H
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//Using ordinary distributive law
+disp('C''D + C''E'' + G''H = C''(D + E'') +G''H')
+//Now applying second distributive law
+disp('= (C'' +G''H)((D + E'') + G''H)')
+//Now identify X , Y and Z in each expression and complete the factoring
+disp('= (C'' + G'')(C'' H)(D + E'' G'')(D + E'' +H)')
diff --git a/3827/CH2/EX2.7/EX2_7.sce b/3827/CH2/EX2.7/EX2_7.sce new file mode 100644 index 000000000..1fca0b3ea --- /dev/null +++ b/3827/CH2/EX2.7/EX2_7.sce @@ -0,0 +1,13 @@ +//EX2_7 To find complement of (A' + B)C'
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//Using 2.12 i.e. (XY)' = X' + Y'
+disp('((A'' + B)C'')'' = (A'' + B)'' + (C'')''')
+//Now using 2.13 i.e. (X + Y)' = X'.Y'
+disp('(A'' + B)C'' = AB'' + C')
+
diff --git a/3827/CH2/EX2.8/EX2_8.sce b/3827/CH2/EX2.8/EX2_8.sce new file mode 100644 index 000000000..2b2ae98f4 --- /dev/null +++ b/3827/CH2/EX2.8/EX2_8.sce @@ -0,0 +1,16 @@ +//EX2_8 To find complement of (AB' + C)D' + E
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//By using 2.12 i.e. (X + Y)' = X'Y'
+disp('((AB'' + C)D'' + E)'' = [(AB'' + C)D'']''E''')
+//By using 2.13 i.e. (XY)' = X' + Y'
+disp('= [(AB'' + C) + D]E''')
+//Using 2.12
+disp('= [(AB'')'' C'' + D]E''')
+//Using 2.13
+disp('= [(A'' + B) C'' + D]E''')
diff --git a/3827/CH3/EX3.1/Ex3_1.sce b/3827/CH3/EX3.1/Ex3_1.sce new file mode 100644 index 000000000..a4c113160 --- /dev/null +++ b/3827/CH3/EX3.1/Ex3_1.sce @@ -0,0 +1,14 @@ +//EX3_1:Convert to SOP
+//(A + B + C')(A + B +D)(A + B + E)(A + D' + E)(A' + C)
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('(A + B + C'')(A + B + D)(A + B + E)(A + D'' + E)(A'' + C)')
+disp('= (A + B + C''D)(A + B + E)(A + D'' + E)(A'' + C)')
+disp('= (A + B + C''DE)[AC + A''(D'' + E)]')
+disp('= AC + ABC + A''BD'' +A''BE + A''C''DE')
+disp('= AC + A''BD'' + A''BE + A''C''DE')
diff --git a/3827/CH3/EX3.2/Ex3_2.sce b/3827/CH3/EX3.2/Ex3_2.sce new file mode 100644 index 000000000..9d533fc16 --- /dev/null +++ b/3827/CH3/EX3.2/Ex3_2.sce @@ -0,0 +1,15 @@ +//EX3_2:Convert to POS
+//AC + A'BD' A'BE + A'C'DE
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('AC + A''BD'' + A''BE'' + A''C''DE')
+disp('= AC + A''(BD'' + BE + C''DE)')
+disp('= (A + BD'' + BE + C''DE)(A'' + C)')
+disp('= [A + C''DE + B(D'' + E))](A'' + C)')
+disp('(A + B + C''DE)(A + C''DE + D'' + E)(A'' + C)')
+disp('(A + B + C'')(A + B + D)(A + B + E)(A + D'' + E)(A'' + C)')
diff --git a/3827/CH3/EX3.4/Ex3_4.sce b/3827/CH3/EX3.4/Ex3_4.sce new file mode 100644 index 000000000..ebd1a45d0 --- /dev/null +++ b/3827/CH3/EX3.4/Ex3_4.sce @@ -0,0 +1,14 @@ +//EX3_4: Simplify A'B + A'B'C'D' + ABCD'
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('A''B + A''B''C''D'' + ABCD''')
+disp('= A''(B + B''C''D'') + ABCD''')
+disp('= A''(B + C''D'') + ABCD''')
+disp('= B(A'' + ACD'') + A''C''D''')
+disp('= B(A'' + CD'') + A''C''D''')
+disp('= A''B + BCD'' + A''C''D''')
diff --git a/3827/CH3/EX3.5/Ex3_5.sce b/3827/CH3/EX3.5/Ex3_5.sce new file mode 100644 index 000000000..54cfee788 --- /dev/null +++ b/3827/CH3/EX3.5/Ex3_5.sce @@ -0,0 +1,13 @@ +//EX3_5: Simplify WX + XY + X'Z' + WY'Z'
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('WX + XY + X''Z'' + WY''Z''')
+//add WZ' by consensus theorem
+disp('= WX + XY + X''Z'' + WY''Z'' + WZ''')//eliminate WY'Z'
+disp('= WX + XY + X''Z'' + WZ''') //eliminate WZ'
+disp('= WX + XY + X''Z''')
diff --git a/3827/CH3/EX3.6/Ex3_6.sce b/3827/CH3/EX3.6/Ex3_6.sce new file mode 100644 index 000000000..96751ee71 --- /dev/null +++ b/3827/CH3/EX3.6/Ex3_6.sce @@ -0,0 +1,14 @@ +//EX3_6: Simplify A′B′C′D′ + A′BC′D′ + A′BD + A′BC′D + ABCD + ACD′ + B′CD′
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('A′B′C′D′ + A′BC′D′ + A′BD + A′BC′D + ABCD + ACD′ + B′CD′')
+// Eliminating Repeated terms and applying the rule AB + AB' = A
+disp('= A′C′D′ + BD(A′ + AC) + ACD′ + B′CD′')
+disp('= A′C′D′ + A′BD + BCD + ACD′ + B′CD′')
+disp('= A′C′D′ + A′BD + BCD + ACD′ + B′CD′ + ABC') //consensus ACD′ and BCD
+disp('= A′C′D′ + A′BD + B′CD′ + ABC')
diff --git a/3827/CH3/EX3.7/Ex3_7.sce b/3827/CH3/EX3.7/Ex3_7.sce new file mode 100644 index 000000000..d33266de0 --- /dev/null +++ b/3827/CH3/EX3.7/Ex3_7.sce @@ -0,0 +1,12 @@ +//EX3_7: Simplify (A′ + B′ + C′)(A′ + B′ + C)(B′ + C)(A + C)(A + B + C)
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('(A′ + B′ + C′)(A′ + B′ + C)(B′ + C)(A + C)(A + B + C)')
+disp('= (A′ + B′)(B′ + C)(A + C)(A + B + C)')
+disp('= (A′ + B′)(B′ + C)(A + C)')
+disp('= (A′ + B′)(A + C)')
diff --git a/3827/CH3/EX3.8/Ex3_8.sce b/3827/CH3/EX3.8/Ex3_8.sce new file mode 100644 index 000000000..d4ea1bb5b --- /dev/null +++ b/3827/CH3/EX3.8/Ex3_8.sce @@ -0,0 +1,20 @@ +//EX3_8: Show that
+// A'BD' + BCD + ABC' + AB'D = BC'D' + AD + A'BC
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//Starting with the left side, we first add consensus terms, then combine terms and finally eliminate terms by the consensus theorem
+disp('A''BD'' + BCD + ABC'' + AB''D')
+//add consensus of A'BD' and ABC'
+//add consensus of A'BD' and BCD
+//add consensus of BCD and ABC'
+disp('= A''BD'' + BCD + ABC'' + AB''D + BC''D + A''BC + ABD')
+disp('= AD + A''BD'' + BCD + ABC'' + BC''D'' + A''BC')
+//eliminate consensus of BC'D' and AD
+//eliminate consensus of AD and A'BC
+//eliminate consensus of BC'D' and A'BC
+disp('= BC''D'' + AD + A''BC')
diff --git a/3827/CH3/EX3.9/Ex3_9.sce b/3827/CH3/EX3.9/Ex3_9.sce new file mode 100644 index 000000000..1282ce08d --- /dev/null +++ b/3827/CH3/EX3.9/Ex3_9.sce @@ -0,0 +1,25 @@ +//EX3_9: Show that
+//A'BC'D + (A' + BC)(A + C'D') + BC'D + A'BC'
+// = ABCD + A'C'D' + ABD + ABCD' + BC'D
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+//First, we will reduce the left side
+disp('LHS = A''BC''D + (A'' + BC)(A + C''D'') + BC''D + A''BC''')
+//Eliminate A''BC''D'' using absorption law
+disp('= (A'' + BC)(A + C''D'') + BC''D + A''BC''')
+//multiply out using (3-3)
+disp('= ABC + A''C''D'' + BC''D + A''BC''')
+//eliminate A''BC'' by consensus
+disp('= ABC + A''C''D'' + BC''D')
+//Now, we will reduce right side
+disp('RHS = ABCD + A''C''D'' + ABD + ABCD'' + BC''D')
+//Combining ABCD and ABCD'
+disp('= ABC + A''C''D'' + ABD + BC''D')
+//eliminate ABD by consensus
+disp('= ABC + A''C''D'' + BC''D')
+//Because both sides of the original equation were independently reduced to the same expression, the original equation is valid.
diff --git a/3827/CH4/EX4.1/EX4_1.sce b/3827/CH4/EX4.1/EX4_1.sce new file mode 100644 index 000000000..8b9f6d747 --- /dev/null +++ b/3827/CH4/EX4.1/EX4_1.sce @@ -0,0 +1,12 @@ +//EX4_1:Find the minterm expansion of f(a, b, c, d) = a′(b′ + d) + acd′.
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+disp('f = a''b'' + a''d + acd''');
+disp('= a''b''(c + c'')(d + d'') + a''d(b + b'')(c + c'') + acd''(b + b'')');
+disp('= a''b''c''d'' + a''b''c''d + a''b''cd'' + a''b''cd + a''bc''d + a''bcd + abcd'' + ab''cd''');
+disp('f = a''b''c''d'' + a''b''c''d + a''b''cd'' + a''b''cd + a''bc''d + a''bcd + abcd'' + ab''cd''');
+disp('f = Σ m(0, 1, 2, 3, 5, 7, 10, 14)');
diff --git a/3827/CH4/EX4.2/EX4_2.sce b/3827/CH4/EX4.2/EX4_2.sce new file mode 100644 index 000000000..e69b9440a --- /dev/null +++ b/3827/CH4/EX4.2/EX4_2.sce @@ -0,0 +1,14 @@ +//EX4_2:Show that a′c + b′c′ + ab = a′b′ + bc + ac′.
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp('LHS = a′c(b + b′) + b′c′(a + a′) + ab(c + c′)');
+disp('= a′bc + a′b′c + ab′c′ + a′b′c′ + abc + abc′');
+disp('= m3 + m1 + m4 + m0 + m7 + m6');
+disp('RHS = a′b′(c + c′) + bc(a + a′) + ac′(b + b′)');
+disp('= a′b′c + a′b′c + abc + a′bc + abc′ + ab′c′');
+disp('= m1 + m0 + m7 + m3 + m6 + m4');
diff --git a/3827/CH4/EX4.3/EX4_3.sce b/3827/CH4/EX4.3/EX4_3.sce new file mode 100644 index 000000000..0a2a0615f --- /dev/null +++ b/3827/CH4/EX4.3/EX4_3.sce @@ -0,0 +1,15 @@ +//EX4_3: Simple Binary Adder
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp(' A | B | X | Y |')
+disp('----------------')
+disp(' 0 | 0 | 0 | 0 |')
+disp(' 0 | 1 | 0 | 1 |')
+disp(' 1 | 0 | 0 | 1 |')
+disp(' 1 | 1 | 1 | 0 |')
+disp('X = AB and Y = A''B + AB'' = A⊕B')
diff --git a/3827/CH4/EX4.4/EX4_4.sce b/3827/CH4/EX4.4/EX4_4.sce new file mode 100644 index 000000000..863c0dc60 --- /dev/null +++ b/3827/CH4/EX4.4/EX4_4.sce @@ -0,0 +1,29 @@ +//EX4_4: Adder to add two 2-bit binary numbers and produce 3-bit sum
+
+//clears the screen
+clc
+
+//clears already existing variables
+clear
+
+disp(' A | B | C | D | X | Y | Z |')
+disp('----------------------------')
+disp(' 0 | 0 | 0 | 0 | 0 | 0 | 0 |')
+disp(' 0 | 0 | 0 | 1 | 0 | 0 | 1 |')
+disp(' 0 | 0 | 1 | 0 | 0 | 1 | 0 |')
+disp(' 0 | 0 | 1 | 1 | 0 | 1 | 1 |')
+disp(' 0 | 1 | 0 | 0 | 0 | 0 | 1 |')
+disp(' 0 | 1 | 0 | 1 | 0 | 1 | 0 |')
+disp(' 0 | 1 | 1 | 0 | 0 | 1 | 1 |')
+disp(' 0 | 1 | 1 | 1 | 1 | 0 | 0 |')
+disp(' 1 | 0 | 0 | 0 | 0 | 1 | 0 |')
+disp(' 1 | 0 | 0 | 1 | 0 | 1 | 1 |')
+disp(' 1 | 0 | 1 | 0 | 1 | 0 | 0 |')
+disp(' 1 | 0 | 1 | 1 | 1 | 0 | 1 |')
+disp(' 1 | 1 | 0 | 0 | 0 | 1 | 1 |')
+disp(' 1 | 1 | 0 | 1 | 1 | 0 | 0 |')
+disp(' 1 | 1 | 1 | 0 | 1 | 0 | 1 |')
+disp(' 1 | 1 | 1 | 1 | 1 | 1 | 0 |')
+disp('X(A,B,C,D) = Σm(7, 10, 11, 13, 14, 15)')
+disp('Y(A,B,C,D) = Σm(2, 3, 5, 6, 8, 9, 12, 15)')
+disp('Z(A,B,C,D) = Σm(1, 3, 4, 6, 9, 11, 12, 14)')
|