W schemacie blokowym najpierw sprawdzany jest warunek S1==1. Jeśli jest prawdziwy, algorytm natychmiast wykonuje przypisanie H1:=1 i przechodzi do zakończenia (nie ma potrzeby dalszych sprawdzeń). To oznacza, że dla przypadków, w których S1=1, wynik jest zawsze równy 1, niezależnie od tego, jaka wartość byłaby na S2.
Jeżeli pierwszy warunek nie jest spełniony (S1=0), dopiero wtedy sprawdzany jest drugi warunek S2==1:
- gdy S2=1, algorytm także ustawia H1:=1,
- gdy S2=0, algorytm ustawia H1:=0.
Zebrane razem daje to klasyczną tabelę prawdy alternatywy (OR):
- (S1=0, S2=0) 9 H1=0
- (S1=0, S2=1) 9 H1=1
- (S1=1, S2=0) 9 H1=1
- (S1=1, S2=1) 9 H1=1
Dlatego poprawny zapis funkcji to H1 = S1 ˅ S2 (suma logiczna, OR) – wyjście jest równe 1, gdy co najmniej jedno z wejść ma wartość 1.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- H1 = S1 ˄ S2 (AND) wymagałoby, aby oba sygnały były równe 1, a tu przypadek (1,0) daje H1=1, więc to nie jest AND.
- H1 = ~ (S1 ˅ S2) (NOR) dawałoby 1 tylko przy (0,0), a algorytm dla (0,0) ustawia 0, więc to nie pasuje.
- H1 = ~ (S1 ˄ S2) (NAND) dawałoby 0 tylko przy (1,1), natomiast algorytm przy (1,1) ustawia 1, więc również odpada.
W praktyce w mechatronice taka logika odpowiada sytuacji "uruchom, gdy zadziała którykolwiek warunek", np. start z przycisku albo sygnał z systemu nadrzędnego.