Fragment programu jest zapisany w języku Structured Text i wykorzystuje instrukcję warunkową IF ... THEN ... ELSE. Warunek brzmi: (Sensor1 = TRUE). Oznacza to, że sterownik sprawdza, czy sygnał z czujnika Sensor1 ma wartość logiczną TRUE.
Jeżeli warunek jest spełniony (czyli Sensor1 = TRUE), wykonywana jest część THEN i następuje przypisanie: Motor1 := TRUE. W praktyce oznacza to ustawienie zmiennej/wyjścia sterującego silnikiem na stan włączenia.
Jeżeli warunek nie jest spełniony (czyli Sensor1 = FALSE), wykonywana jest część ELSE i program ustawia: Motor1 := FALSE, czyli wyłącza silnik.
Dlatego poprawna odpowiedź to: silnik Motor1 zostanie włączony, kiedy Sensor1 jest prawdziwy (TRUE).
- "Kiedy Sensor1 jest fałszywy" – to błąd odwrócenia logiki. Dla Sensor1 = FALSE wykonywany jest blok ELSE, który wyłącza Motor1.
- "Zawsze, niezależnie od stanu Sensor1" – nieprawda, bo w kodzie istnieje rozgałęzienie i zależność od warunku; Motor1 przyjmuje różne wartości w zależności od Sensor1.
- "Nigdy, niezależnie od stanu Sensor1" – również nieprawda, ponieważ dla Sensor1 = TRUE program jawnie ustawia Motor1 na TRUE.
Wskazówka egzaminacyjna: czytaj instrukcję IF jak zdanie: "Jeśli Sensor1 jest TRUE, to włącz Motor1, w przeciwnym razie wyłącz Motor1". Zwracaj uwagę na różnicę między = (porównanie w warunku) i := (przypisanie wartości).