KWALIFIKACJA MEC5 - TEST WIEDZY NR 4

PYTANIE NR 21.
Zidentyfikuj elementy sterujące w poniższym fragmencie kodu:
if (positionError > threshold) {
  motorSpeed = maxSpeed;
} else {
  motorSpeed = minSpeed;
}
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Elementami sterującymi przepływem wykonania są słowa kluczowe instrukcji warunkowej.
W tym fragmencie to "if" (sprawdza warunek i wybiera blok) oraz "else" (uruchamia alternatywny blok, gdy warunek nie jest spełniony). Pozostałe elementy to zmienne, stałe/parametry i operatory.

Pełne wyjaśnienie:

W pokazanym fragmencie kodu zastosowano klasyczną instrukcję warunkową, która steruje przepływem wykonania programu. Konstrukcja działa tak, że najpierw sprawdzany jest warunek w nawiasie po słowie if. Jeśli warunek jest spełniony, wykonywany jest pierwszy blok w nawiasach klamrowych, a jeśli nie jest spełniony, wykonywany jest blok po else.

Dlatego odpowiedź "if, else" jest poprawna: to są słowa kluczowe, które decydują, która część kodu zostanie wykonana.

Dlaczego pozostałe propozycje nie pasują:

  • "positionError, threshold" to identyfikatory (np. zmienne/parametry). Opisują dane używane w warunku, ale nie sterują wyborem gałęzi programu.
  • "motorSpeed, maxSpeed, minSpeed" również są identyfikatorami. Występują w przypisaniach, czyli służą do ustawiania wartości, a nie do wyboru ścieżki wykonania.
  • ">, =" to operatory: porównania i przypisania. Są ważne składniowo, ale same w sobie nie tworzą konstrukcji sterującej (bez if/else nie decydują o wyborze bloku).

W praktyce taka logika odpowiada prostemu sterowaniu: jeśli błąd położenia przekroczy próg, ustaw wyższą prędkość, w przeciwnym razie ustaw niższą. Na egzaminie warto odróżniać: (1) słowa kluczowe sterujące, (2) dane (zmienne/stałe) oraz (3) operatory (porównania i przypisania).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcje sterujące (sterujące przepływem) decydują, która część programu ma zostać wykonana i w jakiej kolejności. Przykłady to instrukcje warunkowe (np. if/else) oraz pętle. Nie są nimi nazwy zmiennych ani same operatory.
If sprawdza warunek w nawiasie. Gdy warunek jest prawdziwy, wykonywany jest pierwszy blok w nawiasach klamrowych. Gdy warunek jest fałszywy, ten blok jest pomijany, a kontrolę może przejąć gałąź else (jeśli istnieje).
Else tworzy alternatywną ścieżkę wykonania programu: uruchamia drugi blok wtedy, gdy warunek w if nie został spełniony. To zmienia przebieg programu, więc jest elementem sterowania, a nie nazwą danych.
To typowe identyfikatory (np. zmienne/parametry). "positionError" może oznaczać uchyb położenia, a "threshold" próg decyzji. Są używane do obliczenia wartości logicznej warunku, ale same nie sterują wyborem gałęzi programu.
Nie. Operator > służy do porównania wartości i zwraca wynik logiczny (prawda/fałsz). Jest składnikiem warunku, ale dopiero instrukcja if/else wykorzystuje ten wynik, aby wybrać blok kodu do wykonania.
Słowa kluczowe (np. if, else) są zarezerwowane przez język i mają stałe znaczenie. Zmienne/parametry (np. motorSpeed) to nazwy nadane przez programistę. W praktyce słowa kluczowe zwykle wyglądają "ogólnie", a zmienne opisują dane procesu.
Gdy logika ma reagować na warunek, np. przekroczenie tolerancji, stan czujnika, błąd pozycjonowania lub limit prędkości. Wtedy if/else pozwala wybrać działanie: zmienić prędkość, zatrzymać napęd, przełączyć tryb lub zgłosić alarm.
Najczęściej myli się elementy sterowania z danymi: wskazuje się zmienne (bo są "konkretne") albo same symbole operatorów. Drugi częsty błąd to traktowanie całego warunku jako "sterowania", zamiast wskazania konstrukcji, która wybiera gałąź programu.
Nie. To przypisanie, czyli ustawienie wartości zmiennej. Może zmieniać parametry procesu (np. prędkość), ale nie decyduje o tym, który blok kodu zostanie wykonany. O wyborze bloku decyduje if/else.
Skup się na roli elementów, a nie na nazwie języka. W wielu językach składnia if/else ma podobne znaczenie: wybór jednej z dwóch gałęzi zależnie od warunku. Zmienne, wartości i operatory są dodatkami, ale nie są konstrukcją sterującą.
info

Statystycznie 78% uczniów zna prawidłową odpowiedź. średnio łatwe

Eksperci podkreślają: "Pozostałe elementy to zmienne, stałe/parametry i operatory."

Ź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-01)
  • cppreference.com: if statement (C/C++) — https://en.cppreference.com/w/c/language/if (dostęp 2026-03-01)
  • Microsoft Learn (C#): if-else statement — https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/selection-statements (dostęp 2026-03-01)

Materiały:

  • Dokumentacja języka używanego w sterowaniu/automatyce w danym zakładzie (np. skrypty, makra, PLC)
  • Materiały dydaktyczne z podstaw programowania: instrukcje warunkowe if/else
  • Ćwiczenia: rozpoznawanie słów kluczowych, operatorów i identyfikatorów w krótkich fragmentach kodu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego