KWALIFIKACJA ELM6 - TEST WIEDZY NR 2

PYTANIE NR 6.
if (silnik.status == "BŁĄD") {
    alert("Wystąpił problem z silnikiem!");
} else if (silnik.temperatura > 80) {
    alert("Temperatura silnika jest za wysoka!");
} else {
    alert("Silnik działa poprawnie.");
}
Jaki jest cel powyższego fragmentu kodu?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Kod sprawdza warunkowo dwa typowe symptomy problemu: stan "BŁĄD" oraz przekroczenie progu temperatury (> 80). W zależności od wyniku wyświetla komunikat ostrzegawczy albo informację, że praca jest poprawna. Taka logika służy do diagnostyki/nadzoru stanu silnika, a nie do sterowania ruchem czy kalibracji.

Pełne wyjaśnienie:

Pokazany fragment realizuje prostą diagnostykę (nadzór) stanu silnika na podstawie dwóch warunków: tekstowego stanu oraz wartości temperatury. Instrukcja if / else if / else wybiera jeden z komunikatów w zależności od tego, co zostanie wykryte.

Gdy silnik.status == "BŁĄD", program zgłasza problem z silnikiem. To typowy wzorzec obsługi stanu awaryjnego: jeżeli urządzenie raportuje błąd, priorytetem jest poinformowanie operatora i dalsza reakcja (np. zatrzymanie, zapis do logu). Następnie sprawdzany jest warunek silnik.temperatura > 80. To przykład progu alarmowego: przekroczenie zadanej wartości parametru powoduje ostrzeżenie o zbyt wysokiej temperaturze. Jeśli żaden z warunków nie zachodzi, wyświetlany jest komunikat, że silnik działa poprawnie.

Odpowiedź "Programowanie ruchu silnika" nie pasuje, bo w kodzie nie ma żadnych komend sterowania (np. zadawania prędkości, kierunku, profilu ruchu). Odpowiedź "Kalibracja silnika" jest błędna, ponieważ kalibracja dotyczy zwykle procedury wyznaczania parametrów/zerowania/uczenia czujników lub napędu, a tutaj występuje jedynie porównanie do stałego progu i komunikaty. Z kolei "Programowanie interfejsu użytkownika" może mylić, bo pojawia się funkcja alert, ale to tylko najprostsza forma wyświetlenia informacji. Celem fragmentu nie jest projekt UI, lecz decyzja diagnostyczna: jaki komunikat pokazać na podstawie stanu i temperatury.

W praktyce przemysłowej zamiast alert często stosuje się logi, lampki/ikony alarmowe, wpis do historii alarmów lub sygnał do nadrzędnego systemu. Jednak idea pozostaje ta sama: warunkowe wykrywanie nieprawidłowości i sygnalizacja.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja if/else wybiera jedną ścieżkę działania na podstawie spełnienia warunku. W diagnostyce pozwala np. najpierw wykryć stan awaryjny, potem sprawdzić przekroczenie progu (temperatury), a na końcu przyjąć, że praca jest poprawna.
To kwestia priorytetu. Jeśli urządzenie raportuje stan "BŁĄD", zwykle oznacza to awarię wymagającą natychmiastowej reakcji niezależnie od innych parametrów. Dopiero gdy nie ma błędu, sensownie jest analizować dodatkowe ostrzeżenia, np. przekroczenie temperatury.
To sprawdzenie, czy zmierzona temperatura przekroczyła ustalony próg alarmowy. W realnym układzie wartość temperatury pochodzi z czujnika lub z napędu/sterownika, a przekroczenie progu może uruchamiać ostrzeżenie, ograniczenie mocy albo zatrzymanie.
Nie w sensie egzaminacyjnym. alert() jest prostym mechanizmem pokazania komunikatu, ale nie oznacza projektowania UI. Interfejs użytkownika to zwykle widoki, przyciski, kontrolki, ekrany HMI i logika nawigacji. Tutaj alert jest tylko nośnikiem informacji diagnostycznej.
Diagnostyka zwykle sprawdza stany i parametry (błąd, temperatura, prąd) i generuje komunikaty lub logi. Sterowanie ruchem zawiera komendy typu: zadanie prędkości, kierunku, rampy, start/stop, regulacja PID. Jeśli kod tylko ocenia warunki i informuje, to jest to nadzór/diagnostyka.
Próg alarmowy to ustalona wartość graniczna, po której przekroczeniu system zgłasza ostrzeżenie lub awarię. Stosuje się go, aby zapobiegać przegrzaniu uzwojeń, łożysk lub falownika. Progi ustala się na podstawie dokumentacji urządzenia i warunków pracy.
Częste są: skupienie się na słowie "silnik" i wybór odpowiedzi o sterowaniu ruchem, ignorowanie kolejności warunków, mylenie liczby "80" z kalibracją oraz traktowanie alertu jako pełnego UI. Pomaga czytanie: co jest sprawdzane i co jest efektem.
W praktyce dodaje się: zapis do logu zdarzeń, kody alarmów, czas wystąpienia, filtrowanie fałszywych alarmów (histereza), reakcje bezpieczeństwa (zatrzymanie), oraz komunikację z HMI/SCADA/PLC. Zamiast alert stosuje się kontrolki alarmowe i historię alarmów.
else if oznacza, że wykona się tylko jeden wariant (pierwszy spełniony). Dwa niezależne if stosuje się, gdy chcesz zgłosić kilka problemów naraz, np. jednocześnie błąd i przekroczenie temperatury. W diagnostyce wybór zależy od tego, czy alarmy mają się wykluczać.
Ćwicz krótkie scenariusze: błąd czujnika, przekroczenie temperatury, zanik sygnału, przekroczenie prądu. Dla każdego napisz warunek i spodziewany komunikat. Na egzaminie czytaj kod jak procedurę: warunek → reakcja, oraz zwracaj uwagę na kolejność sprawdzania.
info

Statystycznie 57% uczniów zna prawidłową odpowiedź. średnie

Eksperci podkreślają: "Kod sprawdza warunkowo dwa typowe symptomy problemu: stan "BŁĄD" oraz przekroczenie progu temperatury (> 80)."

Źródła:

  • MDN Web Docs: if...else - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else (dostęp: 2026-03-02)
  • MDN Web Docs: Equality (==) - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality (dostęp: 2026-03-02)
  • MDN Web Docs: alert() - https://developer.mozilla.org/en-US/docs/Web/API/Window/alert (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja języka JavaScript/ECMAScript w zakresie instrukcji if/else
  • Materiały dydaktyczne o diagnostyce i alarmowaniu w układach napędowych
  • Ćwiczenia z czytania krótkich fragmentów kodu (logika warunkowa, progi, stany)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego