Obsah. Vymezení použitých pojmů

Podobné dokumenty
Karnaughovy mapy. Pravdivostní tabulka pro tři vstupní proměnné by mohla vypadat například takto:

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

1. 5. Minimalizace logické funkce a implementace do cílového programovatelného obvodu CPLD

Neuronové sítě Minimalizace disjunktivní normální formy

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška

2. LOGICKÉ OBVODY. Kombinační logické obvody

Logické proměnné a logické funkce

4. Statika základní pojmy a základy rovnováhy sil

P4 LOGICKÉ OBVODY. I. Kombinační Logické obvody

Algebraické výrazy pro učební obory

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Booleova algebra. ZákonyBooleovy algebry Vyjádření logických funkcí

Operační výzkum. Přiřazovací problém.

Lineární funkce, rovnice a nerovnice 4 lineární nerovnice

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

(Cramerovo pravidlo, determinanty, inverzní matice)

Algebraické výrazy - řešené úlohy

Lineární algebra Operace s vektory a maticemi

M - Příprava na 3. čtvrtletní písemnou práci

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

Obsah DÍL 1. Předmluva 11

CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

4. Elektronické logické členy. Elektronické obvody pro logické členy

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Základy číslicové techniky z, zk

Algebraické výrazy-ii

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Čtvercové matice. Čtvercová matice je taková matice, jejíž počet řádků je roven počtu jejích sloupců

Seriál II.II Vektory. Výfučtení: Vektory

Predikátová logika Individua a termy Predikáty

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Nerovnice a nerovnice v součinovém nebo v podílovém tvaru

2.7 Binární sčítačka Úkol měření:

M - Příprava na 1. zápočtový test - třída 3SA

KOMBINAČNÍ LOGICKÉ OBVODY

ZŠ ÚnO, Bratří Čapků 1332

M - Příprava na pololetní písemku č. 1

Svobodná chebská škola, základní škola a gymnázium s.r.o. Dělitelnost Rozklad na součin prvočísel. Dušan Astaloš

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

Logické řízení. Náplň výuky

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

Způsoby realizace této funkce:

{ } B =. Rozhodni, které z následujících. - je relace z A do B

M - Příprava na pololetní písemku č. 1

6 Samodružné body a směry afinity

1 Řešení soustav lineárních rovnic

Matice se v některých publikacích uvádějí v hranatých závorkách, v jiných v kulatých závorkách. My se budeme držet zápisu s kulatými závorkami.

DIGITÁLN LNÍ OBVODY A MIKROPROCESORY 1. ZÁKLADNÍ POJMY DIGITÁLNÍ TECHNIKY

LOGICKÉ OBVODY 2 kombinační obvody, minimalizace

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

Matice. a m1 a m2... a mn

PROTOKOL O LABORATORNÍM CVIČENÍ

Jak pracovat s absolutními hodnotami

Algoritmizace a programování

4EK213 LINEÁRNÍ MODELY

g) když umocníme na druhou třetinu rozdílu dvou čísel x, y a zvětšíme toto číslo o jejich součin, tak dostaneme výraz?

Determinant matice řádu 5 budeme počítat opakovaným použitím rozvoje determinantu podle vybraného řádku nebo sloupce. Aby byl náš výpočet

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

M - Kvadratické rovnice a kvadratické nerovnice

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

AVDAT Vektory a matice

5. Maticová algebra, typy matic, inverzní matice, determinant.

Sada 1 - Základy programování

1. Matice a maticové operace. 1. Matice a maticové operace p. 1/35

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

2.8.6 Parametrické systémy funkcí

10. DETERMINANTY " # $!

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

CVIČNÝ TEST 51. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

2.2. SČÍTÁNÍ A NÁSOBENÍ MATIC

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Úlohy krajského kola kategorie A

Typové příklady k opravné písemné práci z matematiky

Funkce, elementární funkce.

p + m = 2 s = = 12 Konstrukce je staticky určitá a protože u staticky určitých konstrukcí nedochází ke změně polohy je i tvarově určitá.

Příklady modelů lineárního programování

ANALYTICKÁ GEOMETRIE V ROVINĚ

Úlohy klauzurní části školního kola kategorie B

Logaritmy a věty o logaritmech

16. Goniometrické rovnice

M - Algebraické výrazy

Úlohy krajského kola kategorie C

Funkce kotangens

Operace s maticemi

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

Limita a spojitost funkce

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

II. kolo kategorie Z6

1.5.7 Znaky dělitelnosti

MATEMATIKA. Výrazy a rovnice 1. pracovní sešit

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

ŘEŠENÍ KVADRATICKÝCH A ZLOMKOVÝCH NEROVNIC V ŠESTI BODECH

Řešení úloh z TSP MU SADY S 1

9 Kolmost vektorových podprostorů

ČTVERCOVÉ MATICE. Čtvercová matice je taková matice, kde počet řádků je roven počtu jejích sloupců. det(a) značíme determinant čtvercové matice A

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Transkript:

Obsah Vymezení použitých pojmů Základní pravidla pro svazování kvadrantů v Karnaughových mapách Základní pravidla pro tvorbu rovnic Postup při zápisu rovnice z Karnaughovy mapy Příklady řešení Vymezení použitých pojmů Kvadrant Vazba Sektor Člen - Jeden ze 8 čtverců v Karnaughovy mapy - Několik kvadrantů Karnaughovy mapy svázaných podle určených pravidel - Vodorovná nebo svislá část Karnaughovy mapy - Jedna proměnná v rovnici

Programovatelné automaty řešení pro 3 proměnné Základní pravidla pro svazování kvadrantů v Karnaughových mapách 1.1 Svazujeme pouze ty kvadranty, které spolu bezprostředně sousedí, to znamená, že mají spolu shodnou aspoň jednu stranu kvadrantu. 1.2 Musíme počítat i s tím, že protilehlé krajní kvadranty (v ose x, nikoliv protilehlé křížem) spolu také sousedí, protože Karnaughovu mapu si můžeme představit nejenom jako plochu ale i jako válec stočený kolem osy x. 1.3 Svazujeme spolu vždy pouze takový počet kvadrantů, který se rovná mocnině čísla 2. To znamená, že můžeme svazovat pouze 2 0 = 1 kvadrant nebo 2 1 = 2 kvadranty nebo 2 2 = 4 kvadranty (mocnina 2 3 a vyšší nás v tomto případě nezajímají neboť 2 3 = 8 což znamená, že by byly zaplněny všechny kvadranty požadovanou hodnotou 1 ) 1.4 Při svazování kvadrantů se snažíme vždy svázat co největší počet kvadrantů, protože čím větší je počet svázaných kvadrantů tím kratší je výsledná rovnice (viz. kapitola Základní pravidla pro tvorbu rovnic ). 1.5 Při svazování kvadrantů můžeme svazovat i kvadranty, které byly již byly použity pro svázání s jinými kvadranty, takže některé kvadranty mohou být svázány i několikrát. Příklady možného svazování kvadrantů 4 kvadranty krajní 4 kvadranty vodorovné 4 kvadranty 2 kvadranty (protilehlé) 4 a 2 kvadranty 4 a 4 kvadranty 1 2 a 2 a 2 kvadranty 2 a 2 kvadranty 2 a 2 a 1 kvadrant 1

Základní pravidla pro tvorbu rovnic 2.1 Každý kvadrant Karnaughovy mapy odpovídá jednomu řádku v minimalizační tabulce. c b a y 0 0 0 (1) 0 0 1 (2) 0 1 0 (3) 0 (4) 1 0 0 (5) 1 0 1 (6) 0 (7) 1 (8) Zobrazení příslušných řádku v Karnaughově mapě 000 (1) 100 (5) 010 (3) 110 (7) 011 (4) 111 (8) 001 (2) 101 (6) 2.2 Kvadranty v jedné vazbě se mezi sebou násobí a jednotlivé vazby se mezi sebou sčítají. 2.3 Pro ověření správnosti zápisu výsledné rovnice platí následující počty proměnných pro jednotlivé vazby: a) pro vazbu 4 kvadrantů je výsledkem vždy 1 ze 3 proměnných b) pro vazbu 2 kvadrantů je výsledkem vždy součin 2 ze 3 proměnných c) pro vazbu 1 kvadrantů je výsledkem vždy součin všech 3 proměnných Postup při zápisu rovnice z Karnaughovy mapy Pro přehlednější orientaci v Karnaughově mapě je vhodné si nejprve označit jednotlivé řádky a sloupce mapy jednotlivé sektory, které odpovídají příslušným proměnným a,b,c,d. Můžeme použít buď grafické znázornění nebo binární nebo můžeme použít oba způsoby. Grafické znázornění Binární znázornění a b 00 10 11 01 (b a) c 1 0 (c) Grafické i binární znázornění s barevným odlišením 0 c 1 a b 00 10 11 01 Do takto označené mapy můžeme zapsat data z minimalizační tabulky podle výše uvedených pravidel (odstavec 2.1)

