KWALIFIKACJA ELM6 - STYCZEŃ 2019

PYTANIE NR 24.
W wyniku testowania działania programu, otrzymano wyniki zapisane w tabeli. Który stan wskazuje na błąd w programie, jeżeli powinien on realizować zależności logiczne?
Ilustracja przedstawia tabelę wyników testu działania programu, która jest częścią pytania egzaminacyjnego związanego z
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby wykryć błąd, porównuje się wartości z tabeli z wartościami teoretycznymi z równań logicznych. Dla stanu 6: S1=1, S2=0, S3=1. Wtedy Y2 = S1 AND NOT S2 = 1 AND 1 = 1, a w tabeli widnieje Y2=0. Ta rozbieżność wskazuje błąd programu.

Pełne wyjaśnienie:

W zadaniu program ma realizować podane zależności logiczne, więc poprawność testu ocenia się przez porównanie wartości wyjść z tabeli z wartościami obliczonymi z równań.

Kluczowe są operacje algebry Boole’a i ich kolejność:

  • NOT (negacja) zmienia 0 na 1 i 1 na 0.
  • AND (koniunkcja) daje 1 tylko wtedy, gdy oba argumenty są równe 1.
  • OR (alternatywa) daje 1, gdy przynajmniej jeden argument jest równy 1.

Dla wyjścia Y1 = NOT(S1 OR S3) AND S2 najpierw liczy się OR w nawiasie, potem wykonuje NOT, a na końcu AND z S2. Dla Y2 = S1 AND NOT S2 najpierw neguje się S2, a dopiero później wykonuje AND z S1.

W stanie 6 (S1=1, S2=0, S3=1):

  • Y1: (S1 OR S3) = (1 OR 1) = 1, więc NOT(1)=0, a następnie 0 AND 0 = 0. Zatem Y1=0 i taki wynik w tabeli nie wskazuje błędu.
  • Y2: NOT S2 = NOT 0 = 1, więc S1 AND NOT S2 = 1 AND 1 = 1. Jeśli tabela pokazuje Y2=0, to jest to sprzeczne z zależnością logiczną i oznacza błąd programu w tym stanie.

Dlaczego pozostałe wskazane stany nie muszą oznaczać błędu? Ponieważ sam fakt, że w wierszu pojawia się 0 lub 1, nie jest problemem — problemem jest dopiero niezgodność między wartością oczekiwaną a zapisaną w tabeli testów. W praktyce taka rozbieżność jest sygnałem do debugowania: sprawdza się implementację negacji, priorytety operatorów oraz mapowanie sygnałów wejściowych na zmienne programu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Algebra Boole’a to rachunek na wartościach 0 i 1 opisujący zależności logiczne. W mechatronice służy do projektowania i weryfikacji logiki sterowania, np. w PLC, czujnikach i układach blokad. Ułatwia sprawdzenie, czy wyjścia reagują poprawnie na kombinacje wejść.
Najpierw policz nawias: S1 OR S3. Potem zaneguj wynik operacją NOT. Na końcu wykonaj AND z S2. Ta kolejność jest kluczowa, bo NOT działa na cały wynik z nawiasu, a nie tylko na pojedynczą zmienną.
Najpierw wykonujesz negację: NOT S2 (0→1, 1→0). Następnie liczysz S1 AND (NOT S2). Wynik AND jest równy 1 tylko wtedy, gdy S1=1 i jednocześnie S2=0 (bo wtedy NOT S2=1).
Tabela testów ma odzwierciedlać rzeczywiste wyniki działania programu, a równania logiczne opisują wymagania. Jeśli wartość w tabeli różni się od wartości obliczonej z równań dla tych samych wejść, to program nie realizuje zadanej logiki w danym przypadku i wymaga poprawy lub diagnozy.
Najczęściej mylony jest priorytet NOT oraz rola nawiasów. Uczniowie potrafią wykonać AND/OR "od lewej do prawej" i dopiero potem negować, co zmienia wynik. Bezpieczna metoda: zawsze najpierw obliczaj nawiasy, potem NOT, a na końcu AND/OR zgodnie z zapisem.
W idealnej weryfikacji tak, bo błąd może ujawniać się tylko dla jednej kombinacji wejść. W praktyce egzaminacyjnej często wystarczy znaleźć co najmniej jeden stan, w którym wynik z tabeli jest niezgodny z wynikiem teoretycznym. To jednoznacznie wskazuje na błąd implementacji.
Najczęstsze przyczyny to: pominięcie negacji (NOT), negacja niewłaściwej zmiennej, błędne nawiasowanie (inny zakres działania NOT), zamiana AND z OR oraz błędne przypisanie sygnałów (np. podpięcie S2 pod miejsce S3). Każda z nich daje rozbieżność w tabeli.
Dla zależności Y2 = S1 AND NOT S2 zapamiętaj warunek: Y2=1 tylko wtedy, gdy S1=1 oraz S2=0. Jeśli S1=0 albo S2=1, wyjście musi być 0. To pozwala błyskawicznie ocenić poprawność konkretnego wiersza.
Tabele prawdy stosuje się przy uruchamianiu i testowaniu układów sterowania: sprawdzaniu blokad, sekwencji start/stop, warunków bezpieczeństwa i sygnałów z czujników. Ułatwiają systematyczne przejście przez kombinacje wejść i wykrycie, w którym przypadku logika działa inaczej niż zakładano.
Częsty błąd to przestawienie kolumn (np. odczyt S3 jako S2), pomylenie numeru wiersza lub przepisanie wartości 0/1 bez sprawdzenia nagłówków. Pomaga nawyk: najpierw odczytaj komplet wejść S1–S3, dopiero potem osobno wyjścia Y1–Y2 i porównaj z obliczeniami.
info

To pytanie poprawnie rozwiązuje 29% zdających egzamin. bardzo trudne

W praktyce zawodowej kluczowe jest to, że aby wykryć błąd, porównuje się wartości z tabeli z wartościami teoretycznymi z równań logicznych.

Źródła:

  • Wikipedia: "Algebra Boole’a" – https://pl.wikipedia.org/wiki/Algebra_Boole%E2%80%99a (dostęp: 2026-02-28)
  • Wikipedia: "Bramka logiczna" – https://pl.wikipedia.org/wiki/Bramka_logiczna (dostęp: 2026-02-28)
  • Wikipedia: "Tabela prawdy" – https://pl.wikipedia.org/wiki/Tabela_prawdy (dostęp: 2026-02-28)

Materiały:

  • Podstawy techniki cyfrowej: rozdziały o bramkach logicznych i tabelach prawdy
  • Materiały do ćwiczeń z algebry Boole’a (zadania: obliczanie wyjść dla zadanych wejść)
  • Instrukcje/poradniki do debugowania programów PLC (testy wejść/wyjść, wymuszanie stanów)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego