summaryrefslogtreecommitdiff
path: root/3860/CH3
diff options
context:
space:
mode:
Diffstat (limited to '3860/CH3')
-rw-r--r--3860/CH3/EX3.1/EX3_1.sce10
-rw-r--r--3860/CH3/EX3.1/Ex3_1.txt14
-rw-r--r--3860/CH3/EX3.10/EX3_10.sce51
-rw-r--r--3860/CH3/EX3.10/Ex3_10.txt31
-rw-r--r--3860/CH3/EX3.11/EX3_11.sce51
-rw-r--r--3860/CH3/EX3.11/Ex3_11.txt34
-rw-r--r--3860/CH3/EX3.12/EX3_12.sce53
-rw-r--r--3860/CH3/EX3.12/Ex3_12.txt36
-rw-r--r--3860/CH3/EX3.14/EX3_14.sce53
-rw-r--r--3860/CH3/EX3.14/Ex3_14.txt36
-rw-r--r--3860/CH3/EX3.15/EX3_15.sce52
-rw-r--r--3860/CH3/EX3.15/Ex3_15.txt33
-rw-r--r--3860/CH3/EX3.16/EX3_16.sce52
-rw-r--r--3860/CH3/EX3.16/Ex3_16.txt36
-rw-r--r--3860/CH3/EX3.17/EX3_17.sce49
-rw-r--r--3860/CH3/EX3.17/Ex3_17.txt31
-rw-r--r--3860/CH3/EX3.19/EX3_19.sce54
-rw-r--r--3860/CH3/EX3.19/Ex3_19.txt38
-rw-r--r--3860/CH3/EX3.2/EX3_2.sce9
-rw-r--r--3860/CH3/EX3.2/Ex3_2.txt10
-rw-r--r--3860/CH3/EX3.20/Ex3_20.sce12
-rw-r--r--3860/CH3/EX3.20/Ex3_20.txt16
-rw-r--r--3860/CH3/EX3.21/EX3_21.sce12
-rw-r--r--3860/CH3/EX3.21/Ex3_21.txt16
-rw-r--r--3860/CH3/EX3.22/EX3_22.sce15
-rw-r--r--3860/CH3/EX3.22/Ex3_22.txt22
-rw-r--r--3860/CH3/EX3.23/Ex3_23.sce12
-rw-r--r--3860/CH3/EX3.23/Ex3_23.txt16
-rw-r--r--3860/CH3/EX3.25/EX3_25.sce15
-rw-r--r--3860/CH3/EX3.25/Ex3_25.txt22
-rw-r--r--3860/CH3/EX3.3/Ex3_3.sce12
-rw-r--r--3860/CH3/EX3.3/Ex3_3.txt16
-rw-r--r--3860/CH3/EX3.4/Ex3_4.sce19
-rw-r--r--3860/CH3/EX3.4/Ex3_4.txt32
-rw-r--r--3860/CH3/EX3.40/Ex3_40.sce21
-rw-r--r--3860/CH3/EX3.40/Ex3_40.txt36
-rw-r--r--3860/CH3/EX3.5/EX3_5.sce48
-rw-r--r--3860/CH3/EX3.5/Ex3_5.txt28
-rw-r--r--3860/CH3/EX3.6/EX3_6.sce49
-rw-r--r--3860/CH3/EX3.6/Ex3_6.txt29
-rw-r--r--3860/CH3/EX3.7/Ex3_7.sce9
-rw-r--r--3860/CH3/EX3.7/Ex3_7.txt12
-rw-r--r--3860/CH3/EX3.8/EX3_8.sce52
-rw-r--r--3860/CH3/EX3.8/Ex3_8.txt31
-rw-r--r--3860/CH3/EX3.9/Ex3_9.sce11
-rw-r--r--3860/CH3/EX3.9/Ex3_9.txt16
46 files changed, 1312 insertions, 0 deletions
diff --git a/3860/CH3/EX3.1/EX3_1.sce b/3860/CH3/EX3.1/EX3_1.sce
new file mode 100644
index 000000000..89d13d7da
--- /dev/null
+++ b/3860/CH3/EX3.1/EX3_1.sce
@@ -0,0 +1,10 @@
+//Example 3.1: Combining minterms in karnaugh map
+clc; //clears the console
+clear; //clears all existing variables
+disp(' The given function is having three input variables A , B and C')
+disp(' the minterms in adjacent squares can always be combined using the adjacency property')
+disp(' m0 + m1 : A''B''C''+ A''B''C = A''B''')
+disp(' m4 + m6 : AB''C'' + ABC'' = AC''')
+disp(' m1 + m5 : ABC + AB''C = AC')
+disp(' m0 + m4 : A''B''C'' + AB''C'' = B''C''')
+disp(' m1 + m5 : A''B''C + AB''C = B''C')
diff --git a/3860/CH3/EX3.1/Ex3_1.txt b/3860/CH3/EX3.1/Ex3_1.txt
new file mode 100644
index 000000000..6b7529c7e
--- /dev/null
+++ b/3860/CH3/EX3.1/Ex3_1.txt
@@ -0,0 +1,14 @@
+
+ The given function is having three input variables A , B and C
+
+ the minterms in adjacent squares can always be combined using the adjacency property
+
+ m0 + m1 : A'B'C'+ A'B'C = A'B'
+
+ m4 + m6 : AB'C' + ABC' = AC'
+
+ m1 + m5 : ABC + AB'C = AC
+
+ m0 + m4 : A'B'C' + AB'C' = B'C'
+
+ m1 + m5 : A'B'C + AB'C = B'C \ No newline at end of file
diff --git a/3860/CH3/EX3.10/EX3_10.sce b/3860/CH3/EX3.10/EX3_10.sce
new file mode 100644
index 000000000..c49d62aba
--- /dev/null
+++ b/3860/CH3/EX3.10/EX3_10.sce
@@ -0,0 +1,51 @@
+//Example 3.10: Reduce expression using k-map *Don't be greedy*
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp('This example is called as **Dont be greedy**')
+disp(' A''B'' A''B AB AB'' ')
+disp('C''D'' 1 ')
+disp('CD'' 1 1 1 ')
+disp('CD 1 1 1 ')
+disp('CD'' 1 ')
+disp(' From the map, high outputs are for 1,5,6,7,11,12,13,15 ')
+//given logic equation//
+a=[0 0 0 1;0 1 0 1;0 1 1 0;0 1 1 1 ;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 1']
+disp(a)
+for i=1: 8
+ if a(i,1)==1 then
+ b(i,1)='A'
+ else
+ b(i,1)='A'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='B'
+ else
+ b(i,2)='B'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='C'
+ else
+ b(i,3)='C'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='D'
+ else
+ b(i,4)=' D'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8]
+disp(x)
+//Expression is displayed//
+disp('Reduced expression using boolean algebra')
+disp('G= A''BC'' + A''CD + ABC + AC''D')
+
diff --git a/3860/CH3/EX3.10/Ex3_10.txt b/3860/CH3/EX3.10/Ex3_10.txt
new file mode 100644
index 000000000..91ee090f0
--- /dev/null
+++ b/3860/CH3/EX3.10/Ex3_10.txt
@@ -0,0 +1,31 @@
+
+ This example is called as **Dont be greedy**
+
+ A'B' A'B AB AB'
+
+ C'D' 1
+
+ CD' 1 1 1
+
+ CD 1 1 1
+
+ CD' 1
+
+ From the map, high outputs are for 1,5,6,7,11,12,13,15
+
+ 0. 0. 0. 1.
+ 0. 1. 0. 1.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!A'B'C'D + A'BC'D + A'BC D' + A'BCD + AB'CD + ABC' D' + ABC'D + ABCD !
+
+ Reduced expression using boolean algebra
+
+ G= A'BC' + A'CD + ABC + AC'D \ No newline at end of file
diff --git a/3860/CH3/EX3.11/EX3_11.sce b/3860/CH3/EX3.11/EX3_11.sce
new file mode 100644
index 000000000..fd3e83dba
--- /dev/null
+++ b/3860/CH3/EX3.11/EX3_11.sce
@@ -0,0 +1,51 @@
+//Example 3.11: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' W''X'' W''X WX WX'' ')
+disp('Y''Z'' - ')
+disp('YZ'' 1 1 1 ')
+disp('YZ 1 1 1')
+disp('YZ'' 1 1 1')
+disp(' From the map, high outputs are for 5,6,7,8,9,10,13,14,15 ') //given logic equation
+a=[0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0 ;1 0 0 1;1 0 1 0;1 1 0 1;1 1 0 0 ; 1 1 1 1']
+disp(a)
+for i=1: 9
+ if a(i,1)==1 then
+ b(i,1)='W'
+ else
+ b(i,1)='W'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='X'
+ else
+ b(i,2)='X'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='Y'
+ else
+ b(i,3)='Y'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='Z'
+ else
+ b(i,4)=' Z'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9]
+disp(x)
+//Expression is displayed//
+disp('Three different reduced expression using boolean algebra')
+disp('G = XZ + WZ + W''YZ'' + WX''Y')
+disp('G = XZ + WZ + W''YZ'' + X''YZ''')
+disp('G = XZ + WZ + X''YZ'' + W''XY')
diff --git a/3860/CH3/EX3.11/Ex3_11.txt b/3860/CH3/EX3.11/Ex3_11.txt
new file mode 100644
index 000000000..a8909d166
--- /dev/null
+++ b/3860/CH3/EX3.11/Ex3_11.txt
@@ -0,0 +1,34 @@
+
+ W'X' W'X WX WX'
+
+ Y'Z' -
+
+ YZ' 1 1 1
+
+ YZ 1 1 1
+
+ YZ' 1 1 1
+
+ From the map, high outputs are for 5,6,7,8,9,10,13,14,15
+
+ 0. 1. 0. 1.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 0. 1.
+ 1. 0. 1. 0.
+ 1. 1. 0. 1.
+ 1. 1. 0. 0.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!W'XY'Z + W'XY Z' + W'XYZ + WX'Y' Z' + WX'Y'Z + WX'Y Z' + WXY'Z + WXY' Z' + WXYZ !
+
+ Three different reduced expression using boolean algebra
+
+ G = XZ + WZ + W'YZ' + WX'Y
+
+ G = XZ + WZ + W'YZ' + X'YZ'
+
+ G = XZ + WZ + X'YZ' + W'XY
diff --git a/3860/CH3/EX3.12/EX3_12.sce b/3860/CH3/EX3.12/EX3_12.sce
new file mode 100644
index 000000000..d8dbcf339
--- /dev/null
+++ b/3860/CH3/EX3.12/EX3_12.sce
@@ -0,0 +1,53 @@
+//Example 3.12: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' A''B'' A''B AB AB'' ')
+disp('C''D'' 1 1 1 ')
+disp('CD'' 1 1')
+disp('CD 1 1 1')
+disp('CD'' 1 1 1')
+disp(' From the map, high outputs are for 0,1,2,6,7,8,10,11, 12,13,14') //given logic equation
+a=[0 0 0 0;0 0 0 1;0 0 1 0;0 1 1 0 ;0 1 1 1;1 0 0 0;1 0 1 0 ;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0]
+disp(a)
+for i=1: 11
+ if a(i,1)==1 then
+ b(i,1)='A'
+ else
+ b(i,1)='A'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='B'
+ else
+ b(i,2)='B'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='C'
+ else
+ b(i,3)='C'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='D'
+ else
+ b(i,4)=' D'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x10=strcat([ b(10,1),b(10,2),b(10,3),b(10,4) ])
+x11=strcat([ b(11,1),b(11,2),b(11,3),b(11,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9"+",x10"+",x11]
+disp(x)
+//Expression is displayed//
+disp('The resulting three equally good answers are')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + B''D'' + AB''')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + B''D'' + B''C')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + AB'' + B''C')
diff --git a/3860/CH3/EX3.12/Ex3_12.txt b/3860/CH3/EX3.12/Ex3_12.txt
new file mode 100644
index 000000000..5d94b5bd1
--- /dev/null
+++ b/3860/CH3/EX3.12/Ex3_12.txt
@@ -0,0 +1,36 @@
+
+ A'B' A'B AB AB'
+
+ C'D' 1 1 1
+
+ CD' 1 1
+
+ CD 1 1 1
+
+ CD' 1 1 1
+
+ From the map, high outputs are for 0,1,2,6,7,8,10,11, 12,13,14
+
+ 0. 0. 0. 0.
+ 0. 0. 0. 1.
+ 0. 0. 1. 0.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 1. 0.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 0.
+
+ Evaluating expression from truth table and map
+
+!A'B'C' D' + A'B'C'D + A'B'C D' + A'BC D' + A'BCD + AB'C' D' + AB'C D' + AB'CD + ABC' D' + ABC'D + ABC D' !
+
+ The resulting three equally good answers are
+
+ F = A'C'D' + AC'D + A'CD + ACD' + B'D' + AB'
+
+ F = A'C'D' + AC'D + A'CD + ACD' + B'D' + B'C
+
+ F = A'C'D' + AC'D + A'CD + ACD' + AB' + B'C \ No newline at end of file
diff --git a/3860/CH3/EX3.14/EX3_14.sce b/3860/CH3/EX3.14/EX3_14.sce
new file mode 100644
index 000000000..4a7a18595
--- /dev/null
+++ b/3860/CH3/EX3.14/EX3_14.sce
@@ -0,0 +1,53 @@
+//Example 3.14: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' A''B'' A''B AB AB'' ')
+disp('C''D'' 1 1 1 ')
+disp('CD'' 1 1')
+disp('CD 1 1 1')
+disp('CD'' 1 1 1')
+disp(' From the map, high outputs are for 0,1,2,6,7,8,10,11, 12,13,14') //given logic equation
+a=[0 0 0 0;0 0 0 1;0 0 1 0;0 1 1 0 ;0 1 1 1;1 0 0 0;1 0 1 0 ;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0]
+disp(a)
+for i=1: 11
+ if a(i,1)==1 then
+ b(i,1)='A'
+ else
+ b(i,1)='A'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='B'
+ else
+ b(i,2)='B'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='C'
+ else
+ b(i,3)='C'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='D'
+ else
+ b(i,4)=' D'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x10=strcat([ b(10,1),b(10,2),b(10,3),b(10,4) ])
+x11=strcat([ b(11,1),b(11,2),b(11,3),b(11,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9"+",x10"+",x11]
+disp(x)
+//Expression is displayed//
+disp('The resulting three equally good answers are')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + B''D'' + AB''')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + B''D'' + B''C')
+disp('F = A''C''D'' + AC''D + A''CD + ACD'' + AB'' + B''C')
diff --git a/3860/CH3/EX3.14/Ex3_14.txt b/3860/CH3/EX3.14/Ex3_14.txt
new file mode 100644
index 000000000..5d94b5bd1
--- /dev/null
+++ b/3860/CH3/EX3.14/Ex3_14.txt
@@ -0,0 +1,36 @@
+
+ A'B' A'B AB AB'
+
+ C'D' 1 1 1
+
+ CD' 1 1
+
+ CD 1 1 1
+
+ CD' 1 1 1
+
+ From the map, high outputs are for 0,1,2,6,7,8,10,11, 12,13,14
+
+ 0. 0. 0. 0.
+ 0. 0. 0. 1.
+ 0. 0. 1. 0.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 1. 0.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 0.
+
+ Evaluating expression from truth table and map
+
+!A'B'C' D' + A'B'C'D + A'B'C D' + A'BC D' + A'BCD + AB'C' D' + AB'C D' + AB'CD + ABC' D' + ABC'D + ABC D' !
+
+ The resulting three equally good answers are
+
+ F = A'C'D' + AC'D + A'CD + ACD' + B'D' + AB'
+
+ F = A'C'D' + AC'D + A'CD + ACD' + B'D' + B'C
+
+ F = A'C'D' + AC'D + A'CD + ACD' + AB' + B'C \ No newline at end of file
diff --git a/3860/CH3/EX3.15/EX3_15.sce b/3860/CH3/EX3.15/EX3_15.sce
new file mode 100644
index 000000000..e9ca3c720
--- /dev/null
+++ b/3860/CH3/EX3.15/EX3_15.sce
@@ -0,0 +1,52 @@
+//Example 3.15: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' A''B'' A''B AB AB'' ')
+disp('C''D'' 1 1 ')
+disp('CD'' 1 1 1 1')
+disp('CD 1 1 1')
+disp('CD'' 1 1 1')
+disp(' From the map, high outputs are for 0,2,4,5,6,7,8,10,11, 12,14,15') //given logic equation
+a=[0 0 0 0;0 0 1 0;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 1 0 ;1 0 1 1;1 1 0 0;1 1 1 0;1 1 1 1]
+disp(a)
+for i=1: 11
+ if a(i,1)==1 then
+ b(i,1)='A'
+ else
+ b(i,1)='A'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='B'
+ else
+ b(i,2)='B'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='C'
+ else
+ b(i,3)='C'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='D'
+ else
+ b(i,4)=' D'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x10=strcat([ b(10,1),b(10,2),b(10,3),b(10,4) ])
+x11=strcat([ b(11,1),b(11,2),b(11,3),b(11,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9"+",x10"+",x11]
+disp(x)
+//Expression is displayed//
+disp('The resulting solution is')
+disp('F = A''B'' + C''D + B''D'' + ABC')
+
diff --git a/3860/CH3/EX3.15/Ex3_15.txt b/3860/CH3/EX3.15/Ex3_15.txt
new file mode 100644
index 000000000..7470e15c4
--- /dev/null
+++ b/3860/CH3/EX3.15/Ex3_15.txt
@@ -0,0 +1,33 @@
+
+ A'B' A'B AB AB'
+
+ C'D' 1 1
+
+ CD' 1 1 1 1
+
+ CD 1 1 1
+
+ CD' 1 1 1
+
+ From the map, high outputs are for 0,2,4,5,6,7,8,10,11, 12,14,15
+
+ 0. 0. 0. 0.
+ 0. 0. 1. 0.
+ 0. 1. 0. 0.
+ 0. 1. 0. 1.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 1. 0.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 1. 0.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!A'B'C' D' + A'B'C D' + A'BC' D' + A'BC'D + A'BC D' + A'BCD + AB'C' D' + AB'C D' + AB'CD + ABC' D' + ABC D' !
+
+ The resulting solution is
+
+ F = A'B' + C'D + B'D' + ABC \ No newline at end of file
diff --git a/3860/CH3/EX3.16/EX3_16.sce b/3860/CH3/EX3.16/EX3_16.sce
new file mode 100644
index 000000000..c04d15a91
--- /dev/null
+++ b/3860/CH3/EX3.16/EX3_16.sce
@@ -0,0 +1,52 @@
+//Example 3.16: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' W''X'' W''X WX WX'' ')
+disp('Y''Z'' 1 1 1 ')
+disp('YZ'' 1 1 ')
+disp('YZ 1 1')
+disp('YZ'' 1 1 ')
+disp(' From the map, high outputs are for 0,1,3,7,8,11,12,13,15 ') //given logic equation
+a=[0 0 0 0;0 0 0 1;0 0 1 1;0 1 1 1 ;1 0 0 0; 1 0 1 1 ;1 1 0 0;1 1 0 1 ;1 1 1 1']
+disp(a)
+for i=1: 9
+ if a(i,1)==1 then
+ b(i,1)='W'
+ else
+ b(i,1)='W'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='X'
+ else
+ b(i,2)='X'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='Y'
+ else
+ b(i,3)='Y'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='Z'
+ else
+ b(i,4)=' Z'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9]
+disp(x)
+//Expression is displayed//
+disp('The four probable solutions are')
+disp('F = YZ + W''X''Z + X''Y''Z'' + WXY''')
+disp('F = YZ + W''X''Y'' + X''Y''Z'' + WXY''')
+disp('F = YZ + W''X''Y'' + WY''Z'' + WXY''')
+disp('F = YZ + W''X''Y'' + WY''Z'' + WXZ')
diff --git a/3860/CH3/EX3.16/Ex3_16.txt b/3860/CH3/EX3.16/Ex3_16.txt
new file mode 100644
index 000000000..f04effafc
--- /dev/null
+++ b/3860/CH3/EX3.16/Ex3_16.txt
@@ -0,0 +1,36 @@
+
+ W'X' W'X WX WX'
+
+ Y'Z' 1 1 1
+
+ YZ' 1 1
+
+ YZ 1 1
+
+ YZ' 1 1
+
+ From the map, high outputs are for 0,1,3,7,8,11,12,13,15
+
+ 0. 0. 0. 0.
+ 0. 0. 0. 1.
+ 0. 0. 1. 1.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!W'X'Y' Z' + W'X'Y'Z + W'X'YZ + W'XYZ + WX'Y' Z' + WX'YZ + WXY' Z' + WXY'Z + WXYZ !
+
+ The four probable solutions are
+
+ F = YZ + W'X'Z + X'Y'Z' + WXY'
+
+ F = YZ + W'X'Y' + X'Y'Z' + WXY'
+
+ F = YZ + W'X'Y' + WY'Z' + WXY'
+
+ F = YZ + W'X'Y' + WY'Z' + WXZ \ No newline at end of file
diff --git a/3860/CH3/EX3.17/EX3_17.sce b/3860/CH3/EX3.17/EX3_17.sce
new file mode 100644
index 000000000..f5c658bd5
--- /dev/null
+++ b/3860/CH3/EX3.17/EX3_17.sce
@@ -0,0 +1,49 @@
+//Example 3.17: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' a''b'' a''b ab ab'' ')
+disp('c''d'' 1 1 ')
+disp('cd'' 1 1 ')
+disp('cd 1 1')
+disp('cd'' 1 1')
+disp(' From the map, high outputs are for 0,1,5,7,8,10,14,15') //given logic equation
+a=[0 0 0 0;0 0 0 1;0 1 0 1;0 1 1 1;1 0 0 0;1 0 1 0 ;1 1 1 0;1 1 1 1]
+disp(a)
+for i=1: 8
+ if a(i,1)==1 then
+ b(i,1)='a'
+ else
+ b(i,1)='a'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='b'
+ else
+ b(i,2)='b'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='c'
+ else
+ b(i,3)='c'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='d'
+ else
+ b(i,4)=' d'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8]
+disp(x)
+//Expression is displayed//
+disp('The resulting two possible solution are')
+disp('F = a''c''d'' + bc''d + acd + b''cd''')
+disp('F = a''b''d'' + a''bc'' + abd + ab''c')
diff --git a/3860/CH3/EX3.17/Ex3_17.txt b/3860/CH3/EX3.17/Ex3_17.txt
new file mode 100644
index 000000000..f6cafe7dc
--- /dev/null
+++ b/3860/CH3/EX3.17/Ex3_17.txt
@@ -0,0 +1,31 @@
+
+ a'b' a'b ab ab'
+
+ c'd' 1 1
+
+ cd' 1 1
+
+ cd 1 1
+
+ cd' 1 1
+
+ From the map, high outputs are for 0,1,5,7,8,10,14,15
+
+ 0. 0. 0. 0.
+ 0. 0. 0. 1.
+ 0. 1. 0. 1.
+ 0. 1. 1. 1.
+ 1. 0. 0. 0.
+ 1. 0. 1. 0.
+ 1. 1. 1. 0.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!a'b'c' d' + a'b'c'd + a'bc'd + a'bcd + ab'c' d' + ab'c d' + abc d' + abcd !
+
+ The resulting two possible solution are
+
+ F = a'c'd' + bc'd + acd + b'cd'
+
+ F = a'b'd' + a'bc' + abd + ab'c \ No newline at end of file
diff --git a/3860/CH3/EX3.19/EX3_19.sce b/3860/CH3/EX3.19/EX3_19.sce
new file mode 100644
index 000000000..c7b418791
--- /dev/null
+++ b/3860/CH3/EX3.19/EX3_19.sce
@@ -0,0 +1,54 @@
+//Example 3.19: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' a''b'' a''b ab ab'' ')
+disp('c''d'' 1 1 1 1')
+disp('cd'' 1 X ')
+disp('cd 1 1 1')
+disp('cd'' 1 1 1')
+disp(' From the map, high outputs are for 0,3,5,6,7,9,10,11,12,13,14') //given logic equation
+a=[0 0 0 0;0 0 1 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0 ;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0]
+disp(a)
+for i=1: 11
+ if a(i,1)==1 then
+ b(i,1)='a'
+ else
+ b(i,1)='a'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='b'
+ else
+ b(i,2)='b'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='c'
+ else
+ b(i,3)='c'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='d'
+ else
+ b(i,4)=' d'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x10=strcat([ b(10,1),b(10,2),b(10,3),b(10,4) ])
+x11=strcat([ b(11,1),b(11,2),b(11,3),b(11,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9"+",x10"+",x11]
+disp(x)
+//Expression is displayed//
+disp('There are 32 different minimum solutions to the given problem. some of them are')
+disp('F = a''b''c''d'' + a''cd + bc''d + ab''d + abc''+ acd''')
+disp('F = a''b''c''d'' + a''cd + bc''d + abd'' + bcd''+ ab''c')
+disp('F = a''b''c''d'' + b''cd + a''bd + bcd''+ ab''c+ ab''d')
+disp('F = a''b''c''d'' + abc'' + a''bd + bcd''+ ab''c+ ab''d')
diff --git a/3860/CH3/EX3.19/Ex3_19.txt b/3860/CH3/EX3.19/Ex3_19.txt
new file mode 100644
index 000000000..5ea43bf30
--- /dev/null
+++ b/3860/CH3/EX3.19/Ex3_19.txt
@@ -0,0 +1,38 @@
+
+ a'b' a'b ab ab'
+
+ c'd' 1 1 1 1
+
+ cd' 1 X
+
+ cd 1 1 1
+
+ cd' 1 1 1
+
+ From the map, high outputs are for 0,3,5,6,7,9,10,11,12,13,14
+
+ 0. 0. 0. 0.
+ 0. 0. 1. 0.
+ 0. 1. 0. 1.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 0. 0. 1.
+ 1. 0. 1. 0.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 0.
+
+ Evaluating expression from truth table and map
+
+!a'b'c' d' + a'b'c d' + a'bc'd + a'bc d' + a'bcd + ab'c'd + ab'c d' + ab'cd + abc' d' + abc'd + abc d' !
+
+ There are 32 different minimum solutions to the given problem. some of them are
+
+ F = a'b'c'd' + a'cd + bc'd + ab'd + abc'+ acd'
+
+ F = a'b'c'd' + a'cd + bc'd + abd' + bcd'+ ab'c
+
+ F = a'b'c'd' + b'cd + a'bd + bcd'+ ab'c+ ab'd
+
+ F = a'b'c'd' + abc' + a'bd + bcd'+ ab'c+ ab'd \ No newline at end of file
diff --git a/3860/CH3/EX3.2/EX3_2.sce b/3860/CH3/EX3.2/EX3_2.sce
new file mode 100644
index 000000000..1e46748d0
--- /dev/null
+++ b/3860/CH3/EX3.2/EX3_2.sce
@@ -0,0 +1,9 @@
+//Example 3.2: Combining minterms in four variable karnaugh map
+clc; //clears the console
+clear; //clears all existing variables
+disp(' The given function is having four input variables A , B , C and D')
+disp(' The minterms are be combined using the adjacency property')
+disp(' m13 + m9 : ABC''D + AB''C''D = AC''D')
+disp(' m3 + m11 : A''B''CD + AB''CD = B''CD')
+disp(' m0 + m2 : A''B''C''D'' + A''B''CD'' = A''B''D''')
+
diff --git a/3860/CH3/EX3.2/Ex3_2.txt b/3860/CH3/EX3.2/Ex3_2.txt
new file mode 100644
index 000000000..8073ebef5
--- /dev/null
+++ b/3860/CH3/EX3.2/Ex3_2.txt
@@ -0,0 +1,10 @@
+
+ The given function is having four input variables A , B , C and D
+
+ The minterms are be combined using the adjacency property
+
+ m13 + m9 : ABC'D + AB'C'D = AC'D
+
+ m3 + m11 : A'B'CD + AB'CD = B'CD
+
+ m0 + m2 : A'B'C'D' + A'B'CD' = A'B'D'
diff --git a/3860/CH3/EX3.20/Ex3_20.sce b/3860/CH3/EX3.20/Ex3_20.sce
new file mode 100644
index 000000000..22c16b9c8
--- /dev/null
+++ b/3860/CH3/EX3.20/Ex3_20.sce
@@ -0,0 +1,12 @@
+//Example 3.20 Simplify expression using k-map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('F = m(1,7,10,11,13)+ d(5,8,15)')
+disp(' A''B'' A''B AB AB''')
+disp('C''D'' X')
+disp('C''D 1 X 1')
+disp('CD 1 X 1')
+disp('CD'' 1') //The kmap for F is displayed//
+disp('The solution for F is')
+disp('F = AC + ABD''+ CD''')
+
diff --git a/3860/CH3/EX3.20/Ex3_20.txt b/3860/CH3/EX3.20/Ex3_20.txt
new file mode 100644
index 000000000..cb7fbdffc
--- /dev/null
+++ b/3860/CH3/EX3.20/Ex3_20.txt
@@ -0,0 +1,16 @@
+
+ F = m(1,7,10,11,13)+ d(5,8,15)
+
+ A'B' A'B AB AB'
+
+ C'D' X
+
+ C'D 1 X 1
+
+ CD 1 X 1
+
+ CD' 1
+
+ The solution for F is
+
+ F = AC + ABD'+ CD' \ No newline at end of file
diff --git a/3860/CH3/EX3.21/EX3_21.sce b/3860/CH3/EX3.21/EX3_21.sce
new file mode 100644
index 000000000..fdfd72f43
--- /dev/null
+++ b/3860/CH3/EX3.21/EX3_21.sce
@@ -0,0 +1,12 @@
+//Example 3.21: Reduce expression using k-map with dont cares.
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' W''X'' W''X WX WX'' ')
+disp('Y''Z'' X 1 1 ')
+disp('YZ'' X 1 1 ')
+disp('YZ X 1 1')
+disp('YZ'' X ')// the k-map is displayed.
+disp('g1 = x''z + w''yz + w''y''z'' + wxy''')
+disp('g2 = x''z + w''yz + xy''z'' + wxy''')
+disp('g3 = x''z + w''yz + xy''z'' + wy''z')
diff --git a/3860/CH3/EX3.21/Ex3_21.txt b/3860/CH3/EX3.21/Ex3_21.txt
new file mode 100644
index 000000000..646ae9aec
--- /dev/null
+++ b/3860/CH3/EX3.21/Ex3_21.txt
@@ -0,0 +1,16 @@
+
+ W'X' W'X WX WX'
+
+ Y'Z' X 1 1
+
+ YZ' X 1 1
+
+ YZ X 1 1
+
+ YZ' X
+
+ g1 = x'z + w'yz + w'y'z' + wxy'
+
+ g2 = x'z + w'yz + xy'z' + wxy'
+
+ g3 = x'z + w'yz + xy'z' + wy'z \ No newline at end of file
diff --git a/3860/CH3/EX3.22/EX3_22.sce b/3860/CH3/EX3.22/EX3_22.sce
new file mode 100644
index 000000000..c5eed3302
--- /dev/null
+++ b/3860/CH3/EX3.22/EX3_22.sce
@@ -0,0 +1,15 @@
+//Example 3.22: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp('f(a,b,c,d) = summation of minterms(0,1,4,5,10,11,14)')
+disp('The function f''(a,b,c,d) = summation of minterms(2,3,6,7,8,9,12,13,15)')
+disp(' a''b'' a''b ab ab'' ')
+disp('c''d'' 1 1 ')
+disp('cd'' 1 1 ')
+disp('cd 1')
+disp('cd'' 1 1')
+disp('The three solutions are given below')
+disp(' g1 = c''d'' + ab + b''d'' + a''cd')
+disp(' g2 = c''d'' + ab + b''d'' + a''b''c')
+disp(' g3 = c''d'' + ab + a''d'' + a''b''c')
diff --git a/3860/CH3/EX3.22/Ex3_22.txt b/3860/CH3/EX3.22/Ex3_22.txt
new file mode 100644
index 000000000..948ea461d
--- /dev/null
+++ b/3860/CH3/EX3.22/Ex3_22.txt
@@ -0,0 +1,22 @@
+
+ f(a,b,c,d) = summation of minterms(0,1,4,5,10,11,14)
+
+ The function f'(a,b,c,d) = summation of minterms(2,3,6,7,8,9,12,13,15)
+
+ a'b' a'b ab ab'
+
+ c'd' 1 1
+
+ cd' 1 1
+
+ cd 1
+
+ cd' 1 1
+
+ The three solutions are given below
+
+ g1 = c'd' + ab + b'd' + a'cd
+
+ g2 = c'd' + ab + b'd' + a'b'c
+
+ g3 = c'd' + ab + a'd' + a'b'c \ No newline at end of file
diff --git a/3860/CH3/EX3.23/Ex3_23.sce b/3860/CH3/EX3.23/Ex3_23.sce
new file mode 100644
index 000000000..5f5de61e1
--- /dev/null
+++ b/3860/CH3/EX3.23/Ex3_23.sce
@@ -0,0 +1,12 @@
+//Example 3.23 Simplify expression using k-map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('F = m(0,3,4,5,6,7,8,10,11,14,15)')
+disp(' A''B'' A''B AB AB''')
+disp('C''D'' 1 1 1')
+disp('C''D 1 ')
+disp('CD 1 1 1 1')
+disp('CD'' 1 1 1') //The kmap for F is displayed//
+disp('The solution for F is')
+disp('F = A''B + CD + AC + B''C''D''')
+
diff --git a/3860/CH3/EX3.23/Ex3_23.txt b/3860/CH3/EX3.23/Ex3_23.txt
new file mode 100644
index 000000000..3d2266ecd
--- /dev/null
+++ b/3860/CH3/EX3.23/Ex3_23.txt
@@ -0,0 +1,16 @@
+
+ F = m(0,3,4,5,6,7,8,10,11,14,15)
+
+ A'B' A'B AB AB'
+
+ C'D' 1 1 1
+
+ C'D 1
+
+ CD 1 1 1 1
+
+ CD' 1 1 1
+
+ The solution for F is
+
+ F = A'B + CD + AC + B'C'D' \ No newline at end of file
diff --git a/3860/CH3/EX3.25/EX3_25.sce b/3860/CH3/EX3.25/EX3_25.sce
new file mode 100644
index 000000000..6a8ce7235
--- /dev/null
+++ b/3860/CH3/EX3.25/EX3_25.sce
@@ -0,0 +1,15 @@
+//Example 3.25: Reduce expression using k-map in both POS and SOP form
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp('f(a,b,c,d) = summation of minterms(0,1,4,5,10,11,14)')
+disp('The function f''(a,b,c,d) = summation of minterms(2,3,6,7,8,9,12,13,15)')
+disp(' a''b'' a''b ab ab'' ')
+disp('c''d'' 1 1 ')
+disp('cd'' 1 1 ')
+disp('cd 1')
+disp('cd'' 1 1')
+disp('The one minimum solution for f and the two equally good solution ofr sum of products for f'' are')
+disp(' f = a''c'' + ab''c + acd''')
+disp('f'' = ac'' + a''c + abd')
+disp(' f'' = ac'' + a''c + bcd')
diff --git a/3860/CH3/EX3.25/Ex3_25.txt b/3860/CH3/EX3.25/Ex3_25.txt
new file mode 100644
index 000000000..101ca6eae
--- /dev/null
+++ b/3860/CH3/EX3.25/Ex3_25.txt
@@ -0,0 +1,22 @@
+
+ f(a,b,c,d) = summation of minterms(0,1,4,5,10,11,14)
+
+ The function f'(a,b,c,d) = summation of minterms(2,3,6,7,8,9,12,13,15)
+
+ a'b' a'b ab ab'
+
+ c'd' 1 1
+
+ cd' 1 1
+
+ cd 1
+
+ cd' 1 1
+
+ The one minimum solution for f and the two equally good solution ofr sum of products for f' are
+
+ f = a'c' + ab'c + acd'
+
+ f' = ac' + a'c + abd
+
+ f' = ac' + a'c + bcd \ No newline at end of file
diff --git a/3860/CH3/EX3.3/Ex3_3.sce b/3860/CH3/EX3.3/Ex3_3.sce
new file mode 100644
index 000000000..71faa7fd0
--- /dev/null
+++ b/3860/CH3/EX3.3/Ex3_3.sce
@@ -0,0 +1,12 @@
+//Example 3.3 Expression Mapping
+clc; //clears the console window
+clear; //clears the variable browser
+disp('F = AB'' + AC + A''BC''')
+disp('F = AB''(C'' + C) + AC(B'' + B) + A''BC''')
+disp('F = AB''C'' + AB''C + AB''C + ABC + A''BC''')
+disp('m4 + m5 + m5 + m7 + m2')
+disp('m2 + m5 + m7 + m4')//removing duplicates and reordering
+disp(' A''B'' A''B AB AB''')
+disp('C'' - 1 - 1')
+disp('C - - 1 1') //The kmap for F is displayed//
+
diff --git a/3860/CH3/EX3.3/Ex3_3.txt b/3860/CH3/EX3.3/Ex3_3.txt
new file mode 100644
index 000000000..ab1810b7e
--- /dev/null
+++ b/3860/CH3/EX3.3/Ex3_3.txt
@@ -0,0 +1,16 @@
+
+ F = AB' + AC + A'BC'
+
+ F = AB'(C' + C) + AC(B' + B) + A'BC'
+
+ F = AB'C' + AB'C + AB'C + ABC + A'BC'
+
+ m4 + m5 + m5 + m7 + m2
+
+ m2 + m5 + m7 + m4
+
+ A'B' A'B AB AB'
+
+ C' - 1 - 1
+
+ C - - 1 1 \ No newline at end of file
diff --git a/3860/CH3/EX3.4/Ex3_4.sce b/3860/CH3/EX3.4/Ex3_4.sce
new file mode 100644
index 000000000..7b352c75e
--- /dev/null
+++ b/3860/CH3/EX3.4/Ex3_4.sce
@@ -0,0 +1,19 @@
+//Example 3.4 Simplify expression using k-map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('The given K map for function G = ')
+disp(' A''B'' A''B AB AB''')
+disp('C''D'' ')
+disp('C''D 1 ')
+disp('CD 1 ')
+disp('CD'' 1 ') //The kmap for G is displayed//
+disp('The given K map for function H = ')
+disp(' A''B'' A''B AB AB''')
+disp('C''D'' ')
+disp('C''D 1 1 ')
+disp('CD 1 ')
+disp('CD'' 1 ') //The kmap for H is displayed//
+disp('The solution for G is')
+disp('G = ABC + ABD')
+disp('The solution for H is')
+disp('H = BC''D + ABC')
diff --git a/3860/CH3/EX3.4/Ex3_4.txt b/3860/CH3/EX3.4/Ex3_4.txt
new file mode 100644
index 000000000..1d63cf505
--- /dev/null
+++ b/3860/CH3/EX3.4/Ex3_4.txt
@@ -0,0 +1,32 @@
+
+ The given K map for function G =
+
+ A'B' A'B AB AB'
+
+ C'D'
+
+ C'D 1
+
+ CD 1
+
+ CD' 1
+
+ The given K map for function H =
+
+ A'B' A'B AB AB'
+
+ C'D'
+
+ C'D 1 1
+
+ CD 1
+
+ CD' 1
+
+ The solution for G is
+
+ G = ABC + ABD
+
+ The solution for H is
+
+ H = BC'D + ABC
diff --git a/3860/CH3/EX3.40/Ex3_40.sce b/3860/CH3/EX3.40/Ex3_40.sce
new file mode 100644
index 000000000..509c5c324
--- /dev/null
+++ b/3860/CH3/EX3.40/Ex3_40.sce
@@ -0,0 +1,21 @@
+//Example 3.40 Simplify expression using k-map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('F = m(2,3,4,6,9,11,12)+ d(0,1,14,15)')
+disp(' C''D'' C''D CD CD''')
+disp('A''B'' X 1 1 0')
+disp('A''B X 0 0 1')
+disp('AB 1 0 X 1')
+disp('AB'' 1 1 X 0') //The kmap for F is displayed//
+disp('G = m(2,3,4,6,9,11,12)+ d(0,1,14,15)')
+disp(' C''D'' C''D CD CD''')
+disp('A''B'' X 0 1 0')
+disp('A''B X 0 0 0')
+disp('AB 0 0 X 1')
+disp('AB'' 1 1 X 1') //The kmap for G is displayed//
+disp('The one solution for F and G:')
+disp('F = B''D + ABD''+ A''D''')
+disp('G = AC + ABD''+ CD''')
+disp('The other solution for F and G: ')
+disp('F = B''D + A''CD'' + BD''')
+disp('G = AC + ABD'' + A''CD''')
diff --git a/3860/CH3/EX3.40/Ex3_40.txt b/3860/CH3/EX3.40/Ex3_40.txt
new file mode 100644
index 000000000..2b71d6f2d
--- /dev/null
+++ b/3860/CH3/EX3.40/Ex3_40.txt
@@ -0,0 +1,36 @@
+
+ F = m(2,3,4,6,9,11,12)+ d(0,1,14,15)
+
+ C'D' C'D CD CD'
+
+ A'B' X 1 1 0
+
+ A'B X 0 0 1
+
+ AB 1 0 X 1
+
+ AB' 1 1 X 0
+
+ G = m(2,3,4,6,9,11,12)+ d(0,1,14,15)
+
+ C'D' C'D CD CD'
+
+ A'B' X 0 1 0
+
+ A'B X 0 0 0
+
+ AB 0 0 X 1
+
+ AB' 1 1 X 1
+
+ The one solution for F and G:
+
+ F = B'D + ABD'+ A'D'
+
+ G = AC + ABD'+ CD'
+
+ The other solution for F and G:
+
+ F = B'D + A'CD' + BD'
+
+ G = AC + ABD' + A'CD' \ No newline at end of file
diff --git a/3860/CH3/EX3.5/EX3_5.sce b/3860/CH3/EX3.5/EX3_5.sce
new file mode 100644
index 000000000..01abfcf90
--- /dev/null
+++ b/3860/CH3/EX3.5/EX3_5.sce
@@ -0,0 +1,48 @@
+//Example 3.5: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' A''B'' A''B AB AB'' ')
+disp('C''D'' 1 1 ')
+disp('CD'' 1 ')
+disp('CD 1 1 1 1')
+disp('CD'' ')
+disp(' From the map, high outputs are for 0,3,7,12,13,14,15 ') //given logic equation
+a=[0 0 0 0;0 0 1 1 ;0 1 1 1;1 1 0 0 ;1 1 0 1;1 1 1 0;1 1 1 1]
+disp(a)
+for i=1: 7
+ if a(i,1)==1 then
+ b(i,1)='A'
+ else
+ b(i,1)='A'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='B'
+ else
+ b(i,2)='B'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='C'
+ else
+ b(i,3)='C'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='D'
+ else
+ b(i,4)=' D'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7]
+disp(x)
+//Expression is displayed//
+disp('The reduced expression using boolean algebra')
+disp('F = A''B''C''D'' + ABC'' + CD')
+
diff --git a/3860/CH3/EX3.5/Ex3_5.txt b/3860/CH3/EX3.5/Ex3_5.txt
new file mode 100644
index 000000000..6043685ef
--- /dev/null
+++ b/3860/CH3/EX3.5/Ex3_5.txt
@@ -0,0 +1,28 @@
+
+ A'B' A'B AB AB'
+
+ C'D' 1 1
+
+ CD' 1
+
+ CD 1 1 1 1
+
+ CD'
+
+ From the map, high outputs are for 0,3,7,12,13,14,15
+
+ 0. 0. 0. 0.
+ 0. 0. 1. 1.
+ 0. 1. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 0. 1.
+ 1. 1. 1. 0.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!A'B'C' D' + A'B'CD + A'BCD + ABC' D' + ABC'D + ABC D' + ABCD !
+
+ The reduced expression using boolean algebra
+
+ F = A'B'C'D' + ABC' + CD \ No newline at end of file
diff --git a/3860/CH3/EX3.6/EX3_6.sce b/3860/CH3/EX3.6/EX3_6.sce
new file mode 100644
index 000000000..d95ab2c02
--- /dev/null
+++ b/3860/CH3/EX3.6/EX3_6.sce
@@ -0,0 +1,49 @@
+//Example 3.6: Reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' W''X'' W''X WX WX'' ')
+disp('Y''Z'' 1 1 1 1 ')
+disp('YZ'' 1 ')
+disp('YZ 1 1 1')
+disp('YZ'' ')
+disp(' From the map, high outputs are for 0,1,2,3,5,13,14,15 ') //given logic equation
+a=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1 ;0 1 0 1 ;1 1 0 1;1 1 1 0 ;1 1 1 1']
+disp(a)
+for i=1: 8
+ if a(i,1)==1 then
+ b(i,1)='W'
+ else
+ b(i,1)='W'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='X'
+ else
+ b(i,2)='X'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='Y'
+ else
+ b(i,3)='Y'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='Z'
+ else
+ b(i,4)=' Z'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8]
+disp(x)
+//Expression is displayed//
+disp('Three different reduced expression using boolean algebra')
+disp('F = Y''Z'' + WYZ + W''XZ''')
+
diff --git a/3860/CH3/EX3.6/Ex3_6.txt b/3860/CH3/EX3.6/Ex3_6.txt
new file mode 100644
index 000000000..8cc712395
--- /dev/null
+++ b/3860/CH3/EX3.6/Ex3_6.txt
@@ -0,0 +1,29 @@
+
+ W'X' W'X WX WX'
+
+ Y'Z' 1 1 1 1
+
+ YZ' 1
+
+ YZ 1 1 1
+
+ YZ'
+
+ From the map, high outputs are for 0,1,2,3,5,13,14,15
+
+ 0. 0. 0. 0.
+ 0. 0. 0. 1.
+ 0. 0. 1. 0.
+ 0. 0. 1. 1.
+ 0. 1. 0. 1.
+ 1. 1. 0. 1.
+ 1. 1. 1. 0.
+ 1. 1. 1. 1.
+
+ Evaluating expression from truth table and map
+
+!W'X'Y' Z' + W'X'Y'Z + W'X'Y Z' + W'X'YZ + W'XY'Z + WXY'Z + WXY Z' + WXYZ !
+
+ Three different reduced expression using boolean algebra
+
+ F = Y'Z' + WYZ + W'XZ' \ No newline at end of file
diff --git a/3860/CH3/EX3.7/Ex3_7.sce b/3860/CH3/EX3.7/Ex3_7.sce
new file mode 100644
index 000000000..18f53b0be
--- /dev/null
+++ b/3860/CH3/EX3.7/Ex3_7.sce
@@ -0,0 +1,9 @@
+//Example 3.7 Reduction using K-Map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('f = a''b''c + a''bc'' + a''bc + ab''c''')
+disp('The mapping is shown below')
+disp(' A''B'' A''B AB AB''')
+disp('C'' 1 1 - 1')
+disp('C - 1 - -') //The kmap for f is displayed//
+disp('f = a''b + b''c''')
diff --git a/3860/CH3/EX3.7/Ex3_7.txt b/3860/CH3/EX3.7/Ex3_7.txt
new file mode 100644
index 000000000..866501200
--- /dev/null
+++ b/3860/CH3/EX3.7/Ex3_7.txt
@@ -0,0 +1,12 @@
+
+ f = a'b'c + a'bc' + a'bc + ab'c'
+
+ The mapping is shown below
+
+ A'B' A'B AB AB'
+
+ C' 1 1 - 1
+
+ C - 1 - -
+
+ f = a'b + b'c' \ No newline at end of file
diff --git a/3860/CH3/EX3.8/EX3_8.sce b/3860/CH3/EX3.8/EX3_8.sce
new file mode 100644
index 000000000..88d83f2c7
--- /dev/null
+++ b/3860/CH3/EX3.8/EX3_8.sce
@@ -0,0 +1,52 @@
+//Example 3.8: reduce expression using k-map
+clc; //clears the window
+clear; //clears all existing variables
+//Mapping the expression//
+disp(' C''D'' C''D CD CD'' ')
+disp('A''B'' 1 1 1 1 ')
+disp('AB'' 0 0 0 1 ')
+disp('AB 0 1 0 1 ')
+disp('AB'' 1 1 1 0 ')
+disp(' From the map, high outputs for 0,2,4,6,7,8,9,11,12,14 ')
+//given logic equation//
+a=[0 0 0 0;0 0 1 0;0 1 0 0;0 1 1 0 ;0 1 1 1;1 1 1 0;1 0 0 1;1 0 1 1;1 1 0 0;1 1 1 0']
+disp(a)
+for i=1: 10
+ if a(i,1)==1 then
+ b(i,1)='a'
+ else
+ b(i,1)='a'''
+ end
+ if a(i,2)==1 then
+ b(i,2)='b'
+ else
+ b(i,2)='b'''
+ end
+ if a(i,3)==1 then
+ b(i,3)='c'
+ else
+ b(i,3)='c'''
+ end
+ if a(i,4)==1 then
+ b(i,4)='d'
+ else
+ b(i,4)=' d'''
+ end
+end
+disp(' Evaluating expression from truth table and map ')
+x1=strcat([ b(1,1),b(1,2),b(1,3),b(1,4) ])
+x2=strcat([ b(2,1),b(2,2),b(2,3),b(2,4) ])
+x3=strcat([ b(3,1),b(3,2),b(3,3),b(3,4) ])
+x4=strcat([ b(4,1),b(4,2),b(4,3),b(4,4) ])
+x5=strcat([ b(5,1),b(5,2),b(5,3),b(5,4) ])
+x6=strcat([ b(6,1),b(6,2),b(6,3),b(6,4) ])
+x7=strcat([ b(7,1),b(7,2),b(7,3),b(7,4) ])
+x8=strcat([ b(8,1),b(8,2),b(8,3),b(8,4) ])
+x9=strcat([ b(9,1),b(9,2),b(9,3),b(9,4) ])
+x10=strcat([ b(10,1),b(10,2),b(10,3),b(10,4) ])
+x=[x1"+",x2"+",x3"+",x4"+",x5"+",x6"+",x7"+",x8"+",x9"+",x10]
+disp(x)
+//Expression is displayed//
+disp('Reduced expression using boolean algebra')
+disp('f= a''d'' + bd'' + a''bc + ab''d + c''d''')
+
diff --git a/3860/CH3/EX3.8/Ex3_8.txt b/3860/CH3/EX3.8/Ex3_8.txt
new file mode 100644
index 000000000..12e7950f2
--- /dev/null
+++ b/3860/CH3/EX3.8/Ex3_8.txt
@@ -0,0 +1,31 @@
+
+ C'D' C'D CD CD'
+
+ A'B' 1 1 1 1
+
+ AB' 0 0 0 1
+
+ AB 0 1 0 1
+
+ AB' 1 1 1 0
+
+ From the map, high outputs for 0,2,4,6,7,8,9,11,12,14
+
+ 0. 0. 0. 0.
+ 0. 0. 1. 0.
+ 0. 1. 0. 0.
+ 0. 1. 1. 0.
+ 0. 1. 1. 1.
+ 1. 1. 1. 0.
+ 1. 0. 0. 1.
+ 1. 0. 1. 1.
+ 1. 1. 0. 0.
+ 1. 1. 1. 0.
+
+ Evaluating expression from truth table and map
+
+!a'b'c' d' + a'b'c d' + a'bc' d' + a'bc d' + a'bcd + abc d' + ab'c'd + ab'cd + abc' d' + abc d' !
+
+ Reduced expression using boolean algebra
+
+ f= a'd' + bd' + a'bc + ab'd + c'd' \ No newline at end of file
diff --git a/3860/CH3/EX3.9/Ex3_9.sce b/3860/CH3/EX3.9/Ex3_9.sce
new file mode 100644
index 000000000..93438d488
--- /dev/null
+++ b/3860/CH3/EX3.9/Ex3_9.sce
@@ -0,0 +1,11 @@
+//Example 3.9 Reduction using K-Map
+clc; //clears the console window
+clear; //clears the variable browser
+disp('The given function is x''yz'' + x''yx + xy''z'' + xy''z + xyz')
+disp('The mapping is shown below')
+disp(' X''Y'' X''Y XY XY''')
+disp('Z'' 1 1')
+disp('Z 1 1 ') //The kmap for given function is displayed//
+disp('After finding the two essential prime implicants m7 is still uncovered. The following are the two solutions.')
+disp('f = x''y + xy'' + xz')
+disp('f = x''y + xy'' + yz')
diff --git a/3860/CH3/EX3.9/Ex3_9.txt b/3860/CH3/EX3.9/Ex3_9.txt
new file mode 100644
index 000000000..8eb1cef1c
--- /dev/null
+++ b/3860/CH3/EX3.9/Ex3_9.txt
@@ -0,0 +1,16 @@
+
+ The given function is x'yz' + x'yx + xy'z' + xy'z + xyz
+
+ The mapping is shown below
+
+ X'Y' X'Y XY XY'
+
+ Z' 1 1
+
+ Z 1 1
+
+ After finding the two essential prime implicants m7 is still uncovered. The following are the two solutions.
+
+ f = x'y + xy' + xz
+
+ f = x'y + xy' + yz \ No newline at end of file