Příklad 1: y bude 1 pokud a a zároveň b bude vždy 1, nebo jenom c bude vždy 1 c b a y 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 Po zápisu do mapy provedeme nejvýhodnější svázání kvadrantů obsahujících 1 : Vzniknou nám dvě vazby, jedna se 4 kvadranty druhá se 2 kvadranty. Podle pravidel (odst. 2.3) můžeme prohlásit, že výsledná rovnice bude mít jeden + dva členy. Červené šipky nám vymezují červenou vazbu, obsahující 4 kvadranty. 00 10 11 01 (b a) 0 Modré šipky nám vymezují modrou vazbu, obsahující 2 kvadranty. 1 (c) Čtení z Karnaughovy mapy provedeme pomocí binárního znázornění sektorů, ve kterých jsou jednotlivé vazby obsaženy. Každému znaku v binárním zobrazení odpovídá jedna proměnná, u sloupcových sektorů zastupuje první znak proměnnou b a druhý proměnnou a ; u řádkových sektorů zastupuje znak proměnnou c. 1. Nejdříve provedeme zápis červené vazby obsahující 4 kvadranty. Postupujeme tak, že si přečteme binární zápis sektorů, ve kterých se nachází tato vazba. Začneme například zápisem binárního znázornění řádku, který je [1], což nám ukazuje, že c = 1. To znamená, že ve výsledném zápisu rovnice této vazby bude proměnná c. Pak pokračujeme čtením binárního znázornění řádků. Zde je vazba obsažena ve všech čtyřech sektorech, což znamená, že proměnná a a b se nám navzájem vykrátí, neboť proměnná a je zastoupena stejným počtem 1 i 0 stejně jako proměnná b.

Důkaz: (přepis binárního znázornění sloupců) 00 00 (první znak binárního čísla zastupuje b druhý a ) ba ba ba ba b=0 b=1 b není obsaženo a=0 a=1 a není obsaženo b=0 b=1 b není obsaženo a=1 a=0 a není obsaženo Můžeme tedy konstatovat, že výslednou rovnicí pro červenou vazbu 4 kvadrantů je c. 2. Pokračujeme zápisem modré vazby obsahující 2 kvadranty. Postupujeme stejně jako v bodě 1 a začneme nejprve zápisem binárního znázornění řádků. Zde máme dva údaje, protože vazba je obsažena ve dvou řádkových sektorech. První je [0] a druhý [1], to znamená, že znaky, které zastupují proměnnou c, se vzájemně vykrátí, takže výsledná rovnice nebude obsahovat tuto proměnnou. Důkaz: (přepis binárního znázornění řádků) b ani a není obsaženo v žádném sloupcovém sektoru. 0 1 c c c=0 c=1 c není obsaženo c není obsaženo v žádném řádkovém sektoru. Pak pokračujeme čtením binárního znázornění sloupce. Zde je vazba obsažena v jednom sektoru [11]. Na obou pozicích binárního čísla, které nám zastupují proměnné b a a, je jednička, což znamená, že výsledná rovnice této vazby bude obsahovat součin a. b. Můžeme tedy konstatovat, že výslednou rovnicí pro modrou vazbu 2 kvadrantů je součin a. b. 3. Sloučením obou vazeb (podle pravidel uvedených v odst. 2.2) dostaneme výslednou rovnici celého zadání: y = a.b + c Poznámka: Při tvorbě rovnice vždy zapisujeme součin před součet. Tím dosáhneme kratšího programového kódu. Důkaz: y = c + a.b LD c LD a AND b OR WR Y y = a.b + c LD a AND b OR c WR Y

