Boolesk Algebra og det binære talsystem

Transcription

Boolesk Algebra og det binære talsystem
Boolesk Algebra og det binære talsystem - temahæfte informatik.
I dette hæfte arbejdes der med to-tals systemet og logiske udtryk. Vi oplever at de almindelige
regneregler også gælder her, og vi prøver at nedskrive simple apparaters opførsel vha. booleske
udtryk. Normalt vil det tage 2-3 moduler (á 90 minutter) at gennemgå hele hæftet.
1.0 Opbygning af 2-talsystemet. ...........................................................................................................3
2.0 Konvertering fra ti-talsystem til to-talsystem..................................................................................3
2.3 Addition ...........................................................................................................................................5
2.5 Subtraktion ......................................................................................................................................6
2.6 Multiplikation ..................................................................................................................................6
3.0 Boolesk Algebra og gates. ...............................................................................................................7
3.1 OR gate ............................................................................................................................................8
3.2 AND gate.........................................................................................................................................8
3.3 NOT - Inverter .................................................................................................................................9
4.0 Opbygning af sandhedstabeller. ....................................................................................................12
5.0 Boolesk Algebra. Definitioner ......................................................................................................16
6.0 Booleske Regneregler. ..................................................................................................................18
6.3 De Morgans regel - ophævelse af Inverteringsbjælke ...................................................................19
7.0 Logiske skrivemåder .....................................................................................................................24
8.0 Karnaughkort .................................................................................................................................25
Oprindelse.
I 1854 var der en engelsk matematiker og logiker ved navn George Boole (1815-1864) der lavede en
algebraisk beskrivelse af logiske love - det der i dag kaldes Boolesk Algebra. George Boole var
autodidakt (senere matematik professor ved Queens College i Irland) og det var diskussioner med
filosoffer og logikere, der fik Boole i gang med at opstille de logiske regler.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 2 af 28
1.0 Opbygning af 2-talsystemet.
Vi begynder med ti-talsystemet. Når man skriver 3146 i vores normale ti-talsystem betyder det, at
der er seks enere, fire tiere, en hundrede og tre tusinder. Når vi lægger de individuelle tal sammen,
giver det 3146. På skemaform kan det skrives på følgende vis:
1000
3
100
1
3000
+ 100
10
4
+
40
1
6
+
6
= 3146
På tilsvarende måde gælder det i to-talsystemet. Vi tæller ikke fra 0 til 9, men fra 0 til 1. Et ciffer
kan have værdien 1 eller 0. I ti-talsystemet kan et ciffer have værdien 0,1,2,3,4,5,6,7,8,9. I totalsystemet er der kun; 0, 1 - nul og en - falsk eller sandt - high eller low - lys eller mørke.
Kun 0 og 1. Tallet 6 i ti-talsystemet skrives som 0110 i to-talsystemet. To-talsystemet kaldes også
det binære talsystem. Tallet 3 i ti-talsystemet skrives som 0011 i det binære talsystem.
2.0 Konvertering fra ti-talsystem til to-talsystem
Man konvertere et tal i 2-talsystemet til 10-talsystemet ved at indsætte 2-talsystemtallet i tabellen og
lægge kolonneoverskrifterne sammen de steder der er "1" i cellen. Således bliver tallet 0000|0101 i
2-talsystemet til 5 i 10-talsystemet.
128
0
0
64
0
+ 0
32
0
+ 0
16
0
+
0 +
8
0
4
1
2
0
1
1
0
+ 4
+ 0
+ 1
= 5
I 10-talsystemet hedder et enkelt tal, et ciffer. I 2-talsystemet kalder vi det et bit. Normalt arbejder
man i 2-talsystemet med 8 bit ad gangen - det kaldes en byte. 1 G Byte er med andre ord 8 G Bit.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 3 af 28
2.1 Konverter følgende binære tal til 10-tal system
128
64
32
16
8
4
2
1
b) 1100 | 0110
128
64
32
16
8
4
2
1
c) 0000 | 0000
128
64
32
16
8
4
2
1
d) 1111 | 1110
128
64
32
16
8
4
2
1
a) 0000 | 0110
2.2 Konverter følgende decimaltal til 2-tal system
a)
4
128
64
32
16
8
4
2
1
b)
17
128
64
32
16
8
4
2
1
128
64
32
16
8
4
2
1
c)
130
d)
61
128
64
32
16
8
4
2
1
b)
10
128
64
32
16
8
4
2
1
c)
254
128
64
32
16
8
4
2
1
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 4 af 28
2.3 Addition
To tal lægges sammen på gammeldags måde ved at stille dem over hinanden
+
=
0000 | 0001
0000 | 0100
0000 | 0101
altså 1
+4
=5
Læg følgende tal sammen og konverter til 10-tal system
a) 0000 | 0110 + 0010 | 1000
+
=
b) 0100 | 0100 + 1010 | 1001
+
=
2.4 Addition med "carry" (mente)
Når vi lægger to store tal sammen på den gammeldags metode skubber vi en ti'er, hvis resultatet af
to cifre bliver for stort. Man begynder altid bagfra:
+1
+1
16251
16251
16251
16251
16251
16251
et tal
flyttes
+ 56211
+ 56211
+ 56211 NB! + 56211
+ 56211
+ 56211
(mente)
=
2
=
62
= 462
= 12462
= 2462
= 72462
a) Læg følgende tal sammen på den gammeldags metode. Begynd bagfra - tjek efterfølgende svaret
med din lommeregner:
36569
+ 55320
=
69568
+ 46351
=
123586
+ 680481
=
Læg nu følgende 2-talsystems tal sammen - "med carry"
b) 0001 | 0110 + 0010 | 0100
+
=
c) 0110 | 0110 + 1010 | 1011
+
=
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 5 af 28
2.5 Subtraktion
Det samme gælder når vi subtraherer (minusstykker). Vi starter bagfra og så "låner" vi nogle gange
fra naboen. I totalssystemet får vi to når vi låner.
10
2729
- 1538
=
1
(altså vi lånte ti)
11
2729
- 1538
= 1191
(og her lånte vi to stk)
0000 | 1101
- 0000 | 0010
= 0000 | 1011
2.6 Multiplikation
Multiplikation (gangestykker) forløber problemfrit i forhold til regnereglerne.
At gange med 0 eller 1 er enkelt - det kender vi fra 10-talsystemet.
0000|0100 • 0000|0000 = 0
4
•
0
0000|0100 • 0000|0001 = 0000|0100
og
=0
4
•
1
=
4
Skal man gange med 2, svarer det til at lægge det oprindelige tal sammen to gange.
0000|0100 • 0000|0010 = 0000|1000
4
+
=
•
2
0000 | 0100
0000 | 0100
0000 | 1000
=
8
altså 4
+4
=8
Hvis vi ganger med 3, så skal det oprindelige tal lægges sammen tre gange.
I computeren udnytter man dette forhold. Hvis der skal gange med 2, så skifter man de enkelte bit én
gang til venstre (left shift). Lidt ligesom vi flytter kommaet, når vi normalt ganger med 10.
0000|0100
0 0000|100
skiftet en gang til venstre bliver
man sætter "0" ind på den nye plads
så svaret bliver 0000 | 1000
Hvis man skal dele med 2, skifter man bare en gang til højre (right shift).
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 6 af 28
3.0 Boolesk Algebra og gates.
Foruden de normale regneregler har man i to-talsystemet og så Booleske regneregler - Boolesk
algebra. Disse regneregler er en stor hjælp når en computer skal arbejde.
Boolesk algebra er logik-baseret. Man taler om "et udsagn". Et udsagn kan være sandt eller falsk.
Sandt/rigtigt kan symboliseres ved lys i lampen på en sandhedsdetektor (ved løgn eller forkert svar,
forbliver lampen slukket)
Et falsk udsagn: Peter kan trække vejret under vandet.
Et sandt udsagn: Peter kan drikke en cola.
Et sandt udsagn er:
0000|0100 + 0000|0100 = 0000|1000
Sandt medfører lampen lyser
Stærkt simplificeret kan man sige at det eneste en computer gør, er at kigge på en række udsagn
(nogle input) og derefter udføre en ordre (output) der er afhængig af udsagnet. Den gør det bare en
million gange i sekundet.
Der er grundlæggende tre Booleske udtryk. Til hvert udtryk hører et symbol og en sandhedstabel.
a)
AND
b)
OR
c)
NOT
Ken Mathiasen 26/8-2014
(også kaldet Inverter)
Må gerne kopieres :)
Side 7 af 28
3.1 OR gate
Udgangen af en gate er enten 0 eller 1 (falsk eller sandt). Det er indgangsforholdene (kaldet A, B)
der bestemmer hvad udgangen skal være. Udgangen kaldes Q.
Udgangen, Q på en OR gate er altid 1 - på nær når begge indgange er 0. Med andre ord så er
udgangen på en OR gate 1, når indgang A eller indgang B er 1 (på engelsk bliver det A or B).
Hvis A = 1 og B = 0, bliver Q = 1:
Det modsatte er også tilfældet. Hvis A = 0 og B = 1, så bliver Q = 1 (hvis A OR B er 1, bliver Q =
1). De forskellige kombinationer af A og B kan skrives op i en sandhedstabel.
B
0
0
1
1
A
0
1
0
1
Q
0
1
1
1
Sandhedstabel for en OR gate
3.2 AND gate
Tilsvarende haves en kombination, hvor både A og B skal være 1, før udgangen, Q også bliver 1.
Så man kan sige at udgangen på en AND gate altid er 0, på nær når A og B = 1 (på engelsk bliver det
A and B).
Hvis A = 1 og B = 0, bliver Q = 0 (fordi både A og B skal være 1 før Q bliver 1):
Modsat, hvis A = 0 og B = 1, forbliver Q = 0. De forskellige kombinationer af A og B kan skrives
op i en sandhedstabel.
B
0
0
1
1
A
0
1
0
1
Q
0
0
0
1
Sandhedstabel for en AND gate
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 8 af 28
3.3 NOT - Inverter
Den sidste gate-type er en Inverter. En inverter inverterer - med andre ord så vender Inverteren
indgangssignalet. Hvis indgangen er 1 bliver udgangen 0. Hvis indgang er 0, bliver udgangen 1.
A
0
1
Q
1
0
Sandhedstabel for en Inverter
Udgangen er det modsatte af indgangen. Så hvis A er 1, så er Q "not 1".
_
NOT A kan også skrives som A. En bjælke over et udtryk betyder at det skal inverteres.
_
A = 1 medfører at A = 0
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 9 af 28
3.4 Opgaver - Sandhedstabeller vist med batterier, kontakter og pærer
Kig på el-diagrammet. Når man trykker på en af knapperne (fx knappen SW 1), så lyser pæren.
Hvis man trykker på den anden knap, SW 2 lyser pæren også.
Hvis man trykker begge knapper samtidig, lyser pæren.
Er ingen knapper trykkede, er der ingen lys.
Man kan sammenligne kredsløbet med en gate og lave en sandhedstabel. Når man aktiverer en knap
(når man trykker på den) svarer det til at indgang A på en gate, er 1.
a) Prøv de forskellige knap kombinationer og skriv resultatet i tabellen
B
0
0
1
1
A
0
1
0
1
Q
.
b) Hvilken gate opfører sig som det kredsløb der er vist herover?
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 10 af 28
3.5 Opgave - Herunder er et nyt kredsløb.
Når man trykker på SW 1 sker der ingen ting (ingen lys)
a) Hvordan får man lys i pæren.
b) Hvilken gate har en tilsvarende opførsel?
3.6 Inverter kredsløbet laves med et relæ.
Herunder er vist et kredsløb der simulerer en Inverters opførsel.
Pæren lyser hele tiden - selvom knappen SW 1 ikke er trykket ned.
Når man trykker på knappen aktiveres relæet og så svinger kontakten væk fra pæren (den kontakt
der er inde i RLY2, lige over lampen). Det er lidt ligesom et skiftespor til et tog.
Pæren mister forbindelsen og slukkes når relæet aktiveres.
Med andre ord; når man trykker på knappen, slukkes lampen.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 11 af 28
4.0 Opbygning af sandhedstabeller.
Her er to gate kombineret. Udgangen af en AND gate (kaldet P) er brugt som indgang på en Inverter.
P
Skal man lave en sandhedstabel, begynder man fra input (A, B) og bevæger sig mod output (Q).
Først skrives AND gatens sandhedstabel op:
B
0
0
1
1
A
0
1
0
1
P
0
0
0
1
Q
1
1
1
0
Bagefter tilføjes en kolonne Q, hvor man kigger på P og bruger P kolonnen som input til Inverteren.
Kolonne Q er med andre ord blot det modsatte af P.
Ovenstående sandhedstabel er meget anvendt. Den gælder en gate der hedder NAND gate (navnet er
sammensat af "not" og "and" )
4.1 Opgave - Lav en sandhedstabel for nedenstående kredsløb:
P
B
0
0
1
1
A
0
1
0
1
P
Q
Kredsløbet betegnes også NOR gate.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 12 af 28
4.2 Kompressorens virkemåde.
En hobby kompressor fungerer ved, at den tænder en luftpumpe der
fylder luft i en tank. Når trykket i tanken er 6 bar eller mere (input A
1), slukkes luftpumpen. Når trykket kommer under 6 bar tændes
kompressoren igen. Lav en sandhedstabel for luftpumpen:
Tryk
0
1
=
Luftpumpe
4.3 Opgave - El-radiatorens virkemåde
Hvis hovedafbryderen i el-skabet er tændt (input A), så fungerer en el-radiator ved at den tænder
automatisk når temperaturen i stuen kommer under 20˚C. Når temperaturen kommer over 20˚C igen
(giver "temperatur > 20˚C" = 1), slukkes radiatoren. Hvis hovedafbryderen i el-skabet er slukket
(0), er el-radiatoren også slukket (0) , uanset hvad temperaturen i rummet er.
a) Lav en sandhedstabel for hele kredsløbet; el-radiator og hovedafbryder.
Temperatur > 20˚C
0
0
1
1
Ken Mathiasen 26/8-2014
Hovedafbryder
0
1
0
1
Radiator der varmer
Må gerne kopieres :)
Side 13 af 28
4.4 Opgave- Lav en sandhedstabel for nedenstående kredsløb:
B
A
0
1
0
1
P
P
B
0
0
1
1
Q
4,5 Opgave - Lav en sandhedstabel for nedenstående kredsløb:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
D
E
Ken Mathiasen 26/8-2014
Z
Må gerne kopieres :)
Side 14 af 28
4.6 Opgave - Lav en sandhedstabel for et køleskab der er tilsluttet en stikkontakt i væggen.
Når temperaturen i et køleskab er over 5°C skal kompressoren tændes. Når temperaturen er under
5°C skal kompressoren slukkes - hvis altså stikkontakten er tændt.
a) Bestem hvad der er A og B og Q.
b) Lav en sandhedstabel for systemet.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 15 af 28
5.0 Boolesk Algebra. Definitioner
Forskellige gates opfylder forskellige Booleske regneregler.
10 = 0
(det er en AND gate)
1 + 0 = 1 (det er en OR gate)
11=1
1+1 = 1
_
0 = 1 (stegen over 0 læses som "0 negeret")
_
1 = 0
"0 negeret" kan også siges som "ikke 0". På samme måde kan "1 negeret" siges som "ikke 1."
5.1 Opgave - Udregn følgende Booleske udtryk:
a) 0  1 =
b) 1  1 =
c) 1  1 =
d) 0 + 1 =
_
e) 1  0 =
f) ( 1  0 ) + ( 1  1) =
______
g) (1  0 ) + (1  1 ) =
h)
i)
j)
(01)+(11)+(00)=
_
( 1 + 0 )  0 + 0 + (1  1  1) =
_
______
1  1 + 0 ) + 1 + (1 + 1 ) =
5.2 Opgave - Logiske opgaver fra hverdagen
a) Lav et gate kresløb der blokerer lågen i en vaskemaskine, hvis der er vand i vaskemaskinen og
man prøver at åbne lågen. Kredsløbet skal også blokere lågen hvis tromlen kører. Beskriv kredsløbet
med Booleske udtryk.
b) Lav et lille gate kredsløb der tænder for lyset i en carport hvis der er bevægelse foran en
bevægelsessensor. Kredsløbet skal kun virke når der er mørkt (måles med en lyssensor). Beskriv
kredsløbet med Booleske udtryk og tegn kredsløbet med gates.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 16 af 28
5.3 Brug Boolesk regneregler på følgende udtryk ("" angiver OR. "" angiver AND)
a) 0000 | 0110 + 0010 | 1000
+
=
b) 0110 | 1100 + 1010 | 1001
+
=
c) 0001 | 0110 + 0010 | 0100
+
=
d) 0110 | 0110  1010 | 1011

