summaryrefslogtreecommitdiff
path: root/3860
diff options
context:
space:
mode:
Diffstat (limited to '3860')
-rw-r--r--3860/CH1/EX1.10/Ex1_10.sce7
-rw-r--r--3860/CH1/EX1.10/Ex1_10.txt4
-rw-r--r--3860/CH1/EX1.11/Ex1_11.sce6
-rw-r--r--3860/CH1/EX1.11/Ex1_11.txt4
-rw-r--r--3860/CH1/EX1.12/Ex1_12.sce15
-rw-r--r--3860/CH1/EX1.12/Ex1_12.txt8
-rw-r--r--3860/CH1/EX1.13/Ex1_13.sce24
-rw-r--r--3860/CH1/EX1.13/Ex1_13.txt12
-rw-r--r--3860/CH1/EX1.15/EX1_15.sce42
-rw-r--r--3860/CH1/EX1.15/Ex1_15.txt30
-rw-r--r--3860/CH1/EX1.16/Ex1_16.sce9
-rw-r--r--3860/CH1/EX1.16/Ex1_16.txt7
-rw-r--r--3860/CH1/EX1.17/Ex1_17.sce15
-rw-r--r--3860/CH1/EX1.17/Ex1_17.txt10
-rw-r--r--3860/CH1/EX1.18/EX1_18.sce14
-rw-r--r--3860/CH1/EX1.18/Ex1_18.txt7
-rw-r--r--3860/CH1/EX1.19/EX1_19.sce14
-rw-r--r--3860/CH1/EX1.19/Ex1_19.txt8
-rw-r--r--3860/CH1/EX1.20/Ex1_20.sce13
-rw-r--r--3860/CH1/EX1.20/Ex1_20.txt7
-rw-r--r--3860/CH1/EX1.21/Ex1_21.sce18
-rw-r--r--3860/CH1/EX1.21/Ex1_21.txt12
-rw-r--r--3860/CH1/EX1.6/Ex1_6.sce5
-rw-r--r--3860/CH1/EX1.6/Ex1_6.txt3
-rw-r--r--3860/CH1/EX1.7/Ex1_7.sce5
-rw-r--r--3860/CH1/EX1.7/Ex1_7.txt4
-rw-r--r--3860/CH1/EX1.8/Ex1_8.sce5
-rw-r--r--3860/CH1/EX1.8/Ex1_8.txt4
-rw-r--r--3860/CH1/EX1.9/Ex1_9.sce6
-rw-r--r--3860/CH1/EX1.9/Ex1_9.txt4
-rw-r--r--3860/CH2/EX2.1/Ex2_1.sce19
-rw-r--r--3860/CH2/EX2.1/Ex2_1.txt34
-rw-r--r--3860/CH2/EX2.11/Ex2_11.sce9
-rw-r--r--3860/CH2/EX2.11/Ex2_11.txt11
-rw-r--r--3860/CH2/EX2.15/Ex2_15.sce5
-rw-r--r--3860/CH2/EX2.15/Ex2_15.txt4
-rw-r--r--3860/CH2/EX2.16/Ex2_16.sce12
-rw-r--r--3860/CH2/EX2.16/Ex2_16.txt18
-rw-r--r--3860/CH2/EX2.17/Ex2_17.sce8
-rw-r--r--3860/CH2/EX2.17/Ex2_17.txt10
-rw-r--r--3860/CH2/EX2.18/Ex2_18.sce5
-rw-r--r--3860/CH2/EX2.18/Ex2_18.txt4
-rw-r--r--3860/CH2/EX2.2/Ex2_2.sce38
-rw-r--r--3860/CH2/EX2.2/Ex2_2.txt72
-rw-r--r--3860/CH2/EX2.20/Ex2_20.sce6
-rw-r--r--3860/CH2/EX2.20/Ex2_20.txt6
-rw-r--r--3860/CH2/EX2.21/Ex2_21.sce7
-rw-r--r--3860/CH2/EX2.21/Ex2_21.txt6
-rw-r--r--3860/CH2/EX2.22/Ex2_22.sce8
-rw-r--r--3860/CH2/EX2.22/Ex2_22.txt10
-rw-r--r--3860/CH2/EX2.23/Ex2_23.sce7
-rw-r--r--3860/CH2/EX2.23/Ex2_23.txt8
-rw-r--r--3860/CH2/EX2.24/Ex2_24.sce8
-rw-r--r--3860/CH2/EX2.24/Ex2_24.txt10
-rw-r--r--3860/CH2/EX2.25/Ex2_25.sce8
-rw-r--r--3860/CH2/EX2.25/Ex2_25.txt10
-rw-r--r--3860/CH2/EX2.26/Ex2_26.sce6
-rw-r--r--3860/CH2/EX2.26/Ex2_26.txt6
-rw-r--r--3860/CH2/EX2.27/Ex2_27.sce6
-rw-r--r--3860/CH2/EX2.27/Ex2_27.txt6
-rw-r--r--3860/CH2/EX2.28/Ex2_28.sce8
-rw-r--r--3860/CH2/EX2.28/Ex2_28.txt10
-rw-r--r--3860/CH2/EX2.29/Ex2_29.sce8
-rw-r--r--3860/CH2/EX2.29/Ex2_29.txt10
-rw-r--r--3860/CH2/EX2.3/EX2_3.sce10
-rw-r--r--3860/CH2/EX2.3/Ex2_3.txt12
-rw-r--r--3860/CH2/EX2.30/Ex2_30.sce8
-rw-r--r--3860/CH2/EX2.30/Ex2_30.txt10
-rw-r--r--3860/CH2/EX2.5/EX2_5.sce8
-rw-r--r--3860/CH2/EX2.5/Ex2_5.txt9
-rw-r--r--3860/CH2/EX2.6/EX2_6.sce11
-rw-r--r--3860/CH2/EX2.6/Ex2_6.txt16
-rw-r--r--3860/CH2/EX2.7/Ex2_7.sce20
-rw-r--r--3860/CH2/EX2.7/Ex2_7.txt36
-rw-r--r--3860/CH2/EX2.8/Ex2_8.sce13
-rw-r--r--3860/CH2/EX2.8/Ex2_8.txt22
-rw-r--r--3860/CH2/EX2.9/Ex2_9.sce8
-rw-r--r--3860/CH2/EX2.9/Ex2_9.txt12
-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
-rw-r--r--3860/CH5/EX5.3/Ex5_3.sce16
-rw-r--r--3860/CH5/EX5.3/Ex5_3.txt28
-rw-r--r--3860/CH5/EX5.5/Ex5_5.sce28
-rw-r--r--3860/CH5/EX5.5/Ex5_5.txt52
-rw-r--r--3860/CH8/EX8.2/Ex8_2.sce16
-rw-r--r--3860/CH8/EX8.2/Ex8_2.txt28
-rw-r--r--3860/CH8/EX8.3/Ex8_3.sce16
-rw-r--r--3860/CH8/EX8.3/Ex8_3.txt28
-rw-r--r--3860/CH8/EX8.4/Ex8_4.sce10
-rw-r--r--3860/CH8/EX8.4/Ex8_4.txt16
-rw-r--r--3860/CH8/EX8.7/Ex8_7.sce21
-rw-r--r--3860/CH8/EX8.7/Ex8_7.txt36
-rw-r--r--3860/CH9/EX9.1/Ex9_1.sce18
-rw-r--r--3860/CH9/EX9.1/Ex9_1.txt26
-rw-r--r--3860/CH9/EX9.10/Ex9_10.sce19
-rw-r--r--3860/CH9/EX9.10/Ex9_10.txt26
-rw-r--r--3860/CH9/EX9.11/Ex9_11.sce22
-rw-r--r--3860/CH9/EX9.11/Ex9_11.txt32
-rw-r--r--3860/CH9/EX9.12/Ex9_12.sce39
-rw-r--r--3860/CH9/EX9.12/Ex9_12.txt74
-rw-r--r--3860/CH9/EX9.2/Ex9_2.sce22
-rw-r--r--3860/CH9/EX9.2/Ex9_2.txt34
-rw-r--r--3860/CH9/EX9.3/Ex9_3.sce23
-rw-r--r--3860/CH9/EX9.3/Ex9_3.txt34
-rw-r--r--3860/CH9/EX9.4/Ex9_4.sce21
-rw-r--r--3860/CH9/EX9.4/Ex9_4.txt32
-rw-r--r--3860/CH9/EX9.5/Ex9_5.sce19
-rw-r--r--3860/CH9/EX9.5/Ex9_5.txt32
-rw-r--r--3860/CH9/EX9.6/Ex9_6.sce22
-rw-r--r--3860/CH9/EX9.6/Ex9_6.txt30
-rw-r--r--3860/CH9/EX9.7/Ex9_7.sce16
-rw-r--r--3860/CH9/EX9.7/Ex9_7.txt26
-rw-r--r--3860/CH9/EX9.8/Ex9_8.sce20
-rw-r--r--3860/CH9/EX9.8/Ex9_8.txt36
-rw-r--r--3860/CH9/EX9.9/Ex9_9.sce22
-rw-r--r--3860/CH9/EX9.9/Ex9_9.txt40
160 files changed, 3212 insertions, 0 deletions
diff --git a/3860/CH1/EX1.10/Ex1_10.sce b/3860/CH1/EX1.10/Ex1_10.sce
new file mode 100644
index 000000000..77c68e835
--- /dev/null
+++ b/3860/CH1/EX1.10/Ex1_10.sce
@@ -0,0 +1,7 @@
+//Example 1.10 Conversion from Hexadecimal to Binary.
+clc; //clears the command window.
+clear; // clears the variable browser.
+x="2EA";
+z = hex2dec(x) //Converts Hexadecimal number into decimal number.
+disp('Decimal equivalent of hexadecimal number:')
+disp(z) // displays the converted decimal number
diff --git a/3860/CH1/EX1.10/Ex1_10.txt b/3860/CH1/EX1.10/Ex1_10.txt
new file mode 100644
index 000000000..65122a221
--- /dev/null
+++ b/3860/CH1/EX1.10/Ex1_10.txt
@@ -0,0 +1,4 @@
+
+ Decimal equivalent of hexadecimal number:
+
+ 746. \ No newline at end of file
diff --git a/3860/CH1/EX1.11/Ex1_11.sce b/3860/CH1/EX1.11/Ex1_11.sce
new file mode 100644
index 000000000..8d59874a7
--- /dev/null
+++ b/3860/CH1/EX1.11/Ex1_11.sce
@@ -0,0 +1,6 @@
+//Example 1.11 Conversion from decimal number to Hexadecimal number.
+clc;
+x = 746;
+z = dec2hex(x); //hexadecimal equivalent of decimal number
+disp('The hexadecimal number is = ');
+disp(z) // answer in hexadecimal form
diff --git a/3860/CH1/EX1.11/Ex1_11.txt b/3860/CH1/EX1.11/Ex1_11.txt
new file mode 100644
index 000000000..7c2066852
--- /dev/null
+++ b/3860/CH1/EX1.11/Ex1_11.txt
@@ -0,0 +1,4 @@
+
+ The hexadecimal number is =
+
+ 2EA \ No newline at end of file
diff --git a/3860/CH1/EX1.12/Ex1_12.sce b/3860/CH1/EX1.12/Ex1_12.sce
new file mode 100644
index 000000000..d14494f32
--- /dev/null
+++ b/3860/CH1/EX1.12/Ex1_12.sce
@@ -0,0 +1,15 @@
+//Example 1.12 Addition of two Binary numbers
+clc // clears the console window
+clear // clears the variable browser
+m = bin2dec('0110'); //conversion from binary to decimal
+n = bin2dec('0111');
+k= m + n; //addition of decimal numbers
+a = dec2bin(k);//conversion from decimal to Binary
+// displays the binary addition.
+disp(a,'Addition of two Binary number 0110 and 0111 is = ')
+p = bin2dec('1101'); //conversion from binary to decimal
+q = bin2dec('0101');
+r= p + q; //addition of decimal numbers
+s = dec2bin(r);//conversion from decimal to Binary
+// displays the binary addition.
+disp(s,'Addition of two Binary number 1101 and 0101 is = ')
diff --git a/3860/CH1/EX1.12/Ex1_12.txt b/3860/CH1/EX1.12/Ex1_12.txt
new file mode 100644
index 000000000..5b7a53043
--- /dev/null
+++ b/3860/CH1/EX1.12/Ex1_12.txt
@@ -0,0 +1,8 @@
+
+ Addition of two Binary number 0110 and 0111 is =
+
+ 1101
+
+ Addition of two Binary number 1101 and 0101 is =
+
+ 10010 \ No newline at end of file
diff --git a/3860/CH1/EX1.13/Ex1_13.sce b/3860/CH1/EX1.13/Ex1_13.sce
new file mode 100644
index 000000000..5d9bd5bf9
--- /dev/null
+++ b/3860/CH1/EX1.13/Ex1_13.sce
@@ -0,0 +1,24 @@
+//Example 1.13: storage format for negative numbers in two’s complement using three-step approach:
+clc // clears the console window
+clear // clears the variable browser1
+//***************************************************************************
+x= bitcmp (5,4)// complement of decimal number 5 in 4 bit representation.
+y=1;
+z=x+y //1 is added to the complement.
+a= dec2bin (z) //binary equivalent of decimal number.
+disp ( '-5 in 2''s complement form is=')
+disp (a)// 2's complement result.
+//**************************************************************************
+j= bitcmp (1,4)// complement of decimal number 1 in 4 bit representation.
+k=1;
+l=j+k //1 is added to the complement.
+m= dec2bin (l) //binary equivalent of decimal number.
+disp ( '-1 in 2''s complement form is=')
+disp (m)// 2's complement result.
+//**************************************************************************
+p= bitcmp (0,4)// complement of decimal number 0 in 4 bit representation.
+q=1;
+r=p+q //1 is added to the complement.
+s= dec2bin (r-(2^4),4) //binary equivalent of decimal number.
+disp ( '-0 in 2''s complement form is=')
+disp (s)// 2's complement result.
diff --git a/3860/CH1/EX1.13/Ex1_13.txt b/3860/CH1/EX1.13/Ex1_13.txt
new file mode 100644
index 000000000..64acb8f86
--- /dev/null
+++ b/3860/CH1/EX1.13/Ex1_13.txt
@@ -0,0 +1,12 @@
+
+ -5 in 2's complement form is=
+
+ 1011
+
+ -1 in 2's complement form is=
+
+ 1111
+
+ -0 in 2's complement form is=
+
+ 0000 \ No newline at end of file
diff --git a/3860/CH1/EX1.15/EX1_15.sce b/3860/CH1/EX1.15/EX1_15.sce
new file mode 100644
index 000000000..247b65b58
--- /dev/null
+++ b/3860/CH1/EX1.15/EX1_15.sce
@@ -0,0 +1,42 @@
+//Example 1.15: add -5 to 7, -5 and +5 , -5 and +3
+clc//clears the console
+clear //clears all existing variables
+//****************************************************************************
+x=bitcmp(5,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+v=7;
+w=u+v
+a=dec2bin(w) //binary conversion of the decimal number
+disp(' binary form of the number obtained by adding 7 to -5 ')
+disp(a) //result is displayed
+disp(' the msb is discarded,so four bit representation in binary form =')
+a=dec2bin(w-(2^4),4)
+disp(a) //final result is displayed.
+disp('*****************************************************************')
+//****************************************************************************
+x=bitcmp(5,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+v=5;
+w=u+v
+a=dec2bin(w) //binary conversion of the decimal number
+disp(' binary form of the number obtained by adding +5 to -5 ')
+disp(a) //result is displayed
+disp(' the msb is discarded,so four bit representation in binary form =')
+a=dec2bin(w-(2^4),4)
+disp(a) //final result is displayed.
+disp('*****************************************************************')
+//****************************************************************************
+x=bitcmp(5,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+v=3;
+w=u+v
+a=dec2bin(w,5) //binary conversion of the decimal number
+disp(' binary form of the number obtained by adding +3 to -5 ')
+disp(a) //result is displayed
+disp(' the msb is discarded,so four bit representation in binary form =')
+a=dec2bin(w,4)
+disp(a) //final result is displayed.
+disp('*****************************************************************')
diff --git a/3860/CH1/EX1.15/Ex1_15.txt b/3860/CH1/EX1.15/Ex1_15.txt
new file mode 100644
index 000000000..716786861
--- /dev/null
+++ b/3860/CH1/EX1.15/Ex1_15.txt
@@ -0,0 +1,30 @@
+
+ binary form of the number obtained by adding 7 to -5
+
+ 10010
+
+ the msb is discarded,so four bit representation in binary form =
+
+ 0010
+
+ *****************************************************************
+
+ binary form of the number obtained by adding +5 to -5
+
+ 10000
+
+ the msb is discarded,so four bit representation in binary form =
+
+ 0000
+
+ *****************************************************************
+
+ binary form of the number obtained by adding +3 to -5
+
+ 01110
+
+ the msb is discarded,so four bit representation in binary form =
+
+ 1110
+
+ ***************************************************************** \ No newline at end of file
diff --git a/3860/CH1/EX1.16/Ex1_16.sce b/3860/CH1/EX1.16/Ex1_16.sce
new file mode 100644
index 000000000..8203fcf4c
--- /dev/null
+++ b/3860/CH1/EX1.16/Ex1_16.sce
@@ -0,0 +1,9 @@
+//Example 1.16: Addition of two signed numbers +5 and +4
+clc;
+x=5;
+y=4;
+z=x+y;
+r = dec2bin(z); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(r)
+disp('The answer produced is clearly wrong because the correct answer (+9) is out of range. Overflow occurs when the sum is out of range. For 4-bit signed numbers,that range is -8 <= sum <= 7.')
diff --git a/3860/CH1/EX1.16/Ex1_16.txt b/3860/CH1/EX1.16/Ex1_16.txt
new file mode 100644
index 000000000..5e4000b04
--- /dev/null
+++ b/3860/CH1/EX1.16/Ex1_16.txt
@@ -0,0 +1,7 @@
+
+ The binary number is =
+
+ 1001
+
+ The answer produced is clearly wrong because the correct answer (+9) is out of range. Overflow occurs when the sum is out of range. For 4-bit signed numb
+ ers,that range is -8 <= sum <= 7. \ No newline at end of file
diff --git a/3860/CH1/EX1.17/Ex1_17.sce b/3860/CH1/EX1.17/Ex1_17.sce
new file mode 100644
index 000000000..ba39186cc
--- /dev/null
+++ b/3860/CH1/EX1.17/Ex1_17.sce
@@ -0,0 +1,15 @@
+//Example 1.17: Addition of two signed numbers -5 and -4
+clc;
+x=bitcmp(5,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+l=bitcmp(4,4) //finds complement of 5
+m=1;
+n=l+m //1 is added to the complement
+z=n+u;
+r = dec2bin(z); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(r)
+disp('The msb is discarded, and binary number becomes')
+disp('0111')
+disp('This time, two negetive numbers produced a sum that looks positive.')
diff --git a/3860/CH1/EX1.17/Ex1_17.txt b/3860/CH1/EX1.17/Ex1_17.txt
new file mode 100644
index 000000000..fb30e5006
--- /dev/null
+++ b/3860/CH1/EX1.17/Ex1_17.txt
@@ -0,0 +1,10 @@
+
+ The binary number is =
+
+ 10111
+
+ The msb is discarded, and binary number becomes
+
+ 0111
+
+ This time, two negetive numbers produced a sum that looks positive. \ No newline at end of file
diff --git a/3860/CH1/EX1.18/EX1_18.sce b/3860/CH1/EX1.18/EX1_18.sce
new file mode 100644
index 000000000..ae23d476c
--- /dev/null
+++ b/3860/CH1/EX1.18/EX1_18.sce
@@ -0,0 +1,14 @@
+//Example 1.18: add 7 to -5
+clc//clears the console
+clear //clears all existing variables
+x=bitcmp(5,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+v=7;
+w=u+v
+a=dec2bin(w) //binary conversion of the decimal number
+disp(' binary form of the number obtained by adding 7 to -5 ')
+disp(a) //result is displayed
+disp(' the msb is discarded,so four bit representation in binary form =')
+a=dec2bin(w-(2^4),4)
+disp(a) //final result is displayed.
diff --git a/3860/CH1/EX1.18/Ex1_18.txt b/3860/CH1/EX1.18/Ex1_18.txt
new file mode 100644
index 000000000..7379ed875
--- /dev/null
+++ b/3860/CH1/EX1.18/Ex1_18.txt
@@ -0,0 +1,7 @@
+ binary form of the number obtained by adding 7 to -5
+
+ 10010
+
+ the msb is discarded,so four bit representation in binary form =
+
+ 0010 \ No newline at end of file
diff --git a/3860/CH1/EX1.19/EX1_19.sce b/3860/CH1/EX1.19/EX1_19.sce
new file mode 100644
index 000000000..b668a1342
--- /dev/null
+++ b/3860/CH1/EX1.19/EX1_19.sce
@@ -0,0 +1,14 @@
+//Example 1.19: add 7 to -5
+clc//clears the console
+clear //clears all existing variables
+x=bitcmp(5,4) //computes bit by bit complement of 5
+y=1;
+u=x+y //1 is added to the complement
+v=7;
+w=u+v
+a=dec2bin(w) //binary conversion of the decimal number
+disp(' binary form of the number obtained by adding 7 to -5 ')
+disp(a) //result is displayed
+disp(' the msb is discarded,so four bit representation in binary form =')
+a=dec2bin(w-(2^4),4)
+disp(a) //final result is displayed.
diff --git a/3860/CH1/EX1.19/Ex1_19.txt b/3860/CH1/EX1.19/Ex1_19.txt
new file mode 100644
index 000000000..36bf6756e
--- /dev/null
+++ b/3860/CH1/EX1.19/Ex1_19.txt
@@ -0,0 +1,8 @@
+
+ binary form of the number obtained by adding 7 to -5
+
+ 10010
+
+ the msb is discarded,so four bit representation in binary form =
+
+ 0010 \ No newline at end of file
diff --git a/3860/CH1/EX1.20/Ex1_20.sce b/3860/CH1/EX1.20/Ex1_20.sce
new file mode 100644
index 000000000..7af8aef1a
--- /dev/null
+++ b/3860/CH1/EX1.20/Ex1_20.sce
@@ -0,0 +1,13 @@
+//Example 1.20: Addition of two unsigned numbers 14-10.
+clc;
+x=bitcmp(10,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+w=14
+z=w+u;
+r = dec2bin(z); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(r)
+disp('The msb is discarded, and binary number becomes')
+disp('0100')
+
diff --git a/3860/CH1/EX1.20/Ex1_20.txt b/3860/CH1/EX1.20/Ex1_20.txt
new file mode 100644
index 000000000..fb25f9cb1
--- /dev/null
+++ b/3860/CH1/EX1.20/Ex1_20.txt
@@ -0,0 +1,7 @@
+ The binary number is =
+
+ 10100
+
+ The msb is discarded, and binary number becomes
+
+ 0100 \ No newline at end of file
diff --git a/3860/CH1/EX1.21/Ex1_21.sce b/3860/CH1/EX1.21/Ex1_21.sce
new file mode 100644
index 000000000..f07a47cc5
--- /dev/null
+++ b/3860/CH1/EX1.21/Ex1_21.sce
@@ -0,0 +1,18 @@
+//Example 1.21: Overflow for unsigned numbers in Example 1.21(a) and for signed numbers in Example 1.21(b)
+clc;
+disp('Example 1.21(a)')
+x=bitcmp(7,4) //finds complement of 5
+y=1;
+u=x+y //1 is added to the complement
+w=5
+z=w+u;
+r = dec2bin(z); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(r)
+disp('Example 1.21(b)')
+x=7
+y=5;
+u=x+y //1 is added to the complement
+r = dec2bin(u); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(r)
diff --git a/3860/CH1/EX1.21/Ex1_21.txt b/3860/CH1/EX1.21/Ex1_21.txt
new file mode 100644
index 000000000..d307234cd
--- /dev/null
+++ b/3860/CH1/EX1.21/Ex1_21.txt
@@ -0,0 +1,12 @@
+
+ Example 1.21(a)
+
+ The binary number is =
+
+ 1110
+
+ Example 1.21(b)
+
+ The binary number is =
+
+ 1100 \ No newline at end of file
diff --git a/3860/CH1/EX1.6/Ex1_6.sce b/3860/CH1/EX1.6/Ex1_6.sce
new file mode 100644
index 000000000..49b4e2bb3
--- /dev/null
+++ b/3860/CH1/EX1.6/Ex1_6.sce
@@ -0,0 +1,5 @@
+//Example 1.6 Conversion from decimal number to binary number.
+clc; //clears the console
+x = dec2bin(746); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(x) // answer in binary form
diff --git a/3860/CH1/EX1.6/Ex1_6.txt b/3860/CH1/EX1.6/Ex1_6.txt
new file mode 100644
index 000000000..5dc3f140a
--- /dev/null
+++ b/3860/CH1/EX1.6/Ex1_6.txt
@@ -0,0 +1,3 @@
+ The binary number is =
+
+ 1011101010 \ No newline at end of file
diff --git a/3860/CH1/EX1.7/Ex1_7.sce b/3860/CH1/EX1.7/Ex1_7.sce
new file mode 100644
index 000000000..880188e56
--- /dev/null
+++ b/3860/CH1/EX1.7/Ex1_7.sce
@@ -0,0 +1,5 @@
+//Example 1.7 Conversion from decimal number to binary number.
+clc;
+x = dec2bin(746); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(x) // answer in binary form
diff --git a/3860/CH1/EX1.7/Ex1_7.txt b/3860/CH1/EX1.7/Ex1_7.txt
new file mode 100644
index 000000000..2c01fcf18
--- /dev/null
+++ b/3860/CH1/EX1.7/Ex1_7.txt
@@ -0,0 +1,4 @@
+
+ The binary number is =
+
+ 1011101010 \ No newline at end of file
diff --git a/3860/CH1/EX1.8/Ex1_8.sce b/3860/CH1/EX1.8/Ex1_8.sce
new file mode 100644
index 000000000..77e476d08
--- /dev/null
+++ b/3860/CH1/EX1.8/Ex1_8.sce
@@ -0,0 +1,5 @@
+//Example 1.8 Conversion from decimal number to binary number.
+clc;
+x = dec2bin(105); // binary equivalent of decimal number
+disp('The binary number is = ');
+disp(x) // answer in binary form
diff --git a/3860/CH1/EX1.8/Ex1_8.txt b/3860/CH1/EX1.8/Ex1_8.txt
new file mode 100644
index 000000000..c38cf6adc
--- /dev/null
+++ b/3860/CH1/EX1.8/Ex1_8.txt
@@ -0,0 +1,4 @@
+
+ The binary number is =
+
+ 1101001 \ No newline at end of file
diff --git a/3860/CH1/EX1.9/Ex1_9.sce b/3860/CH1/EX1.9/Ex1_9.sce
new file mode 100644
index 000000000..a540b9453
--- /dev/null
+++ b/3860/CH1/EX1.9/Ex1_9.sce
@@ -0,0 +1,6 @@
+//Example 1.9 Conversion from binary number to Hexadecimal number.
+clc;
+x = bin2dec('1011101010'); // decimal equivalent of binary number
+z = dec2hex(x); //hexadecimal equivalent of decimal number
+disp('The hexadecimal number is = ');
+disp(z) // answer in hexadecimal form
diff --git a/3860/CH1/EX1.9/Ex1_9.txt b/3860/CH1/EX1.9/Ex1_9.txt
new file mode 100644
index 000000000..7c2066852
--- /dev/null
+++ b/3860/CH1/EX1.9/Ex1_9.txt
@@ -0,0 +1,4 @@
+
+ The hexadecimal number is =
+
+ 2EA \ No newline at end of file
diff --git a/3860/CH2/EX2.1/Ex2_1.sce b/3860/CH2/EX2.1/Ex2_1.sce
new file mode 100644
index 000000000..70b1a8303
--- /dev/null
+++ b/3860/CH2/EX2.1/Ex2_1.sce
@@ -0,0 +1,19 @@
+//Example 2.1: Develop truth table for a system with three inputs a,b and c and four outputs w,x,y and z
+clc // Clears the console
+disp("Develop truth table for a system with three inputs a,b and c and four outputs w,x,y and z")
+disp("Given conditions")
+disp("a = 0: odd a = 1: even")
+disp("b = 0: prime b = 1: not prime")
+disp("c = 0: less than 8 c = 1: greater than or equal to 8")
+disp("some input may never occur; the ouput is never all 0")
+disp("Inputs | Outputs")
+disp("A B C | W X Y Z")
+disp("0 0 0 | 0 1 1 1")
+disp("0 0 1 | 1 1 0 1")
+disp("0 1 0 | X X X X")
+disp("0 1 1 | 1 1 1 1")
+disp("1 0 0 | 0 0 1 0")
+disp("1 0 1 | X X X X")
+disp("1 1 0 | 0 1 1 0")
+disp("1 1 1 | 1 1 1 0")
+disp("The above table satisfies the given conditions.")
diff --git a/3860/CH2/EX2.1/Ex2_1.txt b/3860/CH2/EX2.1/Ex2_1.txt
new file mode 100644
index 000000000..71aa5bebc
--- /dev/null
+++ b/3860/CH2/EX2.1/Ex2_1.txt
@@ -0,0 +1,34 @@
+
+ Develop truth table for a system with three inputs a,b and c and four outputs w,x,y and z
+
+ Given conditions
+
+ a = 0: odd a = 1: even
+
+ b = 0: prime b = 1: not prime
+
+ c = 0: less than 8 c = 1: greater than or equal to 8
+
+ some input may never occur; the ouput is never all 0
+
+ Inputs | Outputs
+
+ A B C | W X Y Z
+
+ 0 0 0 | 0 1 1 1
+
+ 0 0 1 | 1 1 0 1
+
+ 0 1 0 | X X X X
+
+ 0 1 1 | 1 1 1 1
+
+ 1 0 0 | 0 0 1 0
+
+ 1 0 1 | X X X X
+
+ 1 1 0 | 0 1 1 0
+
+ 1 1 1 | 1 1 1 0
+
+ The above table satisfies the given conditions. \ No newline at end of file
diff --git a/3860/CH2/EX2.11/Ex2_11.sce b/3860/CH2/EX2.11/Ex2_11.sce
new file mode 100644
index 000000000..17d2bde3b
--- /dev/null
+++ b/3860/CH2/EX2.11/Ex2_11.sce
@@ -0,0 +1,9 @@
+//Example 2.11: Finding full adder expressions
+clc // Clears the console
+disp('For the full adder C is used as Cin ')
+disp('Cout = a''bc + ab''c + abc'' + abc')
+disp('s = a''b''c + a''bc'' + ab''c'' + abc')
+disp('The simplified expression of Cout is as given below')
+disp('Cout = bc + ac + ab')
+disp('s is already in minimum SOP form')
+
diff --git a/3860/CH2/EX2.11/Ex2_11.txt b/3860/CH2/EX2.11/Ex2_11.txt
new file mode 100644
index 000000000..6727d6c01
--- /dev/null
+++ b/3860/CH2/EX2.11/Ex2_11.txt
@@ -0,0 +1,11 @@
+ For the full adder C is used as Cin
+
+ Cout = a'bc + ab'c + abc' + abc
+
+ s = a'b'c + a'bc' + ab'c' + abc
+
+ The simplified expression of Cout is as given below
+
+ Cout = bc + ac + ab
+
+ s is already in minimum SOP form \ No newline at end of file
diff --git a/3860/CH2/EX2.15/Ex2_15.sce b/3860/CH2/EX2.15/Ex2_15.sce
new file mode 100644
index 000000000..3538be05a
--- /dev/null
+++ b/3860/CH2/EX2.15/Ex2_15.sce
@@ -0,0 +1,5 @@
+//Example 2.15: Reduce expression using Boolean laws
+clc // Clears the console
+disp('xyz + x''y + x''y'' = xyz + x''')
+disp(' = x'' + yz ')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.15/Ex2_15.txt b/3860/CH2/EX2.15/Ex2_15.txt
new file mode 100644
index 000000000..8a9d3868e
--- /dev/null
+++ b/3860/CH2/EX2.15/Ex2_15.txt
@@ -0,0 +1,4 @@
+
+ xyz + x'y + x'y' = xyz + x'
+
+ = x' + yz \ No newline at end of file
diff --git a/3860/CH2/EX2.16/Ex2_16.sce b/3860/CH2/EX2.16/Ex2_16.sce
new file mode 100644
index 000000000..d3531235d
--- /dev/null
+++ b/3860/CH2/EX2.16/Ex2_16.sce
@@ -0,0 +1,12 @@
+//Example 2.16: Reduce expression using Boolean laws
+clc // Clears the console
+disp('wx + wxy + w''yz + w''y''z + w''xyz''')
+disp(' = (wx + wxy) + (w''yz + w''y''z'') + w''xyz''')
+disp(' = wx + w''z + w''xyz''')
+disp(' = wx + w''(z + xyz'')')
+disp(' = wx + w''(z + xy)')
+disp(' = wx + w''z + w''xy)')
+disp(' =w''z + x( w + w''y)')
+disp(' =w''z + x( w + y)')
+disp(' =w''z + wx + xy')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.16/Ex2_16.txt b/3860/CH2/EX2.16/Ex2_16.txt
new file mode 100644
index 000000000..4a0019680
--- /dev/null
+++ b/3860/CH2/EX2.16/Ex2_16.txt
@@ -0,0 +1,18 @@
+
+ wx + wxy + w'yz + w'y'z + w'xyz'
+
+ = (wx + wxy) + (w'yz + w'y'z') + w'xyz'
+
+ = wx + w'z + w'xyz'
+
+ = wx + w'(z + xyz')
+
+ = wx + w'(z + xy)
+
+ = wx + w'z + w'xy)
+
+ =w'z + x( w + w'y)
+
+ =w'z + x( w + y)
+
+ =w'z + wx + xy \ No newline at end of file
diff --git a/3860/CH2/EX2.17/Ex2_17.sce b/3860/CH2/EX2.17/Ex2_17.sce
new file mode 100644
index 000000000..0e394e477
--- /dev/null
+++ b/3860/CH2/EX2.17/Ex2_17.sce
@@ -0,0 +1,8 @@
+//Example 2.17: Reduce expression using Boolean laws
+clc // Clears the console
+disp('(x + y)(x + y +z'') + y''')
+disp('=(x + y) + y''')
+disp('= x + (y + y'')')
+disp('= x + 1')
+disp('= 1')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.17/Ex2_17.txt b/3860/CH2/EX2.17/Ex2_17.txt
new file mode 100644
index 000000000..539e97041
--- /dev/null
+++ b/3860/CH2/EX2.17/Ex2_17.txt
@@ -0,0 +1,10 @@
+
+ (x + y)(x + y +z') + y'
+
+ =(x + y) + y'
+
+ = x + (y + y')
+
+ = x + 1
+
+ = 1 \ No newline at end of file
diff --git a/3860/CH2/EX2.18/Ex2_18.sce b/3860/CH2/EX2.18/Ex2_18.sce
new file mode 100644
index 000000000..f26b41e4e
--- /dev/null
+++ b/3860/CH2/EX2.18/Ex2_18.sce
@@ -0,0 +1,5 @@
+//Example 2.18: Reduce expression using Boolean laws
+clc // Clears the console
+disp('(a + b'' + c)(a + c'')(a'' + b''+ c)( a + c + d)')
+disp('=(b'' + c)(a + c'')( a + d'')')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.18/Ex2_18.txt b/3860/CH2/EX2.18/Ex2_18.txt
new file mode 100644
index 000000000..9e42e80a9
--- /dev/null
+++ b/3860/CH2/EX2.18/Ex2_18.txt
@@ -0,0 +1,4 @@
+
+ (a + b' + c)(a + c')(a' + b'+ c)( a + c + d)
+
+ =(b' + c)(a + c')( a + d')
diff --git a/3860/CH2/EX2.2/Ex2_2.sce b/3860/CH2/EX2.2/Ex2_2.sce
new file mode 100644
index 000000000..6abce8702
--- /dev/null
+++ b/3860/CH2/EX2.2/Ex2_2.sce
@@ -0,0 +1,38 @@
+//Example 2.2: Truth table based on three functions.
+clc // Clears the console
+disp("Truth Table")
+disp("f = y''z'' + x''y + x''yz''")
+disp("g = xy'' + x''z'' + x''y")
+disp("h = (x'' + y'')(x + y + z''")
+disp('****************************************')
+disp("x y z | y''z'' x''y x''yz'' | f")
+disp("0 0 0 | 1 0 0 | 1")
+disp("0 0 1 | 0 0 0 | 0")
+disp("0 1 0 | 0 1 1 | 1")
+disp("0 1 1 | 0 1 0 | 1")
+disp("1 0 0 | 1 0 0 | 1")
+disp("1 0 1 | 0 0 0 | 0")
+disp("1 1 0 | 0 0 0 | 0")
+disp("1 1 1 | 0 0 0 | 0")
+disp('****************************************')
+disp("x y z | xy'' x''z'' x''y | g")
+disp("0 0 0 | 0 1 0 | 1")
+disp("0 0 1 | 0 0 0 | 0")
+disp("0 1 0 | 0 1 1 | 1")
+disp("0 1 1 | 0 0 1 | 1")
+disp("1 0 0 | 1 0 0 | 1")
+disp("1 0 1 | 1 0 0 | 1")
+disp("1 1 0 | 0 0 0 | 0")
+disp("1 1 1 | 0 0 0 | 0")
+disp('****************************************')
+disp("x y z | x''+ y'' x + y + z'' | h")
+disp("0 0 0 | 1 1 | 1")
+disp("0 0 1 | 1 0 | 0")
+disp("0 1 0 | 1 1 | 1")
+disp("0 1 1 | 1 1 | 1")
+disp("1 0 0 | 1 1 | 1")
+disp("1 0 1 | 1 1 | 1")
+disp("1 1 0 | 0 1 | 0")
+disp("1 1 1 | 0 1 | 0")
+disp('****************************************')
+disp("The functions g and h are identical.")
diff --git a/3860/CH2/EX2.2/Ex2_2.txt b/3860/CH2/EX2.2/Ex2_2.txt
new file mode 100644
index 000000000..114867951
--- /dev/null
+++ b/3860/CH2/EX2.2/Ex2_2.txt
@@ -0,0 +1,72 @@
+
+ Truth Table
+
+ f = y'z' + x'y + x'yz'
+
+ g = xy' + x'z' + x'y
+
+ h = (x' + y')(x + y + z'
+
+ ****************************************
+
+ x y z | y'z' x'y x'yz' | f
+
+ 0 0 0 | 1 0 0 | 1
+
+ 0 0 1 | 0 0 0 | 0
+
+ 0 1 0 | 0 1 1 | 1
+
+ 0 1 1 | 0 1 0 | 1
+
+ 1 0 0 | 1 0 0 | 1
+
+ 1 0 1 | 0 0 0 | 0
+
+ 1 1 0 | 0 0 0 | 0
+
+ 1 1 1 | 0 0 0 | 0
+
+ ****************************************
+
+ x y z | xy' x'z' x'y | g
+
+ 0 0 0 | 0 1 0 | 1
+
+ 0 0 1 | 0 0 0 | 0
+
+ 0 1 0 | 0 1 1 | 1
+
+ 0 1 1 | 0 0 1 | 1
+
+ 1 0 0 | 1 0 0 | 1
+
+ 1 0 1 | 1 0 0 | 1
+
+ 1 1 0 | 0 0 0 | 0
+
+ 1 1 1 | 0 0 0 | 0
+
+ ****************************************
+
+ x y z | x'+ y' x + y + z' | h
+
+ 0 0 0 | 1 1 | 1
+
+ 0 0 1 | 1 0 | 0
+
+ 0 1 0 | 1 1 | 1
+
+ 0 1 1 | 1 1 | 1
+
+ 1 0 0 | 1 1 | 1
+
+ 1 0 1 | 1 1 | 1
+
+ 1 1 0 | 0 1 | 0
+
+ 1 1 1 | 0 1 | 0
+
+ ****************************************
+
+ The functions g and h are identical.
diff --git a/3860/CH2/EX2.20/Ex2_20.sce b/3860/CH2/EX2.20/Ex2_20.sce
new file mode 100644
index 000000000..6419ebb54
--- /dev/null
+++ b/3860/CH2/EX2.20/Ex2_20.sce
@@ -0,0 +1,6 @@
+//Example 2.20: Reduce expression using Boolean laws ( Consensus Theorem)
+clc // Clears the console
+disp('f = a''b''c'' + a''bc'' + a''bc + ab''c''')
+disp('f1 = a''c'' + a''b + b''c''')
+disp('f2 = b''c'' + a''b reduced using consensus theorem') //term a'c' is removed as it is the consensus of other two terms.
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.20/Ex2_20.txt b/3860/CH2/EX2.20/Ex2_20.txt
new file mode 100644
index 000000000..59248e28c
--- /dev/null
+++ b/3860/CH2/EX2.20/Ex2_20.txt
@@ -0,0 +1,6 @@
+
+ f = a'b'c' + a'bc' + a'bc + ab'c'
+
+ f1 = a'c' + a'b + b'c'
+
+ f2 = b'c' + a'b reduced using consensus theorem \ No newline at end of file
diff --git a/3860/CH2/EX2.21/Ex2_21.sce b/3860/CH2/EX2.21/Ex2_21.sce
new file mode 100644
index 000000000..a68c11acc
--- /dev/null
+++ b/3860/CH2/EX2.21/Ex2_21.sce
@@ -0,0 +1,7 @@
+//Example 2.21: Reduce expression using Boolean laws ( Consensus Theorem)
+clc // Clears the console
+disp('g = bc'' + abd + acd ')
+disp('the only consensus term defined is bc''$ acd = abd')
+disp('g = bc'' + acd ')//removing consensus term
+
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.21/Ex2_21.txt b/3860/CH2/EX2.21/Ex2_21.txt
new file mode 100644
index 000000000..3628d2d4b
--- /dev/null
+++ b/3860/CH2/EX2.21/Ex2_21.txt
@@ -0,0 +1,6 @@
+
+ g = bc' + abd + acd
+
+ the only consensus term defined is bc'$ acd = abd
+
+ g = bc' + acd
diff --git a/3860/CH2/EX2.22/Ex2_22.sce b/3860/CH2/EX2.22/Ex2_22.sce
new file mode 100644
index 000000000..1be2190ee
--- /dev/null
+++ b/3860/CH2/EX2.22/Ex2_22.sce
@@ -0,0 +1,8 @@
+//Example 2.22: Reduce expression using Boolean laws ( Consensus Theorem)
+clc // Clears the console
+disp('f = c''d''+ ac'' + ad + bd'' + ab ')
+disp('Two terms can be reduced using consensus twice')
+disp('c''d'' $ ad = ac'' and ad $ bd'' = ab')
+disp('Thus we can remove ac'' and ab leaving')
+disp('f = c''d''+ ad + bd'' ')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.22/Ex2_22.txt b/3860/CH2/EX2.22/Ex2_22.txt
new file mode 100644
index 000000000..fe62e006e
--- /dev/null
+++ b/3860/CH2/EX2.22/Ex2_22.txt
@@ -0,0 +1,10 @@
+
+ f = c'd'+ ac' + ad + bd' + ab
+
+ Two terms can be reduced using consensus twice
+
+ c'd' $ ad = ac' and ad $ bd' = ab
+
+ Thus we can remove ac' and ab leaving
+
+ f = c'd'+ ad + bd'
diff --git a/3860/CH2/EX2.23/Ex2_23.sce b/3860/CH2/EX2.23/Ex2_23.sce
new file mode 100644
index 000000000..5540da369
--- /dev/null
+++ b/3860/CH2/EX2.23/Ex2_23.sce
@@ -0,0 +1,7 @@
+//Example 2.23: Reduce expression using Boolean laws
+clc // Clears the console
+disp('A''BCD + A''BC''D + B''EF + CDE''G + A''DEF + A''B''EF')
+disp('= A''BD + B''EF + CDE''G + A''DEF')
+disp('But A''BD $ B''EF = A''DEF and this reduces to ')
+disp('= A''BD + B''EF + CDE''G')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.23/Ex2_23.txt b/3860/CH2/EX2.23/Ex2_23.txt
new file mode 100644
index 000000000..d170e37ef
--- /dev/null
+++ b/3860/CH2/EX2.23/Ex2_23.txt
@@ -0,0 +1,8 @@
+
+ A'BCD + A'BC'D + B'EF + CDE'G + A'DEF + A'B'EF
+
+ = A'BD + B'EF + CDE'G + A'DEF
+
+ But A'BD $ B'EF = A'DEF and this reduces to
+
+ = A'BD + B'EF + CDE'G \ No newline at end of file
diff --git a/3860/CH2/EX2.24/Ex2_24.sce b/3860/CH2/EX2.24/Ex2_24.sce
new file mode 100644
index 000000000..434b63909
--- /dev/null
+++ b/3860/CH2/EX2.24/Ex2_24.sce
@@ -0,0 +1,8 @@
+//Example 2.24: Reduce expression using Boolean laws
+clc // Clears the console
+disp('w''xy + wz + xz + w''y''z + w''xy'' + wx''z')
+disp('= wz + w''x + xz +w''y''z')
+disp('= wz + w''x + w''y''z since wz $ w''x = xz')
+disp('But wz +w''y''z = z(w + w''y'') = z(w + y'')')
+disp('= wz + w''x + y''z ')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.24/Ex2_24.txt b/3860/CH2/EX2.24/Ex2_24.txt
new file mode 100644
index 000000000..e29704804
--- /dev/null
+++ b/3860/CH2/EX2.24/Ex2_24.txt
@@ -0,0 +1,10 @@
+
+ w'xy + wz + xz + w'y'z + w'xy' + wx'z
+
+ = wz + w'x + xz +w'y'z
+
+ = wz + w'x + w'y'z since wz $ w'x = xz
+
+ But wz +w'y'z = z(w + w'y') = z(w + y')
+
+ = wz + w'x + y'z \ No newline at end of file
diff --git a/3860/CH2/EX2.25/Ex2_25.sce b/3860/CH2/EX2.25/Ex2_25.sce
new file mode 100644
index 000000000..7d0f0bcbe
--- /dev/null
+++ b/3860/CH2/EX2.25/Ex2_25.sce
@@ -0,0 +1,8 @@
+//Example 2.25: Manipulation of algebric functions.
+clc // Clears the console
+disp('f = bc + ac + ab ')
+disp('f = bca + bca'' + ac + ab ')// converting into disjunctive normal form.
+disp('f = bca + bca'' + acb + acb'' + abc + abc'' ')
+disp('f = abc + a''bc + abc + ab''c + abc + abc'' ')// arranging into alphabetical order
+disp('f = a''bc + ab''c + abc'' + abc ') //removing duplicate terms.
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.25/Ex2_25.txt b/3860/CH2/EX2.25/Ex2_25.txt
new file mode 100644
index 000000000..481f671ef
--- /dev/null
+++ b/3860/CH2/EX2.25/Ex2_25.txt
@@ -0,0 +1,10 @@
+
+ f = bc + ac + ab
+
+ f = bca + bca' + ac + ab
+
+ f = bca + bca' + acb + acb' + abc + abc'
+
+ f = abc + a'bc + abc + ab'c + abc + abc'
+
+ f = a'bc + ab'c + abc' + abc \ No newline at end of file
diff --git a/3860/CH2/EX2.26/Ex2_26.sce b/3860/CH2/EX2.26/Ex2_26.sce
new file mode 100644
index 000000000..2a95f1284
--- /dev/null
+++ b/3860/CH2/EX2.26/Ex2_26.sce
@@ -0,0 +1,6 @@
+//Example 2.26: Conversion of Boolean expression into minterm expression
+clc // Clears the console
+disp('g = x'' + xyz')
+disp(' = x''yz + x''yz'' + x''y''z + x''y''z'' + xyz')
+disp('g(x,y,z) = summation of minterms( 3,2,1,0,7) = summation of minterms ( 0,1,2,3,7)')//Since minterm numbers are usually written in numeric order.
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.26/Ex2_26.txt b/3860/CH2/EX2.26/Ex2_26.txt
new file mode 100644
index 000000000..3bcb86c96
--- /dev/null
+++ b/3860/CH2/EX2.26/Ex2_26.txt
@@ -0,0 +1,6 @@
+
+ g = x' + xyz
+
+ = x'yz + x'yz' + x'y'z + x'y'z' + xyz
+
+ g(x,y,z) = summation of minterms( 3,2,1,0,7) = summation of minterms ( 0,1,2,3,7) \ No newline at end of file
diff --git a/3860/CH2/EX2.27/Ex2_27.sce b/3860/CH2/EX2.27/Ex2_27.sce
new file mode 100644
index 000000000..c894d3af3
--- /dev/null
+++ b/3860/CH2/EX2.27/Ex2_27.sce
@@ -0,0 +1,6 @@
+//Example 2.27: Manipulation of algebric functions into POS form.
+clc // Clears the console
+disp('f = (A + B + C) ( A'' + B'')')
+disp('f = (A + B + C) ( A'' + B'' + C) ( A'' + B'' + C'')')// converting into disjunctive normal form.
+disp(' The POS form of given expression is displayed')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.27/Ex2_27.txt b/3860/CH2/EX2.27/Ex2_27.txt
new file mode 100644
index 000000000..fa3d2890a
--- /dev/null
+++ b/3860/CH2/EX2.27/Ex2_27.txt
@@ -0,0 +1,6 @@
+
+ f = (A + B + C) ( A' + B')
+
+ f = (A + B + C) ( A' + B' + C) ( A' + B' + C')
+
+ The POS form of given expression is displayed \ No newline at end of file
diff --git a/3860/CH2/EX2.28/Ex2_28.sce b/3860/CH2/EX2.28/Ex2_28.sce
new file mode 100644
index 000000000..9cbaa3602
--- /dev/null
+++ b/3860/CH2/EX2.28/Ex2_28.sce
@@ -0,0 +1,8 @@
+//Example 2.28: Manipulation POS expression into SOP Expression.
+clc // Clears the console
+disp('f = (A + B + C) ( A'' + B'') = AB'' + A''( B + C) = AB'' + A''B + A''C')
+disp('f = AA'' + AB'' + BA'' + BB'' + CA'' + CB''')// converting into disjunctive normal form.
+disp('f = AB'' + A''B + A''C + B''C')
+disp(' The SOP form of given expression is displayed')
+disp(' The term B''C can then be removed because it is the consensus of AB'' and A''C')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.28/Ex2_28.txt b/3860/CH2/EX2.28/Ex2_28.txt
new file mode 100644
index 000000000..a7378e954
--- /dev/null
+++ b/3860/CH2/EX2.28/Ex2_28.txt
@@ -0,0 +1,10 @@
+
+ f = (A + B + C) ( A' + B') = AB' + A'( B + C) = AB' + A'B + A'C
+
+ f = AA' + AB' + BA' + BB' + CA' + CB'
+
+ f = AB' + A'B + A'C + B'C
+
+ The SOP form of given expression is displayed
+
+ The term B'C can then be removed because it is the consensus of AB' and A'C \ No newline at end of file
diff --git a/3860/CH2/EX2.29/Ex2_29.sce b/3860/CH2/EX2.29/Ex2_29.sce
new file mode 100644
index 000000000..b1d6c3351
--- /dev/null
+++ b/3860/CH2/EX2.29/Ex2_29.sce
@@ -0,0 +1,8 @@
+//Example 2.29: Manipulation POS expression into SOP Expression.
+clc // Clears the console
+disp('(A + B'' + C) ( A + B + D) (A'' + C'' + D'')')
+disp(' = [A + (B'' + C)(B + D)](A'' + C'' + D''')
+disp(' = (A + B''D + BC)(A'' + C'' + D'')')
+disp(' = A ( C''+ D'') + A''(B''D + BC )')
+disp(' = AC'' + AD'' + A''B''D + A''BC')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.29/Ex2_29.txt b/3860/CH2/EX2.29/Ex2_29.txt
new file mode 100644
index 000000000..dbfa6d9bc
--- /dev/null
+++ b/3860/CH2/EX2.29/Ex2_29.txt
@@ -0,0 +1,10 @@
+
+ (A + B' + C) ( A + B + D) (A' + C' + D')
+
+ = [A + (B' + C)(B + D)](A' + C' + D'
+
+ = (A + B'D + BC)(A' + C' + D')
+
+ = A ( C'+ D') + A'(B'D + BC )
+
+ = AC' + AD' + A'B'D + A'BC
diff --git a/3860/CH2/EX2.3/EX2_3.sce b/3860/CH2/EX2.3/EX2_3.sce
new file mode 100644
index 000000000..f2196b787
--- /dev/null
+++ b/3860/CH2/EX2.3/EX2_3.sce
@@ -0,0 +1,10 @@
+//Example 2.3: Reduce a given expression
+clc; //clears the console
+clear; //clears all existing variables
+//the given expression is as follows//
+disp(' Given Expression- A''B''C''+ A''BC''+ A''BC + AB''C''')
+disp('A''C''+ A''BC + AB''C''')
+disp('A''C''+ A''B + AB''C''')
+disp('A''C''+ A''B + B''C''')
+disp('The reduced expression is = ')
+disp('B''C''+ A''B') //final reduced expression is displayed//
diff --git a/3860/CH2/EX2.3/Ex2_3.txt b/3860/CH2/EX2.3/Ex2_3.txt
new file mode 100644
index 000000000..ad6051b6a
--- /dev/null
+++ b/3860/CH2/EX2.3/Ex2_3.txt
@@ -0,0 +1,12 @@
+
+ Given Expression- A'B'C'+ A'BC'+ A'BC + AB'C'
+
+ A'C'+ A'BC + AB'C'
+
+ A'C'+ A'B + AB'C'
+
+ A'C'+ A'B + B'C'
+
+ The reduced expression is =
+
+ B'C'+ A'B
diff --git a/3860/CH2/EX2.30/Ex2_30.sce b/3860/CH2/EX2.30/Ex2_30.sce
new file mode 100644
index 000000000..6980820ee
--- /dev/null
+++ b/3860/CH2/EX2.30/Ex2_30.sce
@@ -0,0 +1,8 @@
+//Example 2.30: Convert expression into POS Form
+clc // Clears the console
+disp('wxy'' + xyz + w''x''z''')
+disp('= x(wy'' + yz) + w''x''z''')
+disp('= x(y'' + z)(y + w) + w''x''z''')
+disp('= (x + w''z'')[x'' + (y'' + z )(y + w)]')
+disp('= (x + w'')(x + z'')(x'' + y'' + z )(x'' + y + w)]')
+//the reduced expression is displayed.
diff --git a/3860/CH2/EX2.30/Ex2_30.txt b/3860/CH2/EX2.30/Ex2_30.txt
new file mode 100644
index 000000000..bed251468
--- /dev/null
+++ b/3860/CH2/EX2.30/Ex2_30.txt
@@ -0,0 +1,10 @@
+
+ wxy' + xyz + w'x'z'
+
+ = x(wy' + yz) + w'x'z'
+
+ = x(y' + z)(y + w) + w'x'z'
+
+ = (x + w'z')[x' + (y' + z )(y + w)]
+
+ = (x + w')(x + z')(x' + y' + z )(x' + y + w)] \ No newline at end of file
diff --git a/3860/CH2/EX2.5/EX2_5.sce b/3860/CH2/EX2.5/EX2_5.sce
new file mode 100644
index 000000000..57add8e50
--- /dev/null
+++ b/3860/CH2/EX2.5/EX2_5.sce
@@ -0,0 +1,8 @@
+//Example 2.5: Use of Demorgans Theorem.to find complement of a given function.
+clc; //clears the console
+clear; //clears all existing variables
+disp('The given expression is as follows')
+disp('f = wx''y + xy'' + wxz')
+disp('f'' = (wx''y + xy'' + wxz)''')
+disp('f'' = (wx''y)''(xy'')''(wxz)''')
+disp('f'' = (w''+ x + y'')(x'' + y)(w'' + x''+ z'')')
diff --git a/3860/CH2/EX2.5/Ex2_5.txt b/3860/CH2/EX2.5/Ex2_5.txt
new file mode 100644
index 000000000..b7ac1e29b
--- /dev/null
+++ b/3860/CH2/EX2.5/Ex2_5.txt
@@ -0,0 +1,9 @@
+ The given expression is as follows
+
+ f = wx'y + xy' + wxz
+
+ f' = (wx'y + xy' + wxz)'
+
+ f' = (wx'y)'(xy')'(wxz)'
+
+ f' = (w'+ x + y')(x' + y)(w' + x'+ z') \ No newline at end of file
diff --git a/3860/CH2/EX2.6/EX2_6.sce b/3860/CH2/EX2.6/EX2_6.sce
new file mode 100644
index 000000000..810a106b8
--- /dev/null
+++ b/3860/CH2/EX2.6/EX2_6.sce
@@ -0,0 +1,11 @@
+//Example 2.6: Use of Demorgans Theorem.to find complement of a given function.
+clc; //clears the console
+clear; //clears all existing variables
+disp('The given expression is as follows')
+disp('f = ab''(c + d''e) + a''bc'')')
+disp('Finding complement using Demorgan''s Theorem')
+disp('f'' = [ab''(c + d''e) + a''bc'']''')
+disp('f'' = [ab''(c + d''e)]'' [a''bc'']''')
+disp('f'' = [a'' + b + (c + d''e)''][a + b'' + c]')
+disp('f'' = [a'' + b + c''(d''e)''][a + b'' + c]')
+disp('f'' = [a'' + b + c''(d + e'')][a + b'' + c]')
diff --git a/3860/CH2/EX2.6/Ex2_6.txt b/3860/CH2/EX2.6/Ex2_6.txt
new file mode 100644
index 000000000..bf14f6357
--- /dev/null
+++ b/3860/CH2/EX2.6/Ex2_6.txt
@@ -0,0 +1,16 @@
+
+ The given expression is as follows
+
+ f = ab'(c + d'e) + a'bc')
+
+ Finding complement using Demorgan's Theorem
+
+ f' = [ab'(c + d'e) + a'bc']'
+
+ f' = [ab'(c + d'e)]' [a'bc']'
+
+ f' = [a' + b + (c + d'e)'][a + b' + c]
+
+ f' = [a' + b + c'(d'e)'][a + b' + c]
+
+ f' = [a' + b + c'(d + e')][a + b' + c] \ No newline at end of file
diff --git a/3860/CH2/EX2.7/Ex2_7.sce b/3860/CH2/EX2.7/Ex2_7.sce
new file mode 100644
index 000000000..703161ec9
--- /dev/null
+++ b/3860/CH2/EX2.7/Ex2_7.sce
@@ -0,0 +1,20 @@
+//Example 2.7: Finding POS form from given truth table.
+clc // Clears the console
+disp('Given truth table')
+disp('****************************************')
+disp("A B C | f f''")
+disp("0 0 0 | 1 1")
+disp("0 0 1 | 0 0")
+disp("0 1 0 | 1 0")
+disp("0 1 1 | 1 0")
+disp("1 0 0 | 1 0")
+disp("1 0 1 | 0 0")
+disp("1 1 0 | 0 1")
+disp("1 1 1 | 0 1")
+disp('f(A,B,C) = summation(1,2,3,4,5)')
+disp('The complement of function is as given below')
+disp('f''(A,B,C) = summation(0,6,7)')
+disp(' = A''B''C'' + ABC'' + ABC ')
+disp(' = A''B''C'' + AB')
+disp('f = (A + B + C)(A'' + B''')
+disp('This is the reduced POS expression')
diff --git a/3860/CH2/EX2.7/Ex2_7.txt b/3860/CH2/EX2.7/Ex2_7.txt
new file mode 100644
index 000000000..4f835c667
--- /dev/null
+++ b/3860/CH2/EX2.7/Ex2_7.txt
@@ -0,0 +1,36 @@
+
+ Given truth table
+
+ ****************************************
+
+ A B C | f f'
+
+ 0 0 0 | 1 1
+
+ 0 0 1 | 0 0
+
+ 0 1 0 | 1 0
+
+ 0 1 1 | 1 0
+
+ 1 0 0 | 1 0
+
+ 1 0 1 | 0 0
+
+ 1 1 0 | 0 1
+
+ 1 1 1 | 0 1
+
+ f(A,B,C) = summation(1,2,3,4,5)
+
+ The complement of function is as given below
+
+ f'(A,B,C) = summation(0,6,7)
+
+ = A'B'C' + ABC' + ABC
+
+ = A'B'C' + AB
+
+ f = (A + B + C)(A' + B'
+
+ This is the reduced POS expression \ No newline at end of file
diff --git a/3860/CH2/EX2.8/Ex2_8.sce b/3860/CH2/EX2.8/Ex2_8.sce
new file mode 100644
index 000000000..2615336b3
--- /dev/null
+++ b/3860/CH2/EX2.8/Ex2_8.sce
@@ -0,0 +1,13 @@
+//Example 2.8: Representation of truth table from minterm expression
+clc // Clears the console
+disp("f(a,b,c) = Summation minterms (1,2,5) + Summation dont cares (0,3)")
+disp('implies that minterms 1,2 and 5 are included in the function and that 0 and 3 are dont cares, that is the truth table is as follows:')
+disp("a b c | f")
+disp("0 0 0 | x")
+disp("0 0 1 | 1")
+disp("0 1 0 | 1")
+disp("0 1 1 | x")
+disp("1 0 0 | 0")
+disp("1 0 1 | 1")
+disp("1 1 0 | 0")
+disp("1 1 1 | 0")
diff --git a/3860/CH2/EX2.8/Ex2_8.txt b/3860/CH2/EX2.8/Ex2_8.txt
new file mode 100644
index 000000000..8d138f2ef
--- /dev/null
+++ b/3860/CH2/EX2.8/Ex2_8.txt
@@ -0,0 +1,22 @@
+
+ f(a,b,c) = Summation minterms (1,2,5) + Summation dont cares (0,3)
+
+ implies that minterms 1,2 and 5 are included in the function and that 0 and 3 are dont cares, that is the truth table is as follows:
+
+ a b c | f
+
+ 0 0 0 | x
+
+ 0 0 1 | 1
+
+ 0 1 0 | 1
+
+ 0 1 1 | x
+
+ 1 0 0 | 0
+
+ 1 0 1 | 1
+
+ 1 1 0 | 0
+
+ 1 1 1 | 0 \ No newline at end of file
diff --git a/3860/CH2/EX2.9/Ex2_9.sce b/3860/CH2/EX2.9/Ex2_9.sce
new file mode 100644
index 000000000..75d02db23
--- /dev/null
+++ b/3860/CH2/EX2.9/Ex2_9.sce
@@ -0,0 +1,8 @@
+//Example 2.9: Finding reduced boolean expression using Boolean laws
+clc // Clears the console
+disp('Z2 = A''BCD + AB''CD + ABC''D + ABCD'' + ABCD')
+disp('the last terms ABCD can be combined with each of the others. Thus, if we make four copies of it and then utilize for times we obtain')
+disp('Z2 = BCD + ACD + ABD + ABC')
+disp('No further simplification is possible; this is minimum SOP form')
+disp('Z1 = A''BCD + AB''CD + ABC''D + ABCD'' ')
+disp('In case of Z1 no simplification is possible it has 16 literals whereas expression for Z2 only has 12 literals.')
diff --git a/3860/CH2/EX2.9/Ex2_9.txt b/3860/CH2/EX2.9/Ex2_9.txt
new file mode 100644
index 000000000..66f2c0d78
--- /dev/null
+++ b/3860/CH2/EX2.9/Ex2_9.txt
@@ -0,0 +1,12 @@
+
+ Z2 = A'BCD + AB'CD + ABC'D + ABCD' + ABCD
+
+ the last terms ABCD can be combined with each of the others. Thus, if we make four copies of it and then utilize for times we obtain
+
+ Z2 = BCD + ACD + ABD + ABC
+
+ No further simplification is possible; this is minimum SOP form
+
+ Z1 = A'BCD + AB'CD + ABC'D + ABCD'
+
+ In case of Z1 no simplification is possible it has 16 literals whereas expression for Z2 only has 12 literals.
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
diff --git a/3860/CH5/EX5.3/Ex5_3.sce b/3860/CH5/EX5.3/Ex5_3.sce
new file mode 100644
index 000000000..85b206d1d
--- /dev/null
+++ b/3860/CH5/EX5.3/Ex5_3.sce
@@ -0,0 +1,16 @@
+//Example 5.3: Implementation of Boolean logic using Decoders
+clc // Clears the console
+disp("f(a,b,c) = Summation(0,2,3,7)")
+disp("g(a,b,c) = Summation(1,4,6,7)")
+disp("Truth Table")
+disp("a b c | f g")
+disp("0 0 0 | 1 0")
+disp("0 0 1 | 0 1")
+disp("0 1 0 | 1 0")
+disp("0 1 1 | 1 0")
+disp("1 0 0 | 0 1")
+disp("1 0 1 | 0 0")
+disp("1 1 0 | 0 1")
+disp("1 1 1 | 1 1")
+disp("The function f = a''b''c'' + a''bc'' + a''bc + abc.")
+disp("The function g = a''b''c + ab''c'' + abc'' + abc.")
diff --git a/3860/CH5/EX5.3/Ex5_3.txt b/3860/CH5/EX5.3/Ex5_3.txt
new file mode 100644
index 000000000..73e9145b1
--- /dev/null
+++ b/3860/CH5/EX5.3/Ex5_3.txt
@@ -0,0 +1,28 @@
+
+ f(a,b,c) = Summation(0,2,3,7)
+
+ g(a,b,c) = Summation(1,4,6,7)
+
+ Truth Table
+
+ a b c | f g
+
+ 0 0 0 | 1 0
+
+ 0 0 1 | 0 1
+
+ 0 1 0 | 1 0
+
+ 0 1 1 | 1 0
+
+ 1 0 0 | 0 1
+
+ 1 0 1 | 0 0
+
+ 1 1 0 | 0 1
+
+ 1 1 1 | 1 1
+
+ The function f = a'b'c' + a'bc' + a'bc + abc.
+
+ The function g = a'b'c + ab'c' + abc' + abc. \ No newline at end of file
diff --git a/3860/CH5/EX5.5/Ex5_5.sce b/3860/CH5/EX5.5/Ex5_5.sce
new file mode 100644
index 000000000..e716e963f
--- /dev/null
+++ b/3860/CH5/EX5.5/Ex5_5.sce
@@ -0,0 +1,28 @@
+//Example 5.5: Implementation of Boolean logic Multiplexer
+clc // Clears the console
+disp("f(a,b,c) = Summation(0,1,2,5)")
+disp("Truth Table")
+disp("a b c | f")
+disp("0 0 0 | 1")
+disp("0 0 1 | 1")
+disp("0 1 0 | 1")
+disp("0 1 1 | 0")
+disp("1 0 0 | 0")
+disp("1 0 1 | 1")
+disp("1 1 0 | 0")
+disp("1 1 1 | 0")
+disp("The function f = a''b''c'' + a''b''c + a''bc'' + ab''c")
+disp("*************************************************************")
+disp("Implementation using 8:1 Multiplexer")
+disp("Inputs of Multiplexer are denoted by D0,D1,D2,D3,D4,D5,D6 and D7")
+disp("Select Lines of Multiplexer are denoted by S2,S1,S0")
+disp("Input and Select Line assignment")
+disp(" D0 = 1, D1 = 1, D2 = 1,D3 = 0, D4 = 0, D5 = 1, D6 = 0, D7 = 0")
+disp(" S2 = a, S1 = b, S0 = c")
+disp("*************************************************************")
+disp("Implementation using 4:1 Multiplexer")
+disp("Inputs of Multiplexer are denoted by D0,D1,D2,D3")
+disp("Select Lines of Multiplexer are denoted by S1,S0")
+disp("Input and Select Line assignment")
+disp(" D0 = 1, D1 = c'', D2 = c ,D3 = 0")
+disp(" S1 = a, S0 = b")
diff --git a/3860/CH5/EX5.5/Ex5_5.txt b/3860/CH5/EX5.5/Ex5_5.txt
new file mode 100644
index 000000000..1c186b856
--- /dev/null
+++ b/3860/CH5/EX5.5/Ex5_5.txt
@@ -0,0 +1,52 @@
+
+ f(a,b,c) = Summation(0,1,2,5)
+
+ Truth Table
+
+ a b c | f
+
+ 0 0 0 | 1
+
+ 0 0 1 | 1
+
+ 0 1 0 | 1
+
+ 0 1 1 | 0
+
+ 1 0 0 | 0
+
+ 1 0 1 | 1
+
+ 1 1 0 | 0
+
+ 1 1 1 | 0
+
+ The function f = a'b'c' + a'b'c + a'bc' + ab'c
+
+ *************************************************************
+
+ Implementation using 8:1 Multiplexer
+
+ Inputs of Multiplexer are denoted by D0,D1,D2,D3,D4,D5,D6 and D7
+
+ Select Lines of Multiplexer are denoted by S2,S1,S0
+
+ Input and Select Line assignment
+
+ D0 = 1, D1 = 1, D2 = 1,D3 = 0, D4 = 0, D5 = 1, D6 = 0, D7 = 0
+
+ S2 = a, S1 = b, S0 = c
+
+ *************************************************************
+
+ Implementation using 4:1 Multiplexer
+
+ Inputs of Multiplexer are denoted by D0,D1,D2,D3
+
+ Select Lines of Multiplexer are denoted by S1,S0
+
+ Input and Select Line assignment
+
+ D0 = 1, D1 = c', D2 = c ,D3 = 0
+
+ S1 = a, S0 = b \ No newline at end of file
diff --git a/3860/CH8/EX8.2/Ex8_2.sce b/3860/CH8/EX8.2/Ex8_2.sce
new file mode 100644
index 000000000..f65eef3af
--- /dev/null
+++ b/3860/CH8/EX8.2/Ex8_2.sce
@@ -0,0 +1,16 @@
+//Example 8.2: mod-120 counter
+clc // Clears the console
+disp("Displays the count from 0 to 119")
+disp('0000000')
+disp('0000001')
+disp('0000010')
+disp('0000011')
+disp('0000100')
+disp('0000101')
+disp("0000110")
+disp(" -")
+disp(" -")
+disp(" -")
+disp("1110111")
+disp('displays the count till 1110111')
+disp('the counter resets to 0000000')
diff --git a/3860/CH8/EX8.2/Ex8_2.txt b/3860/CH8/EX8.2/Ex8_2.txt
new file mode 100644
index 000000000..9632e459c
--- /dev/null
+++ b/3860/CH8/EX8.2/Ex8_2.txt
@@ -0,0 +1,28 @@
+
+ Displays the count from 0 to 119
+
+ 0000000
+
+ 0000001
+
+ 0000010
+
+ 0000011
+
+ 0000100
+
+ 0000101
+
+ 0000110
+
+ -
+
+ -
+
+ -
+
+ 1110111
+
+ displays the count till 1110111
+
+ the counter resets to 0000000 \ No newline at end of file
diff --git a/3860/CH8/EX8.3/Ex8_3.sce b/3860/CH8/EX8.3/Ex8_3.sce
new file mode 100644
index 000000000..89eba1073
--- /dev/null
+++ b/3860/CH8/EX8.3/Ex8_3.sce
@@ -0,0 +1,16 @@
+//Example 8.3: mod-120 counter
+clc // Clears the console
+disp("Displays the count from 0 to 119")
+disp('0000000')
+disp('0000001')
+disp('0000010')
+disp('0000011')
+disp('0000100')
+disp('0000101')
+disp("0000110")
+disp(" -")
+disp(" -")
+disp(" -")
+disp("1110111")
+disp('displays the count till 1110111')
+disp('the counter resets to 0000000')
diff --git a/3860/CH8/EX8.3/Ex8_3.txt b/3860/CH8/EX8.3/Ex8_3.txt
new file mode 100644
index 000000000..9632e459c
--- /dev/null
+++ b/3860/CH8/EX8.3/Ex8_3.txt
@@ -0,0 +1,28 @@
+
+ Displays the count from 0 to 119
+
+ 0000000
+
+ 0000001
+
+ 0000010
+
+ 0000011
+
+ 0000100
+
+ 0000101
+
+ 0000110
+
+ -
+
+ -
+
+ -
+
+ 1110111
+
+ displays the count till 1110111
+
+ the counter resets to 0000000 \ No newline at end of file
diff --git a/3860/CH8/EX8.4/Ex8_4.sce b/3860/CH8/EX8.4/Ex8_4.sce
new file mode 100644
index 000000000..69c4e0379
--- /dev/null
+++ b/3860/CH8/EX8.4/Ex8_4.sce
@@ -0,0 +1,10 @@
+//Example 8.4: a clock pulse for every ninth input clock pulse
+clc // Clears the console
+disp("Displays a clock pulse for every ninth input clock pulse")
+disp(" IC 741613 can be used in three different configuration")
+disp("First solution")
+disp("0 1 2 3 4 5 6 7 8 0 - - - - - - - - ")
+disp("Second solution")
+disp("8 9 10 11 12 13 14 15 0 8 - - - - - - - - ")
+disp("Third solution")
+disp("7 8 9 10 11 12 13 14 15 7 8 - - - - - - - - ")
diff --git a/3860/CH8/EX8.4/Ex8_4.txt b/3860/CH8/EX8.4/Ex8_4.txt
new file mode 100644
index 000000000..6e3ef84d5
--- /dev/null
+++ b/3860/CH8/EX8.4/Ex8_4.txt
@@ -0,0 +1,16 @@
+
+ Displays a clock pulse for every ninth input clock pulse
+
+ IC 741613 can be used in three different configuration
+
+ First solution
+
+ 0 1 2 3 4 5 6 7 8 0 - - - - - - - -
+
+ Second solution
+
+ 8 9 10 11 12 13 14 15 0 8 - - - - - - - -
+
+ Third solution
+
+ 7 8 9 10 11 12 13 14 15 7 8 - - - - - - - - \ No newline at end of file
diff --git a/3860/CH8/EX8.7/Ex8_7.sce b/3860/CH8/EX8.7/Ex8_7.sce
new file mode 100644
index 000000000..19384d361
--- /dev/null
+++ b/3860/CH8/EX8.7/Ex8_7.sce
@@ -0,0 +1,21 @@
+//Example 8.7: Counter that goes through a specific set of sequence.
+clc // Clears the console
+disp("Displays the count in this particular Sequence.")
+disp('0001')
+disp('0010')
+disp('0100')
+disp('0111')
+disp('1011')
+disp('0000')
+disp("0110")
+disp("1101")
+disp("0101")
+disp("1110")
+disp("1000")
+disp("0011")
+disp("1111")
+disp("1100")
+disp("1010")
+disp("1001")
+disp('the counter repeats again.')
+
diff --git a/3860/CH8/EX8.7/Ex8_7.txt b/3860/CH8/EX8.7/Ex8_7.txt
new file mode 100644
index 000000000..d0a791d42
--- /dev/null
+++ b/3860/CH8/EX8.7/Ex8_7.txt
@@ -0,0 +1,36 @@
+
+ Displays the count in this particular Sequence.
+
+ 0001
+
+ 0010
+
+ 0100
+
+ 0111
+
+ 1011
+
+ 0000
+
+ 0110
+
+ 1101
+
+ 0101
+
+ 1110
+
+ 1000
+
+ 0011
+
+ 1111
+
+ 1100
+
+ 1010
+
+ 1001
+
+ the counter repeats again. \ No newline at end of file
diff --git a/3860/CH9/EX9.1/Ex9_1.sce b/3860/CH9/EX9.1/Ex9_1.sce
new file mode 100644
index 000000000..5dbcc15d3
--- /dev/null
+++ b/3860/CH9/EX9.1/Ex9_1.sce
@@ -0,0 +1,18 @@
+//Example 9.1: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | x=0 x=1")
+disp('-----------------------------------------')
+disp("A | C B | 0 0")
+disp("B | D D | 0 0")
+disp("C | A D | 0 1")
+disp("D | A C | 0 1")
+disp('State C and D are equivalent. So, reduced state table is as given below.')
+disp("q | x=0 x=1 | x=0 x=1")
+disp('----------------------------------------------')
+disp(" A | C-D B | 0 0")
+disp(" B | C-D C-D | 0 0")
+disp("C-D | A C-D | 0 1")
+//displays the reduced state table.
+
+
diff --git a/3860/CH9/EX9.1/Ex9_1.txt b/3860/CH9/EX9.1/Ex9_1.txt
new file mode 100644
index 000000000..9483bb1e7
--- /dev/null
+++ b/3860/CH9/EX9.1/Ex9_1.txt
@@ -0,0 +1,26 @@
+
+ Given State Table
+
+ q | x=0 x=1 | x=0 x=1
+
+ -----------------------------------------
+
+ A | C B | 0 0
+
+ B | D D | 0 0
+
+ C | A D | 0 1
+
+ D | A C | 0 1
+
+ State C and D are equivalent. So, reduced state table is as given below.
+
+ q | x=0 x=1 | x=0 x=1
+
+ ----------------------------------------------
+
+ A | C-D B | 0 0
+
+ B | C-D C-D | 0 0
+
+ C-D | A C-D | 0 1
diff --git a/3860/CH9/EX9.10/Ex9_10.sce b/3860/CH9/EX9.10/Ex9_10.sce
new file mode 100644
index 000000000..284969e52
--- /dev/null
+++ b/3860/CH9/EX9.10/Ex9_10.sce
@@ -0,0 +1,19 @@
+//Example 9.10: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | C D | 0")
+disp("B | D A | 1")
+disp("C | E D | 0")
+disp("D | B A | 0")
+disp("E | C D | 0")
+disp('States A-C-E and B-D are equivalent')
+disp(" q | x=0 x=1 | z")
+disp('------------------------------------')
+disp(" A | A B | 0")
+disp(" B | B A | 1")
+
+//displays the reduced state table.
+
+
diff --git a/3860/CH9/EX9.10/Ex9_10.txt b/3860/CH9/EX9.10/Ex9_10.txt
new file mode 100644
index 000000000..05eb8681e
--- /dev/null
+++ b/3860/CH9/EX9.10/Ex9_10.txt
@@ -0,0 +1,26 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | C D | 0
+
+ B | D A | 1
+
+ C | E D | 0
+
+ D | B A | 0
+
+ E | C D | 0
+
+ States A-C-E and B-D are equivalent
+
+ q | x=0 x=1 | z
+
+ ------------------------------------
+
+ A | A B | 0
+
+ B | B A | 1 \ No newline at end of file
diff --git a/3860/CH9/EX9.11/Ex9_11.sce b/3860/CH9/EX9.11/Ex9_11.sce
new file mode 100644
index 000000000..999421a1c
--- /dev/null
+++ b/3860/CH9/EX9.11/Ex9_11.sce
@@ -0,0 +1,22 @@
+//Example 9.11: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | B E | 0")
+disp("B | D A | 1")
+disp("C | G A | 0")
+disp("D | F G | 1")
+disp("E | B C | 0")
+disp("F | D G | 1")
+disp("G | D E | 1")
+disp('The SP partition is also ouput consistent. The smallest equivalent system is given below')
+disp(" q | x=0 x=1 | z")
+disp('------------------------------------')
+disp(" A | B A | 0")
+disp(" B | D A | 1")
+disp(" D | D B | 1")
+
+//displays the reduced state table.
+
+
diff --git a/3860/CH9/EX9.11/Ex9_11.txt b/3860/CH9/EX9.11/Ex9_11.txt
new file mode 100644
index 000000000..66f5d3a2a
--- /dev/null
+++ b/3860/CH9/EX9.11/Ex9_11.txt
@@ -0,0 +1,32 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | B E | 0
+
+ B | D A | 1
+
+ C | G A | 0
+
+ D | F G | 1
+
+ E | B C | 0
+
+ F | D G | 1
+
+ G | D E | 1
+
+ The SP partition is also ouput consistent. The smallest equivalent system is given below
+
+ q | x=0 x=1 | z
+
+ ------------------------------------
+
+ A | B A | 0
+
+ B | D A | 1
+
+ D | D B | 1 \ No newline at end of file
diff --git a/3860/CH9/EX9.12/Ex9_12.sce b/3860/CH9/EX9.12/Ex9_12.sce
new file mode 100644
index 000000000..68783fcde
--- /dev/null
+++ b/3860/CH9/EX9.12/Ex9_12.sce
@@ -0,0 +1,39 @@
+//Example 9.12: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z1 z2 z3 z4 z5")
+disp('--------------------------------')
+disp("A | D B | 0 0 0 1 1")
+disp("B | E C | 0 0 1 0 1")
+disp("C | A B | 1 1 0 0 1")
+disp("D | E C | 1 1 1 1 1")
+disp("E | D B | 1 0 0 1 1")
+disp('Step 1 produces given SP Partitions')
+disp('P1 = (ADE)(BC)')
+disp('P2 = (AE)(B)(C)(D)')
+disp('P3 = (AE)(BC)(D)')
+disp('P4 = (A)(BD)(C)(E)')
+disp('P5 = (AE)(BCD)')
+disp('Step 2 requires three sums')
+disp('P2 + P4 = (AE)(BD)(C)--> P6')
+disp('There are six non trivial SP partitions.')
+disp('For the first output column, None of the SP partitions are output consistent')
+disp('for the second output column only P2 is output consistent')
+disp("q | x=0 x=1 | z2")
+disp('--------------------------------')
+disp("A | D B | 0")
+disp("B | A C | 0")
+disp("C | A B | 1")
+disp("D | A C | 1")
+disp('for the third output column only P2, P4 and P6 all are output consistent')
+disp("q | x=0 x=1 | z3")
+disp('--------------------------------')
+disp("A | B B | 0")
+disp("B | A C | 0")
+disp("C | A B | 1")
+disp('for the fourth output column only P1 is output consistent')
+disp("q | x=0 x=1 | z3")
+disp('--------------------------------')
+disp("A | A B | 0")
+disp("B | A B | 1")
+disp('for the last output column there is no need to find the SP partitions, The system is combinational. It does not depend on the state z=1')
diff --git a/3860/CH9/EX9.12/Ex9_12.txt b/3860/CH9/EX9.12/Ex9_12.txt
new file mode 100644
index 000000000..c0e3e70d6
--- /dev/null
+++ b/3860/CH9/EX9.12/Ex9_12.txt
@@ -0,0 +1,74 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z1 z2 z3 z4 z5
+
+ --------------------------------
+
+ A | D B | 0 0 0 1 1
+
+ B | E C | 0 0 1 0 1
+
+ C | A B | 1 1 0 0 1
+
+ D | E C | 1 1 1 1 1
+
+ E | D B | 1 0 0 1 1
+
+ Step 1 produces given SP Partitions
+
+ P1 = (ADE)(BC)
+
+ P2 = (AE)(B)(C)(D)
+
+ P3 = (AE)(BC)(D)
+
+ P4 = (A)(BD)(C)(E)
+
+ P5 = (AE)(BCD)
+
+ Step 2 requires three sums
+
+ P2 + P4 = (AE)(BD)(C)--> P6
+
+ There are six non trivial SP partitions.
+
+ For the first output column, None of the SP partitions are output consistent
+
+ for the second output column only P2 is output consistent
+
+ q | x=0 x=1 | z2
+
+ --------------------------------
+
+ A | D B | 0
+
+ B | A C | 0
+
+ C | A B | 1
+
+ D | A C | 1
+
+ for the third output column only P2, P4 and P6 all are output consistent
+
+ q | x=0 x=1 | z3
+
+ --------------------------------
+
+ A | B B | 0
+
+ B | A C | 0
+
+ C | A B | 1
+
+ for the fourth output column only P1 is output consistent
+
+ q | x=0 x=1 | z3
+
+ --------------------------------
+
+ A | A B | 0
+
+ B | A B | 1
+
+ for the last output column there is no need to find the SP partitions, The system is combinational. It does not depend on the state z=1 \ No newline at end of file
diff --git a/3860/CH9/EX9.2/Ex9_2.sce b/3860/CH9/EX9.2/Ex9_2.sce
new file mode 100644
index 000000000..4b843b981
--- /dev/null
+++ b/3860/CH9/EX9.2/Ex9_2.sce
@@ -0,0 +1,22 @@
+//Example 9.2: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | B D | 1")
+disp("B | D F | 1")
+disp("C | D A | 0")
+disp("D | D E | 0")
+disp("E | B C | 1")
+disp("F | C D | 0")
+disp('States A-E imply C-D and State C-D imply A-E')
+disp('AE and CD are equivalent')
+disp(" q | x=0 x=1 | z")
+disp('------------------------------------')
+disp("A-E | B C-D | 1")
+disp(" B | C-D F | 1")
+disp("C-D | C-D A-E | 0")
+disp(" F | C-D C-D | 0")
+//displays the reduced state table.
+
+
diff --git a/3860/CH9/EX9.2/Ex9_2.txt b/3860/CH9/EX9.2/Ex9_2.txt
new file mode 100644
index 000000000..aaebea29a
--- /dev/null
+++ b/3860/CH9/EX9.2/Ex9_2.txt
@@ -0,0 +1,34 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | B D | 1
+
+ B | D F | 1
+
+ C | D A | 0
+
+ D | D E | 0
+
+ E | B C | 1
+
+ F | C D | 0
+
+ States A-E imply C-D and State C-D imply A-E
+
+ AE and CD are equivalent
+
+ q | x=0 x=1 | z
+
+ ------------------------------------
+
+ A-E | B C-D | 1
+
+ B | C-D F | 1
+
+ C-D | C-D A-E | 0
+
+ F | C-D C-D | 0
diff --git a/3860/CH9/EX9.3/Ex9_3.sce b/3860/CH9/EX9.3/Ex9_3.sce
new file mode 100644
index 000000000..69b212476
--- /dev/null
+++ b/3860/CH9/EX9.3/Ex9_3.sce
@@ -0,0 +1,23 @@
+//Example 9.3: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | C D | 1")
+disp("B | C D | 0")
+disp("C | B D | 1")
+disp("D | C A | 1")
+disp('step 1 produces five SP Partitions')
+disp('P1 = (AB)(C)(D)')
+disp('P1 = (ABC)(D)')
+disp('P1 = (AD)(B)(C)')
+disp('P1 = (A)(BC)(D)')
+disp('P1 = (ABD)(C)')
+
+disp('P1 = (AB)(C)(D)')
+disp('P1 = (AB)(C)(D)')
+disp('The chart is different, because the pairings that are automatically X''d are different.')
+disp('None of the conditions can be satisfied, and thus, no states can be combined and state table cannot be reduced.')
+
+
+
diff --git a/3860/CH9/EX9.3/Ex9_3.txt b/3860/CH9/EX9.3/Ex9_3.txt
new file mode 100644
index 000000000..e4a26bd57
--- /dev/null
+++ b/3860/CH9/EX9.3/Ex9_3.txt
@@ -0,0 +1,34 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | C D | 1
+
+ B | C D | 0
+
+ C | B D | 1
+
+ D | C A | 1
+
+ step 1 produces five SP Partitions
+
+ P1 = (AB)(C)(D)
+
+ P1 = (ABC)(D)
+
+ P1 = (AD)(B)(C)
+
+ P1 = (A)(BC)(D)
+
+ P1 = (ABD)(C)
+
+ P1 = (AB)(C)(D)
+
+ P1 = (AB)(C)(D)
+
+ The chart is different, because the pairings that are automatically X'd are different.
+
+ None of the conditions can be satisfied, and thus, no states can be combined and state table cannot be reduced. \ No newline at end of file
diff --git a/3860/CH9/EX9.4/Ex9_4.sce b/3860/CH9/EX9.4/Ex9_4.sce
new file mode 100644
index 000000000..c00f918e7
--- /dev/null
+++ b/3860/CH9/EX9.4/Ex9_4.sce
@@ -0,0 +1,21 @@
+//Example 9.4: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | x=0 x=1")
+disp('-----------------------------------------')
+disp("A | F B | 0 0")
+disp("B | E G | 0 0")
+disp("C | C G | 0 0")
+disp("D | A C | 1 1")
+disp("E | E D | 0 0")
+disp("F | A B | 0 0")
+disp("G | F C | 1 1")
+disp('State A-F, B-C-E, and D-G are equivalent. So, reduced state table is as given below.')
+disp("q | x=0 x=1 | x=0 x=1")
+disp('----------------------------------------------')
+disp(" A | A B | 0 0")
+disp(" B | B D | 0 0")
+disp(" D | A B | 1 1")
+//displays the reduced state table.
+
+
diff --git a/3860/CH9/EX9.4/Ex9_4.txt b/3860/CH9/EX9.4/Ex9_4.txt
new file mode 100644
index 000000000..f2d0ed915
--- /dev/null
+++ b/3860/CH9/EX9.4/Ex9_4.txt
@@ -0,0 +1,32 @@
+
+ Given State Table
+
+ q | x=0 x=1 | x=0 x=1
+
+ -----------------------------------------
+
+ A | F B | 0 0
+
+ B | E G | 0 0
+
+ C | C G | 0 0
+
+ D | A C | 1 1
+
+ E | E D | 0 0
+
+ F | A B | 0 0
+
+ G | F C | 1 1
+
+ State A-F, B-C-E, and D-G are equivalent. So, reduced state table is as given below.
+
+ q | x=0 x=1 | x=0 x=1
+
+ ----------------------------------------------
+
+ A | A B | 0 0
+
+ B | B D | 0 0
+
+ D | A B | 1 1 \ No newline at end of file
diff --git a/3860/CH9/EX9.5/Ex9_5.sce b/3860/CH9/EX9.5/Ex9_5.sce
new file mode 100644
index 000000000..1e59f3501
--- /dev/null
+++ b/3860/CH9/EX9.5/Ex9_5.sce
@@ -0,0 +1,19 @@
+//Example 9.5: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | x=0 x=1")
+disp('-----------------------------------------')
+disp("A | B D | 0 0")
+disp("B | E D | 1 0")
+disp("C | B C | 0 0")
+disp("D | F A | 0 0")
+disp("E | A B | 1 1")
+disp("F | E C | 1 0")
+disp('The set of equivalent states are A(A-C-D), B(B-F) and E')
+disp('The reduced state table is given below')
+disp("q | x=0 x=1 | x=0 x=1")
+disp('-----------------------------------------')
+disp("A | B A | 0 0")
+disp("B | E A | 1 0")
+disp("E | A B | 1 1")
+//displays the reduced state table.
diff --git a/3860/CH9/EX9.5/Ex9_5.txt b/3860/CH9/EX9.5/Ex9_5.txt
new file mode 100644
index 000000000..9944ec017
--- /dev/null
+++ b/3860/CH9/EX9.5/Ex9_5.txt
@@ -0,0 +1,32 @@
+
+ Given State Table
+
+ q | x=0 x=1 | x=0 x=1
+
+ -----------------------------------------
+
+ A | B D | 0 0
+
+ B | E D | 1 0
+
+ C | B C | 0 0
+
+ D | F A | 0 0
+
+ E | A B | 1 1
+
+ F | E C | 1 0
+
+ The set of equivalent states are A(A-C-D), B(B-F) and E
+
+ The reduced state table is given below
+
+ q | x=0 x=1 | x=0 x=1
+
+ -----------------------------------------
+
+ A | B A | 0 0
+
+ B | E A | 1 0
+
+ E | A B | 1 1 \ No newline at end of file
diff --git a/3860/CH9/EX9.6/Ex9_6.sce b/3860/CH9/EX9.6/Ex9_6.sce
new file mode 100644
index 000000000..e628b5f87
--- /dev/null
+++ b/3860/CH9/EX9.6/Ex9_6.sce
@@ -0,0 +1,22 @@
+//Example 9.6: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=00 x=01 x=10 x=11 | z")
+disp('--|--------------------------------|-----')
+disp("A | B A F D | 1")
+disp("B | E A D C | 1")
+disp("C | A F D C | 0")
+disp("D | A A B C | 1")
+disp("E | B A C B | 1")
+disp("F | A F B C | 0")
+disp('States A-E , B-D and C-F are equivalent')
+
+disp("q | x=00 x=01 x=10 x=11 | z")
+disp('--|--------------------------------|-----')
+disp("A | B A C B | 1")
+disp("B | A A B C | 1")
+disp("C | A C B C | 0")
+//displays the reduced state table.
+
+
+ \ No newline at end of file
diff --git a/3860/CH9/EX9.6/Ex9_6.txt b/3860/CH9/EX9.6/Ex9_6.txt
new file mode 100644
index 000000000..5c19e8de7
--- /dev/null
+++ b/3860/CH9/EX9.6/Ex9_6.txt
@@ -0,0 +1,30 @@
+
+ Given State Table
+
+ q | x=00 x=01 x=10 x=11 | z
+
+ --|--------------------------------|-----
+
+ A | B A F D | 1
+
+ B | E A D C | 1
+
+ C | A F D C | 0
+
+ D | A A B C | 1
+
+ E | B A C B | 1
+
+ F | A F B C | 0
+
+ States A-E , B-D and C-F are equivalent
+
+ q | x=00 x=01 x=10 x=11 | z
+
+ --|--------------------------------|-----
+
+ A | B A C B | 1
+
+ B | A A B C | 1
+
+ C | A C B C | 0 \ No newline at end of file
diff --git a/3860/CH9/EX9.7/Ex9_7.sce b/3860/CH9/EX9.7/Ex9_7.sce
new file mode 100644
index 000000000..ff0164268
--- /dev/null
+++ b/3860/CH9/EX9.7/Ex9_7.sce
@@ -0,0 +1,16 @@
+//Example 9.7 Output Consistent Partition
+clc; //clears the console window
+clear; //clears the variable browser
+disp("Different hardware requirements based on different state assignments on Page No. 9-12");
+disp("First assignment for A,B,C,D,E are 000,001,010,011,100");
+disp("z = q2 + q3");
+disp("D1 = xq1 + xq3");
+disp("D2 = x''q1''q2'' + xq1''q3''");
+disp("D3 = x''q2q3 + x''q1 + zq1''q3''");
+disp("First assignment for A,B,C,D,E are 000,001,011,111,110");
+disp("Second Assignment ");
+disp("z = q3");
+disp("D1 = x");
+disp("D2 = x + q2'' ");
+disp("D3 = x''q1 + x''q2'' + {q2''q3'' or q1''q3'' } + xq1''q2");
+disp("Since the second assignment results in reduced output expression this partition is called as output-consistent partition")
diff --git a/3860/CH9/EX9.7/Ex9_7.txt b/3860/CH9/EX9.7/Ex9_7.txt
new file mode 100644
index 000000000..abb5e7759
--- /dev/null
+++ b/3860/CH9/EX9.7/Ex9_7.txt
@@ -0,0 +1,26 @@
+
+ Different hardware requirements based on different state assignments on Page No. 9-12
+
+ First assignment for A,B,C,D,E are 000,001,010,011,100
+
+ z = q2 + q3
+
+ D1 = xq1 + xq3
+
+ D2 = x'q1'q2' + xq1'q3'
+
+ D3 = x'q2q3 + x'q1 + zq1'q3'
+
+ First assignment for A,B,C,D,E are 000,001,011,111,110
+
+ Second Assignment
+
+ z = q3
+
+ D1 = x
+
+ D2 = x + q2'
+
+ D3 = x'q1 + x'q2' + {q2'q3' or q1'q3' } + xq1'q2
+
+ Since the second assignment results in reduced output expression this partition is called as output-consistent partition
diff --git a/3860/CH9/EX9.8/Ex9_8.sce b/3860/CH9/EX9.8/Ex9_8.sce
new file mode 100644
index 000000000..0f5dc525b
--- /dev/null
+++ b/3860/CH9/EX9.8/Ex9_8.sce
@@ -0,0 +1,20 @@
+//Example 9.8: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | C D | 1")
+disp("B | C D | 0")
+disp("C | B D | 1")
+disp("D | C A | 1")
+disp('Step 1 produces five SP Partitions')
+disp('P1 = (AB)(C)(D)')
+disp('P2 = (ABC)(D)')
+disp('P3 = (AD)(B)(C)')
+disp('P4 = (A)(BC)(D)')
+disp('P5 = (ABD)(C)')
+disp('Step 2 requires three sums')
+disp('P1 + P3 = (ABD)(C)--> P5')
+disp('P1 + P4 = (ABC)(D)--> P2')
+disp('P3 + P4 = (AD)(BC)--> P6')
+disp('only one new partition is found by step 2.')
diff --git a/3860/CH9/EX9.8/Ex9_8.txt b/3860/CH9/EX9.8/Ex9_8.txt
new file mode 100644
index 000000000..4c124ab75
--- /dev/null
+++ b/3860/CH9/EX9.8/Ex9_8.txt
@@ -0,0 +1,36 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | C D | 1
+
+ B | C D | 0
+
+ C | B D | 1
+
+ D | C A | 1
+
+ Step 1 produces five SP Partitions
+
+ P1 = (AB)(C)(D)
+
+ P2 = (ABC)(D)
+
+ P3 = (AD)(B)(C)
+
+ P4 = (A)(BC)(D)
+
+ P5 = (ABD)(C)
+
+ Step 2 requires three sums
+
+ P1 + P3 = (ABD)(C)--> P5
+
+ P1 + P4 = (ABC)(D)--> P2
+
+ P3 + P4 = (AD)(BC)--> P6
+
+ only one new partition is found by step 2. \ No newline at end of file
diff --git a/3860/CH9/EX9.9/Ex9_9.sce b/3860/CH9/EX9.9/Ex9_9.sce
new file mode 100644
index 000000000..66ae10ed9
--- /dev/null
+++ b/3860/CH9/EX9.9/Ex9_9.sce
@@ -0,0 +1,22 @@
+//Example 9.9: Reduction of state table
+clc // Clears the console
+disp("Given State Table")
+disp("q | x=0 x=1 | z")
+disp('--------------------------------')
+disp("A | C D | 0")
+disp("B | D A | 0")
+disp("C | E D | 0")
+disp("D | B A | 1")
+disp("E | C D | 1")
+disp('Step 1 produces five SP Partitions')
+disp('P1 = (ACE)(BD)')
+disp('P2 = (ADE)(BC)')
+disp('P3 = (AE)(B)(C)(D)')
+disp('P4 = (A)(BD)(C)(E)')
+disp('P5 = (A)(B)(CE)(D)')
+disp('Step 2 requires three sums')
+disp('P1 + P4 = (ACE)(BD)--> P6')
+disp('P3 + P4 = (AE)(BD)(C)--> P7')
+disp('P4 + P5 = (A)(CE)(BD)--> P8')
+disp('P7 + P8 = (ACE)(BD)--> P6')
+disp('There are eight non trivial SP partition, of which two are two block and none are output consistent.')
diff --git a/3860/CH9/EX9.9/Ex9_9.txt b/3860/CH9/EX9.9/Ex9_9.txt
new file mode 100644
index 000000000..a052a3f12
--- /dev/null
+++ b/3860/CH9/EX9.9/Ex9_9.txt
@@ -0,0 +1,40 @@
+
+ Given State Table
+
+ q | x=0 x=1 | z
+
+ --------------------------------
+
+ A | C D | 0
+
+ B | D A | 0
+
+ C | E D | 0
+
+ D | B A | 1
+
+ E | C D | 1
+
+ Step 1 produces five SP Partitions
+
+ P1 = (ACE)(BD)
+
+ P2 = (ADE)(BC)
+
+ P3 = (AE)(B)(C)(D)
+
+ P4 = (A)(BD)(C)(E)
+
+ P5 = (A)(B)(CE)(D)
+
+ Step 2 requires three sums
+
+ P1 + P4 = (ACE)(BD)--> P6
+
+ P3 + P4 = (AE)(BD)(C)--> P7
+
+ P4 + P5 = (A)(CE)(BD)--> P8
+
+ P7 + P8 = (ACE)(BD)--> P6
+
+ There are eight non trivial SP partition, of which two are two block and none are output consistent \ No newline at end of file