Poniżej przedstawiona jest funkcja logiczna opisująca układ przełączający. Dla której kombinacji sygnałów a, b, c wartość tej funkcji będzie wynosiła "1"?
| \( F(abc) = a \cdot \overline{b} \cdot c \) | |||
|---|---|---|---|
| a | b | c | |
| A. | 0 | 1 | 1 |
| B. | 0 | 1 | 0 |
| C. | 1 | 1 | 0 |
| D. | 1 | 0 | 1 |
W funkcji $F=a \cdot \overline{b} \cdot c$ występuje iloczyn logiczny, czyli bramka AND z trzema warunkami. Taki iloczyn daje wartość 1 tylko wtedy, gdy każdy składnik ma wartość 1. Zmienna $\overline{b}$ oznacza zaprzeczenie sygnału b, więc jeśli b = 0, to $\overline{b}=1$. Dla kombinacji D mamy: a = 1, b = 0, c = 1, czyli $F=1 \cdot 1 \cdot 1=1$. Dlatego właśnie ta kombinacja spełnia warunek. Moim zdaniem najprostsza metoda to nie liczyć „na oko”, tylko rozpisać sobie negację b i dopiero potem wykonać AND. W praktyce takie funkcje spotyka się np. w układach blokad, sterowaniu maszyną albo w prostych układach cyfrowych TTL/CMOS, gdzie wyjście ma być aktywne tylko przy konkretnym stanie wejść. Dobra praktyka branżowa jest taka, żeby sygnały zanegowane oznaczać jednoznacznie, np. kreską nad nazwą, kółkiem negacji na schemacie albo dopiskiem aktywne niskim poziomem. To ogranicza pomyłki przy uruchamianiu i diagnostyce układów cyfrowych.
W tej funkcji kluczowe jest to, że mamy iloczyn logiczny oraz zanegowaną zmienną b. Zapis $F=a \cdot \overline{b} \cdot c$ nie oznacza, że wystarczy aby którykolwiek sygnał był równy 1. To nie jest suma logiczna OR, tylko AND, więc wszystkie składniki po przekształceniu muszą jednocześnie mieć stan wysoki. Jeśli w rozpatrywanej kombinacji a = 0, to cały iloczyn od razu spada do 0, nawet gdy pozostałe sygnały wyglądają sensownie. To typowa własność bramki AND: jedno zero na wejściu blokuje wynik. Podobnie gdy c = 0, funkcja też nie może dać 1, bo ostatni czynnik iloczynu jest równy 0. Częsty błąd polega na pominięciu kreski nad b. Jeżeli b = 1, to $\overline{b}=0$, a więc taki wariant nie spełnia warunku, nawet jeśli a ma wartość 1. Z mojego doświadczenia uczniowie czasem czytają $\overline{b}$ tak, jakby to dalej było zwykłe b, i wtedy wynik wychodzi odwrotnie. W dokumentacji technicznej oraz na schematach automatyki warto zawsze sprawdzać, czy wejście jest aktywne stanem wysokim czy niskim. Mała kreska, kółko negacji albo opis typu /ENABLE potrafi całkowicie zmienić działanie układu. Poprawne podejście to: najpierw zanegować b, potem dopiero wykonać mnożenie logiczne wszystkich trzech składników.