Předmětem této práce je návrh a tvorba desktopové aplikace k minimalizaci logických funkcí metodou Karnaughových map. Součástí aplikace je přehledné uživatelské rozhraní, které uživatele provede všemi dílčími kroky minimalizačního procesu. Program umožňuje provádět manuální i zcela automatickou tvorbu řešení s generováním výsledků v libovolném textovém formátu, včetně různých programovacích jazyků. Veškeré výsledky je možné ukládat do řady běžně používaných grafických a textových formátů. Aplikace cílí na využití v praxi i ve výuce či tvorbě podpůrných materiálů k ní určených.
Anotace v angličtině
The main goal of this thesis is to design and create a desktop application for Boolean function minimization using the Karnaugh map method. The application includes a graphical user interface which guides its user through the process of minimization. User can solve Karnaugh maps on his own or use the solver. Minimization results can be generated in arbitrary text format, including various programming languages. It is possible to save the results to common image and text file formats. The application aims for its practical use in various industries including education.
Klíčová slova
minimalizace, logická funkce, Booleova algebra, Karnaughova mapa, grafické uživatelské rozhraní
Klíčová slova v angličtině
minimization, Boolean function, Boolean algebra, Karnaugh map, graphical user interface
Rozsah průvodní práce
75 s.
Jazyk
CZ
Anotace
Předmětem této práce je návrh a tvorba desktopové aplikace k minimalizaci logických funkcí metodou Karnaughových map. Součástí aplikace je přehledné uživatelské rozhraní, které uživatele provede všemi dílčími kroky minimalizačního procesu. Program umožňuje provádět manuální i zcela automatickou tvorbu řešení s generováním výsledků v libovolném textovém formátu, včetně různých programovacích jazyků. Veškeré výsledky je možné ukládat do řady běžně používaných grafických a textových formátů. Aplikace cílí na využití v praxi i ve výuce či tvorbě podpůrných materiálů k ní určených.
Anotace v angličtině
The main goal of this thesis is to design and create a desktop application for Boolean function minimization using the Karnaugh map method. The application includes a graphical user interface which guides its user through the process of minimization. User can solve Karnaugh maps on his own or use the solver. Minimization results can be generated in arbitrary text format, including various programming languages. It is possible to save the results to common image and text file formats. The application aims for its practical use in various industries including education.
Klíčová slova
minimalizace, logická funkce, Booleova algebra, Karnaughova mapa, grafické uživatelské rozhraní
Klíčová slova v angličtině
minimization, Boolean function, Boolean algebra, Karnaugh map, graphical user interface
Zásady pro vypracování
Seznamte se s programovacím jazykem C++ a knihovnami použitými v této práci.
Osvojte si pravidla Booleovy algebry a minimalizace logických funkcí pomocí Karnaughových map. V teoretické části práce je popište.
Navrhněte a naprogramujte algoritmus pro řešení Karnaughových map s podporou až osmi proměnných na vstupu.
V programu vytvořte přehledné uživatelské rozhraní s podporou automatické i manuální minimalizace a možností následného exportu výsledků do obecně používaných souborových formátů.
Otestujte vytvořený program na několika praktických příkladech a vyhodnoťte výsledky.
Zásady pro vypracování
Seznamte se s programovacím jazykem C++ a knihovnami použitými v této práci.
Osvojte si pravidla Booleovy algebry a minimalizace logických funkcí pomocí Karnaughových map. V teoretické části práce je popište.
Navrhněte a naprogramujte algoritmus pro řešení Karnaughových map s podporou až osmi proměnných na vstupu.
V programu vytvořte přehledné uživatelské rozhraní s podporou automatické i manuální minimalizace a možností následného exportu výsledků do obecně používaných souborových formátů.
Otestujte vytvořený program na několika praktických příkladech a vyhodnoťte výsledky.
Seznam doporučené literatury
HOLDSWORTH, Brian a Clive WOODS. Digital Logic Design. 4th ed. Boston: Newnes, 2002. ISBN 978-075-0645-829.
TIDWELL, Jenifer. Designing Interfaces. 2nd ed. Sebastopol (California): O\symbol{39}Reilly Media, 2010. ISBN 978-144-9379-704.
PRATA, Stephen. Mistrovství v C++. 4. aktualiz. vyd. Brno: Computer Press, 2013. ISBN 978-802-5138-281.
KUPHALDT, Tony R. Vol. IV - Digital - Electronics Textbook. All About Circuits \matsymb{lbrack}online\matsymb{rbrack}. \matsymb{lbrack}cit. 2018-11-26\matsymb{rbrack}. Dostupné z: https://www.allaboutcircuits.com/textbook/digital/
CORNUT, Omar. Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. GitHub \matsymb{lbrack}online\matsymb{rbrack}. \matsymb{lbrack}cit. 2018-11-26\matsymb{rbrack}. Dostupné z: https://www.github.com/ocornut/imgui
Seznam doporučené literatury
HOLDSWORTH, Brian a Clive WOODS. Digital Logic Design. 4th ed. Boston: Newnes, 2002. ISBN 978-075-0645-829.
TIDWELL, Jenifer. Designing Interfaces. 2nd ed. Sebastopol (California): O\symbol{39}Reilly Media, 2010. ISBN 978-144-9379-704.
PRATA, Stephen. Mistrovství v C++. 4. aktualiz. vyd. Brno: Computer Press, 2013. ISBN 978-802-5138-281.
KUPHALDT, Tony R. Vol. IV - Digital - Electronics Textbook. All About Circuits \matsymb{lbrack}online\matsymb{rbrack}. \matsymb{lbrack}cit. 2018-11-26\matsymb{rbrack}. Dostupné z: https://www.allaboutcircuits.com/textbook/digital/
CORNUT, Omar. Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. GitHub \matsymb{lbrack}online\matsymb{rbrack}. \matsymb{lbrack}cit. 2018-11-26\matsymb{rbrack}. Dostupné z: https://www.github.com/ocornut/imgui
Přílohy volně vložené
1 CD ROM
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student prezentoval bakalářskou práci a po přečtení posudků práce položila komise následující dotazy:
Ing. Sysala: Programoval jste vše sám? Jak by vypadala Karnaughova mapa pro 7 proměnných? Co se myslí dodatečnou minimalizací pomocí Booleovy algebry?
doc. Pekař: Umožňuje vaše minimalizace realizaci pomocí jiných hradel?
Student všechny dotazy zodpověděl.