W przedstawionym fragmencie kodu zastosowano klasyczną instrukcję warunkową if/else. Jej działanie polega na tym, że program:
- najpierw sprawdza warunek w nawiasie po if,
- jeśli warunek jest prawdziwy (true) – wykonuje blok w klamrach po if,
- jeśli warunek jest fałszywy (false) – pomija blok if i wykonuje blok po else.
Tutaj warunek to temperatura > 70. Dla temperatury równej 72 porównanie "72 > 70" jest prawdziwe, więc zostanie wykonany blok:
alarm();
Dlatego poprawna odpowiedź to: Uruchomienie funkcji alarm().
Dlaczego pozostałe odpowiedzi są błędne?
- Uruchomienie funkcji chlodzenie() – ta funkcja jest w gałęzi else, która działa tylko wtedy, gdy warunek "temperatura > 70" nie jest spełniony (np. 70 lub mniej).
- Uruchomienie obu funkcji – w konstrukcji if/else wykonywana jest tylko jedna gałąź: albo blok if, albo blok else (bez dodatkowych instrukcji nie wykona się jednocześnie).
- Żadne z powyższych – jest nieprawdziwe, bo dla 72 program na pewno wejdzie w gałąź if i wykona alarm().
W praktyce (np. w systemach monitoringu instalacji) taki zapis odpowiada prostemu progowi: po przekroczeniu wartości krytycznej uruchamiany jest alarm, a w przeciwnym razie wykonywana jest akcja "normalna" (np. chłodzenie lub wentylacja). Na egzaminie zwracaj uwagę na znak porównania (> vs ≥) oraz na to, że else uruchamia się wyłącznie wtedy, gdy warunek if jest fałszywy.