Funkcja NOR jest zdefiniowana jako negacja alternatywy (OR):
NOR = NOT(OR)
Oznacza to, że sygnał wyjściowy przyjmuje stan "1" wyłącznie w jednym przypadku: gdy żaden z rozpatrywanych sygnałów wejściowych nie jest aktywny (oba są równe 0). Dla pozostałych kombinacji (gdy przynajmniej jedno wejście ma 1) na wyjściu pojawi się 0.
W zapisie listy instrukcji (IL) taka funkcja jest zwykle widoczna jako:
- zbudowanie wyniku OR z dwóch (lub więcej) warunków,
- a następnie zastosowanie negacji wyniku (NOT) przed przypisaniem do wyjścia.
Dlatego odpowiedź "NOR" pasuje do programu, który finalnie odwraca wynik sumy logicznej.
Dlaczego pozostałe odpowiedzi są błędne?
- "OR" byłoby poprawne tylko wtedy, gdyby program kończył się bez negacji: wyjście = 1, gdy co najmniej jedno wejście = 1. Jeśli występuje końcowe odwrócenie, nie jest to OR.
- "XOR" (alternatywa rozłączna) daje 1, gdy wejścia są różne (0/1 lub 1/0), ale daje 0 dla (0/0) i (1/1). To inny wzorzec niż NOR, więc nie pasuje do programu realizującego negację OR.
- "NAND" to negacja koniunkcji: NOT(AND). Byłoby właściwe, gdyby program tworzył AND, a potem go negował. Negowanie OR prowadzi do NOR, a nie do NAND.
Wskazówka egzaminacyjna: gdy widzisz w kodzie IL osobną negację na końcu (odwrócenie wyniku), najpierw ustal jaką operację zrobiono "w środku" (OR czy AND), a dopiero potem dobierz bramkę z przedrostkiem "N-" (NOR albo NAND).