=
e) 0001 | 0110  0010 | 0100

=
f) 1100 | 0110  1010 | 0000

=
5.4 Opgave - Logiske opgaver fra hverdagen
a) Et netstik til en stuelampe stikkes i væggen i en stikkontakt. Når man tænder og slukker på
stikkontakten i væggen tænder og slukker lampen. MEN på ledningen er der monteret en afbryder.
Når ledningsafbryderen er tændt, fungerer stikkontaktkontakten normalt. Hvis ledningsafbryderen er
slukket kan lampen ikke tændes. Lav et lille gatekredsløb der opfører sig på tilsvarende måde.
Beskriv kredsløbet med Booleske udtryk og tegn kredsløbet med gates.
b) Lav et lille gate kredsløb der giver alarm, hvis lygterne i en gammel bil er tændt, selvom der ikke
er tænding på (altså beep-beep, hvis man glemmer at slukke lyset når man har kørt en tur).
Kredsløbet skal også give alarm, når der er tænding på, men med samtidig slukkede lygter (altså
også en beep-beep, når man kører en tur med slukkede lygter). Beskriv kredsløbet med Booleske
udtryk.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 17 af 28
6.0 Booleske Regneregler.
Rækkefølgen. Når man regner med booleske udtryk løser man parenteserne først (ligesom vi plejer lidt som en mellemregning)
( 1  0 ) + ( 1  1)
=
0 + 1
efterfølgende løser man udtrykket 0 + 1 = 1
Vis at følgende udtryk giver 1:
a)
(11)
+ ( 0  1) =
b)
c)
( 0  0 ) + ( 0  1) + ( 1  1 ) =
_
( 1  0 )  ( 1  1) =
d)
(1+0)
+ (0  0) + 1=
6.1 AND () "binder" mere end OR (+).
Vi begynder med at udregne AND () først, og bagefter udregner vi OR (+).
Det kender vi fra den normale matematik, hvor vi udregner gange og division, før vi lægger tallene
sammen.
Normalt udregnes 210+43 ved at man først siger 2  10 = 20 og 4  3 = 12. Når det er gjort,
lægger vi tallene sammen. 20 + 12 = 32. Så 210+43 = 32.
I Boolesk algebra kan det se således ud:
1  0 + 1  1 udregnes ved først at sige 1  0 = 0 og 1  1 = 1. Når det er gjort, OR'es de to tal
sammen. 0 + 1 = 1. Med andre ord så er 1  0 + 1  1 = 1.
Vis at følgende udtryk giver 1:
a)
01 + 1 1 =
b) 1  1 + 0 =
_
c) 1  1 + 0  1 + 1 0 + 1 + 0 =
_
______
d) ( 1  0 ) + 0 + ( 0  1) + 1 + ( 1  1 ) =
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 18 af 28
6.2 Inverteringsbjælken fungerer som en parentes. Det bjælken dækker, skal inverteres (det der
står i ly af bjælken hvis det regner, skal vendes om).
_
_
0 bliver til 1.
Ligesom 1 bliver til 0
_____
__
(1 + 1) bliver til (1)
altså 0.
____
__ _
_
1 + 1 1 + 0. Først løses det der står under bjælken - ligesom parenteser (dvs 11 = 1): 1 + 1 + 0
_
Herefter fjerner vi bjælken (1 bliver til 0): 1 + 0 + 0 og nu kan udregningen laves 1 + 0 + 0 = 1
6.3 De Morgans regel - ophævelse af Inverteringsbjælke
En Inverteringsbjælke der dækker to pladser, kan fjernes ved at den "falder ned". De fortegn den
dækker (de fortegn stumperne fra bjælken rammer, når den falder ned) skal ændres.
____
_
_
1 + 1 1 + 0 = 1 + 1 + 1 + 0 (så nu er bjælken delt i to og fortegnet under den er skiftet)
____
_ _
11+0+1 = 11+ 0 1
To bjælker går ud med hinanden:
0+1 =0+1
1 + 1 + 0 først lader man bjælken falde ned: 1  1 + 0 så udregning: 1  1 + 0. 1 0 + 0 = 0
Vis at følgende udtryk kan reduceres ned til 0
a) 1 + 0 =
_
____
b) (0 + 1) + 0 + 1  1 =
c)
d)
(1 + 0 )  0 + 1 + (1  1  1) + 0=
10 1
+ 0
+ (1 + 0) =
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 19 af 28
I Boolesk algebra anvender man A, B, C osv. for de forskellige indgange når man tegner gates. Hver
indgang kan være 1 eller 0. Skriver man regnereglerne op med bogstaver (ligesom vi normalt bruger
bogstaver i formlerne), kommer den første regel til at se således ud:
_____
__ __
_____
__ __
1 + 0 = 1  0
med bogstaber bliver det til
A + B = A  B
Herefter kan man tegne udtrykket med gates og lave en sandhedstabel til:
A
P
A
A
Q
Q
B
B
B
B
0
0
1
1
A
0
1
0
1
P
0
1
1
1
Q
1
0
0
0
_____
A+B
=
_
_
A  B
B
0
0
1
1
A
0
1
0
1
B
1
1
0
0
A
1
0
1
0
Q
1
0
0
0
B
0
0
1
1
A
0
1
0
1
B A
Q
De to kredsløb er altså ens - set med logiske øjne
6.4 Opgave
a) Tegn de to Boelske udtryk med gates
_____
__ __
A  B = A + B
b) Lav de tilsvarende sandhedstabeller:
B
0
0
1
1
A
0
1
0
1
P
Q
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 20 af 28
6.5 Opgave
En anden Boolesk regel er at: A + AB = A.
a) Tegn udtrykket "A + AB" med gates
b) Lav en sandhedstabel for de to udtryk
B
0
0
1
1
A
0
1
0
1
P
Q
A
0
1
Q
c) Tegn derefter sandhedstabellen for A = A
6.6 Opgave
__
a) Opskriv sandhedstabellen for følgende udtryk: Q = C  (B + A)
__
C B A C (B+A) Q
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
b) Tegn kredsløbet med gates
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 21 af 28
6.7 Opgave
__
a) Opskriv sandhedstabellen for følgende udtryk: Q = B + (C  A)
__
_
C B A A (CA) Q
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
b) Tegn kredsløbet
6.8 Opgave
Opstil det Booleske udtryk bag følgende kredsløb og lav den tilhørende sandhedstabel:
A
A+B
Q
B
__
C
C
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
C
(A+B)
Q
Side 22 af 28
6.9 Opgave
Opstil det Booleske udtryk bag følgende kredsløb og lav den tilhørende sandhedstabel:
A
C
0
0
0
0
1
1
1
1
B
C
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
Side 23 af 28
7.0 Logiske skrivemåder
Først et par regneregler - er man i tvivl kan man altid teste en regel med en sandhedstabel:
_____
__ __
1) En Inverteringsbjælken kan falde ned og ændre fortegn:
A+B
= A  B
2) Optræder en variabel alene (OR) kan de andre variable slettes
A + AB
= A
3) En operator OR'ed med sig selv, giver det oprindelige
A+A
= A
4) En operator AND'ed med sig selv, giver det oprindelige
AA
= A
5) Man kan gange (AND) ind i en parentes:
A  (B + C) = AB + AC
6) Man kan OR en parameter ind i en parentes:
A + (BC)
= (A+B)(A+C)
Eksempel på reduktionsstykke:
Q = A  (B + C) + AC vi AND'er parentesen ud (regel 5): AB + AC + AC
Q = AB + AC + AC så samler vi de to ens operatorer (regel 3): AB + AC
Q = AB + AC så sætter vi A uden for en parentes (regel 5): Q = A(B+C)
Tegner man opgaven, ser det således ud. Det der kommer igennem de to kredsløb er det samme:
A
B
C
A(B+C)
B+C
AC
A
B
C
A(B+C)
B+C
7.1 Opgave - Reducer følgende udtryk:
__
a) Q = A + B
_____
b) Q = B + A B
__
c) Q = (A B) + C D + A
__
d) Q = ( A B ) + ( A  C ) (her begynder man med at sættes A udenfor en parentes)
_ _
_
_
e) Q = ABC + ABC + ABC + ABC
___
_
_
f) Q = ABC + ABC + ABC + ABC
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 24 af 28
8.0 Karnaughkort
Logiske reduktionsopgaver kan løses grafisk med Karnaughkort. Sandhedstabellen skrives op og
indsættes i derefter en matrice. Det er ofte nemmere end at foretage udregningen.
_ _
_
_
Eksempel på reduktion af: Q = ABC + ABC + ABC + ABC
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
0
0
1
1
0
1
0
1
Hver celle
repræsenterer
Q i en linje af
sandhedstabellen
0
1
BA
00
0
0
BA
01
0
1
BA
11
1
1
BA
10
1
0
0
1
BA
00
0
0
BA
01
0
1
BA
11
1
1
BA
10
1
0
BA
01
0
1
BA
11
1
1
BA
10
1
0
Karnaughkort for
C
C
Nu samles (grupperes) alle "1" i Karnaughkortet.
Karnaughkort for
C
C
Det ses at når C = 0 er det lige meget hvad "A" er i BA, bare B = 1.
Så første led i løsningen er at Q = CB + ...
Næste gruppe med "1" findes:
Karnaughkort for
C
C
0
1
BA
00
0
0
Det ses at når C = 1 er det lige meget hvad "B" er i BA, når bare A = 1.
Så andet led i løsningen er at Q = CB + CA
Nu kan der ikke laves flere sløjfer - vi er færdige. Så svaret er Q = CB + CA
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 25 af 28
8.1 Karnaughkort regler
Ved brug af Karnaughkort skal man altid lave de største sløjfer først. Sløjferne skal være rektangulære eller kvadratiske. Alle ettaller skal sløjfes. Samme ettal må gerne indgå i flere sløjfer.
8.2.a) Reducer følgende udtryk med Karnaughkort:
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
0
0
1
1
0
0
1
1
_ _
_ _
Q = ABC + ABC + ABC + ABC
BA
00
Karnaughkort for
C
C
BA
01
BA
11
BA
10
0
1
_ _
_ __
_
8.2.b) Reducer følgende udtryk med Karnaughkort: Q = ABC + ABC + ABC + ABC
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
0
0
1
1
1
1
0
0
BA
00
Karnaughkort for
C
C
BA
01
BA
11
BA
10
0
1
____ __
_
8.2.c) Reducer følgende udtryk med Karnaughkort: Q = ABC + ABC + ABC + ABC
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
Ken Mathiasen 26/8-2014
BA
00
Karnaughkort for
C
C
BA
01
BA
11
BA
10
0
1
Må gerne kopieres :)
Side 26 af 28
___
_
_
8.2.d) Reducer følgende udtryk med Karnaughkort: Q = ABC + ABC + ABC + ABC
C
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
Q
BA
00
Karnaughkort for
C
C
0
1
BA
01
1
1
BA
11
1
1
BA
10
Her er et værktøj der kan hjælpe med reduktionsstykkerne:
http://www.softpedia.com/get/Others/Home-Education/KarnaughMap.shtml
......there are only 010 kind of people: Those who understand binary and those who don’t.
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 27 af 28
OR gate
B
0
0
1
1
A
0
1
0
1
Q
0
1
1
1
1 + 0 = 1 (det er en OR gate). 1 + 1 = 1,
0+0 = 0
AND gate
B
0
0
1
1
A
0
1
0
1
Q
0
0
0
1
10 = 0
(det er en AND gate). 1  1 = 1 ,
00 =0
Inverter (NOT gate)
A
0
1
Q
1
0
_
0 = 1 (stegen over 0 læses som "0 negeret")
_
1 = 0
Boolesk Algebra (digital), regneregler
1) En Inverteringsbjælken kan falde ned og ændre fortegn:
2) Optræder en variabel alene (OR) kan de andre variable slettes
3) En operator OR'ed med sig selv, giver det oprindelige
4) En operator AND'ed med sig selv, giver det oprindelige
5) Man kan gange (AND) ind i en parentes:
6) Man kan OR en parameter ind i en parentes:
_____
A+B
A + AB
A+A
AA
A  (B + C)
A + (BC)
__ __
= A  B
= A
= A
= A
= AB + AC
= (A+B)(A+C)
Dette kompendium er udarbejdet af adjunkt ved
Sønderborg Statsskole, Ken Mathiasen (cand IT).
Kopiering og af kompendiet må gerne finde sted,
men husk at bibeholde navnereferencen :)
Ken Mathiasen 26/8-2014
Må gerne kopieres :)
Side 28 af 28