# Упражнение2_Булеви функции – начини на представяне. Анализ на логически схеми. Преминаване от един базис в друг ## 1. Булеви функции и логически операции Булевата функция е функция, която приема стойности 0 и 1. Променливите на булевата функция също могат да приемат само две стойности — 0 (невярно) и 1 (вярно). Основните логически операции са: - Конюнкция (И) – резултатът е 1 само ако и двата аргумента са 1. - Дизюнкция (ИЛИ) – резултатът е 0 само ако и двата аргумента са 0. - Отрицание (НЕ) – обръща стойността на аргумента (ако е 1, става 0 и обратно). $$ f(a,b,c)=\bar a\,b+\bar a\,c $$ $$ {\large \textbf{Истинностна таблица}} $$ <table align="center"> <tr> <th>i</th><th>a</th><th>b</th><th>c</th><th>f</th> </tr> <tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr> <tr><td>1</td><td>0</td><td>0</td><td>1</td><td>1</td></tr> <tr><td>2</td><td>0</td><td>1</td><td>0</td><td>1</td></tr> <tr><td>3</td><td>0</td><td>1</td><td>1</td><td>1</td></tr> <tr><td>4</td><td>1</td><td>0</td><td>0</td><td>0</td></tr> <tr><td>5</td><td>1</td><td>0</td><td>1</td><td>0</td></tr> <tr><td>6</td><td>1</td><td>1</td><td>0</td><td>0</td></tr> <tr><td>7</td><td>1</td><td>1</td><td>1</td><td>0</td></tr> </table> ## 2. Представяне в СДНФ Конституент на единицата (минтерм) е елементарна конюнкция, в която участват всички променливи на функцията. Минтермът има стойност 1 само за един единствен набор. Съвършената дизюнктивна нормална форма (СДНФ) е дизюнкция от минтерми, за които функцията е 1. $$ Пример: f=\bar a\,\bar b\,c\ \vee\ \bar a\,b\,\bar c\ \vee\ \bar a\,b\,c =\Sigma m(1,2,3). $$ ### Практическо приложение: СДНФ се използва основно при синтез и проектиране на логически схеми, когато трябва ясно да се определят всички входни комбинации, за които изходът е 1. Тя е удобна за: * изграждане на логически схеми от елементи И и ИЛИ; * автоматично генериране на схеми в CAD системи за цифрови устройства; * анализ на функции, когато трябва да се види при кои условия системата ще даде вярна (активна) реакция. ## 3. Представяне в СКНФ Конституент на нулата (макстерм) е елементарна дизюнкция, в която участват всички променливи на функцията. Макстермът има стойност 0 само за един набор. Съвършената конюнктивна нормална форма (СКНФ) е конюнкция от макстерми, за които функцията е 0. $$ Пример: f=(a\vee b\vee c)(a\vee \bar b\vee \bar c)(\bar a\vee b\vee c)(a\vee \bar b\vee c) =\Pi M(0,4,5,6,7). $$ ### Практическо приложение: СКНФ се използва, когато трябва да се анализират или реализират условия за изключване (т.е. комбинации, при които изходът е 0). Подходяща е за: * проверка на логическа коректност и избягване на недопустими състояния; * изграждане на схеми с елементи тип ИЛИ и И, които реализират условия за блокиране; * анализ на откази или забранени комбинации в цифрови системи; при логическо моделиране на контроли и защити, където е важно да се знае кога системата няма да сработи. ## 4. Преминаване от един базис в друг Всеки базис, който е функционално пълен, може да реализира всички булеви функции. Най-често използваните са стандартният базис (И, ИЛИ, НЕ) и алтернативните базиси, изградени само с операции NAND или NOR. $$ \text{Пример за преобразуване чрез операция NAND:}\quad \bar a b = (a \uparrow a)\ \uparrow\ (b \uparrow b) $$ ## 5. Заключение и въпроси за проверка Булевите функции са основата на логическите схеми и цифровите устройства. Чрез тях можем да представим и реализираме всяка логическа зависимост. Минимизацията и преобразуването на функциите са важни за оптимизацията на схемите. Контролни въпроси: 1. Какво представлява булевата функция? 2. Какви са основните логически операции? 3. Какво е минтерм и макстерм? 4. Как се съставят СДНФ и СКНФ? 5. Какво означава преминаване от един базис в друг?