Příklad 2: Podmínky, kdy na výstupu y bude vždy 1 jsou zadány přímo v minimalizační tabulce: c b a y 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 Po zápisu do mapy provedeme nejvýhodnější svázání kvadrantů obsahujících 1 : 00 10 11 01 b a Vzniknou nám tři vazby se 2 kvadranty. 0 1 0 0 0 1 1 Nejdříve provedeme zápis modré vazby obsahující 2 kvadranty. Postupujeme tak, že si přečteme binární zápis sektorů, ve kterých se nachází tato vazba. Začneme nejprve zápisem binárního znázornění sloupců. Zde máme dva údaje, protože vazba je obsažena ve dvou sloupcových sektorech. První je [10] a druhý [11], to znamená, že na první pozici obou binárních čísel je 1 a na druhé pozici je v prvním případě 0 a ve druhém 1. Z toho vyplývá, že znaky na druhé pozici obou binárních čísel, které zastupují proměnnou a, se vzájemně vykrátí, takže výsledná rovnice této vazby bude obsahovat proměnnou b, která je zastoupena v obou binárních číslech jedničkou na první pozici. Důkaz: (přepis binárního znázornění sloupců) c 10 11 ba ba b=1 b=1 b je obsaženo a=0 a=1 a není obsaženo Pouze b je obsažena v daných sloupcových sektorech. Pak pokračujeme čtením binárního znázornění řádku. Zde je vazba obsažena v sektoru [0]. Z toho vyplývá, že výsledná rovnice bude obsahovat proměnnou c. Pokud nastane takový případ, kdy proměnná je v binármím čísle zastoupena pouze nulami, jedná se o tzv. negaci výrazu. V tomto případě zapisujeme proměnnou jako negovanou, což se značí jako proměnná s nadtržítkem c nebo textovým vyjádřením (NOT c). Výsledná rovnice této vazby bude b. (NOT c) 2. Pokračujeme zápisem červené vazby, která je obsažena v jednom řádkovém a dvou sloupcových sektorech. V řádkovém sektoru je vazba znázorněna pouze binárním zápisem [1], což znamená, že vazba je obsahuje proměnnou c. Výsledná rovnice této vazby bude tedy obsahovat proměnnou c.

Ve sloupcových sektorech je první binární zápis [00] a druhý [10], takže proměnná b, která je zastoupena v prvním binárním čísle nulou a ve druhém jedničkou se nám vzájemně vykrátí. Zůstává proměnná a, která je v odou binárních číslech zastoupena nulou, proto bude výsledná rovnice obsahovat negaci proměnné a. Důkaz: (přepis binárního znázornění sloupců) 00 10 ba ba b=0 b=1 b není obsaženo a=0 a=0 a je obsaženo Pouze a je obsaženo v daných sloupcových sektorech v nule. Výsledná rovnice této vazby bude (NOT a). c 3. Při zápisu hnědé vazby postupujeme stejně jako u předchozí vazby. Opět je vazba obsažena v jednom řádkovém a dvou sloupcových sektorech. U řádkového sektoru je binární zápis [1], což znamená, že vazba bude obsahovat proměnnou c. Ve sloupcových sektorech je první binární zápis [00] a druhý [01], takže proměnná a, která je zastoupena v prvním binárním čísle nulou a ve druhém jedničkou se nám vzájemně vykrátí. Zůstává proměnná b, která je v odou binárních číslech zastoupena nulou, proto bude výsledná rovnice obsahovat negaci proměnné b tedy (NOT b). Důkaz: (přepis binárního znázornění sloupců) 00 01 ba ba b=0 b=0 b je obsaženo a=0 a=1 a není obsaženo Pouze b je obsaženo v daných sloupcových sektorech v nule. Výsledná rovnice této vazby bude (NOT b). c Rovnice celého zadání bude součtem všech tří vazeb a bude mít tento tvar: y = b.(not c) + (NOT a).c + (NOT b).c 1. vazba 2. vazba 3. vazba 2 kvadranty 2 kvadranty 2 kvadranty nebo pomocí negační značky (nadtržítka) y = b. c + a. c + b. c Rovnice po algebraické úpravě: y = b.(not c) + c.{(not a) + (NOT b)}

Poznámka: Pro programování PLC používáme takovou úpravu rovnice, aby výsledný program obsahoval co nejmenší počet řádků. Proto je potřeba dodržovat při algebraických úpravých výsledných rovnic tyto zásady: Vytknutou veličinu dáváme až za závorku a v závorce zapisujeme součin před součet. Pokud závorka obsahuje dva součiny, zapisujeme v závorce součin s větším počtem proměnných před součin s menším počtem proměnných. Pokud vytýkáme v rovnici více jak jednou, zapisujeme vždy závorku s větším počtem proměnných před závoku s menším počtem proměnných. Podle uvedených zásad bude mít výsledná rovnice tento tvar: y = {(NOT a) + (NOT b)}.c + b.(not c) Pro názornost srovnejme počty řádků základního těla programu pro PLC u stejné rovnice v různých tvarech: y = b.(not c) + (NOT a).c + (NOT b).c y = {(NOT a) + (NOT b)}.c + b.(not c) 9 řádků programového kódu 7 řádků programového kódu Důkaz: y = b.(not c) + (NOT a).c + (NOT b).c y = {(NOT a) + (NOT b)}.c + b.(not c) LD b ANC c LDC a AND c OR LDC b AND c OR WR Y LDC a ORC b AND c LD b ANC c OR WR Y