Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravím, nevím si rady z dvěma příklady z boolovy algebry. A tímto bych rád poprosil o pomoc.
1.
Ukažte, že bod (1) věty 4.5 plyne z bodů (2), (3) a (4). (Pomocí boolovy algebry)
Věta 4.5 Pro libovolné prvky a, b, c Booleovy algebry B platí:
(1) a + a = a
(2) a + b = b + a (komutativita)
(3) a + (b + c) = (a + b) + c (asociativita)
(4) a + (ab) = a
Musíme si uvědomit, že Booleova algebra je distributivní komplementární svaz s prvky 0 a 1. Jehož počet je vždy 2 (na) n. Tímto říkáme, že svaz je distributivní a ke každému prvku z počtu 2 (na) n existuje komplement.
2.
4. Kapitola 4.31 Převeďte následující polynomy do úplného součinového tvaru pomocí Booleova kalkulu:
x ̅y+ xy ̅ (symetrická diference x ⊕ y)
x ⊕ (y → z)
Offline
Zkusim to trochu sloziteji, i s dukazy jednotlivych rovnic. Ale klidne preskoc na 2 radky na konci :)
Mno, matouci je tam to plusko, protoze + je uplne jina funkce, kterou zname jako scitani cisel. Jenze tady + je OR operace. Podobne to nasobeni neni nasobeni, ale AND operace
Scitani binarnich cisel vypada takto:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
---
Or operace / zapis tabulkou
.................. a b | z
0 + 0 = 0 ... 0 0 | 0
0 + 1 = 1 ... 0 1 | 1
1 + 0 = 1 ... 1 0 | 1
1 + 1 = 1 ... 1 1 | 1
--
And operace / zapis tabulkou
.................. a b | z
0 * 0 = 0 ... 0 0 | 0
0 * 1 = 1 ... 0 1 | 0
1 * 0 = 1 ... 1 0 | 0
1 * 1 = 1 ... 1 1 | 1
---
AND v programu jsou to treba podminky, chces treba zjistit, zda souradnice kulicky x,y jsou v nejakem obdelniku (x1,x2, y1,y2 / a,c,b,d)
a<x<b
c<y<d
prepsano
(a<x and x<b) and (c<y and y<d)
pokud je x>a, pak 1, x<b, pak 1, ...
(1 and 1) and (1 and 1)
pokud je vsechno 1, true, tak tecka na souradnicich x,y, je uvnitr obdelniku a,b,c,d. Ale pokud jenom jedna podminka je spatne, tak neni v obdelniku. To je princip AND operace, ve tvem pripade nasobeni.
---
Or operace je, pokud plati alespon jedna podminka, programu treba
heslo=='' or heslo==user, pak vypis: "Chyba: Nebylo zadano heslo nebo je shodne s uz. jmenem"
Pokud plati jedna z podminek, pak se ma uzivateli vypsat text.
Dukaz platnosti vzorcu:
---------------------------
a + a = a | a or a = a
1 + 1 = 1 ... ten vzorec plati pro tyto radky z OR tabulky
0 + 0 = 0
Cili, pokud je a=0, pak a+a = take 0. Pokud je a = 1, pak a+a = take 1.
Cili, musis si vypsat vsechny moznosti z prislusne tabulky, pro ktere to plati. To je dukaz, je ten vzorec plati.
a + b = b + a
-> a + b = ?
0 + 0 = 0 ... opet vsechny moznosti
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
-> b + a = ?
0 + 0 = 0 ... opet vsechny moznosti
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
kdyz je a=b=0, tak je vysledek 0
kdyz je a=b=1, tak je vysledek 1
kdyz je a<>b, je vysledek 1
A z tabulky vidis, ze vysledky se shoduji, takze rovnost plati
0 + 1 = 1 = 1 + 0 a=1, b=0
1 + 0 = 1 = 0 + 1, a=0, b=1
0 + 0 = 0 = 0 + 0, a=b=0
1 + 1 = 1 = 1 + 1, a=b=1
a + (b + c) = (a + b) + c (zkusim trochu zkratit)
Bohuzel musis vsechny moznosti, kombinace.
2 na 1 jsou 2 moznosti 0,1
2 na 2 jsou 4, 00, 01, 10, 11
2 na 3 je 8, 000, 001, 010, 011, totez pro 1, 100, 101, 110, 111 (3 ruzne promenne, v elektronice 3 ruzne dratky se signalem)
0 + (0 + 0) =
0 + (0 + 1) = ... do tabulky, b+c=u, a+b=v, a+u=X, a+v=Y
a b c | u | X | v | Y
0 0 0 | | | |
0 0 1 | | | |
0 1 0 | | | |
0 1 1 | | | |
1 0 0 | | | |
1 0 1 | | | |
1 1 0 | | | |
1 1 1 | | | |
a b c | u | X | v | Y
0 0 0 | 0 | 0 | 0 | 0
0 0 1 | 1 | 1 | 0 | 1
0 1 0 | 1 | 1 | 1 | 1
0 1 1 | 1 | 1 | 1 | 1
1 0 0 | 0 | 1 | 1 | 1
1 0 1 | 1 | 1 | 1 | 1
1 1 0 | 1 | 1 | 1 | 1
1 1 1 | 1 | 1 | 1 | 1
Dukaz, ze vzorec plati je, kdyz X = Y pro kazdy radek. Opet se pouzivala jen OR tabulka.
a + (ab) = a ... tady je to podobne, ale pouziva se tabulka pro AND i OR
u = ab ... u = a and b, Z = a or u
a b | u | Z
0 0 | 0 | 0
0 1 | 0 | 0
1 0 | 0 | 1
1 1 | 1 | 1
Z == a
Or ......... And (pridavam tabulky and, or zhora)
0 0 | 0 ... 0 0 | 0
0 1 | 1 ... 0 1 | 0
1 0 | 1 ... 1 0 | 0
1 1 | 1 ... 1 1 | 1
Tez by to slo napsat jako
a + (ab) = a * (b + 1) a z tabulky Or 1+cokoliv je vzdy 1, ... = a
---
Ok, tak ted vis, ze to plati. Ted, jak zjistit, ze veta 1 vyplyva z ostatnich?
(4) a + (ab) = a
kdyz bude b = 1, tak dostanes
a + (a) = a
tady by mozna bylo dobre pridat prave i tabulku dukazu te vety 4. Kdyz si pak vyberes jen ty radky, kde je b=1, tak by se mela leva a prava strana rovnat, sloupce 'Z' a 'a'
---
Problem s matikou je, ze je jako cinstina. Nema jednotne zapisy funkci, operaci. Navic se pouzivaji stejne nazvy funkci pro ruzne operace, napriklad prave + pro scitani nebo OR.
Offline