KWALIFIKACJA INF3 - CZERWIEC 2019

PYTANIE NR 36.
Efektem wykonania przedstawionego kodu PHP jest wyświetlenie komunikatu
Ilustracja przedstawia fragment kodu PHP, który jest częścią pytania egzaminacyjnego z kwalifikacji zawodowej dla technika
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wynik działania skryptu z instrukcją warunkową zależy od tego, który warunek zostanie spełniony jako pierwszy.
Jeżeli w analizowanym kodzie spełniona jest druga gałąź (np. elseif), to program przechodzi do niej i wyświetla komunikat warunek2, pomijając pozostałe opcje.

Pełne wyjaśnienie:

W zadaniach tego typu kluczowe jest zrozumienie, jak działa rozgałęzienie programu. Konstrukcje warunkowe (np. if z kolejnymi gałęziami) są sprawdzane w określonej kolejności: program ocenia pierwszy warunek, a jeśli nie jest spełniony, przechodzi do następnego itd. Gdy trafi na warunek spełniony, wykonuje instrukcje z tej gałęzi (np. wypisanie tekstu) i kończy całe rozgałęzienie.

Dlatego poprawna odpowiedź warunek2 oznacza, że w przedstawionym kodzie to właśnie drugi sprawdzany warunek jest spełniony. Skrypt wyświetla wtedy dokładnie ten komunikat i nie przechodzi już do dalszych gałęzi.

Dlaczego pozostałe odpowiedzi są błędne?

  • warunek1 byłby poprawny tylko wtedy, gdy pierwszy warunek w kodzie byłby spełniony. W takiej sytuacji kolejne warunki nie miałyby już znaczenia, bo program zatrzymałby się na pierwszej pasującej gałęzi.
  • warunek3 byłby wynikiem dopiero wtedy, gdy wcześniejsze warunki nie byłyby spełnione, a spełniony byłby dopiero trzeci (np. kolejny elseif).
  • warunek4 odpowiadałby sytuacji, w której żaden z wcześniejszych warunków nie jest spełniony, a wykonuje się gałąź domyślna (typowo else), albo gdy czwarty warunek jest pierwszym spełnionym.

Wskazówka egzaminacyjna: czytaj warunki po kolei i "śledź" program jak po linijce (trace). Zwracaj uwagę na operatory porównania i logiczne oraz na to, że w klasycznym rozgałęzieniu wykona się tylko jedna gałąź.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Sprawdza umiejętność prześledzenia przepływu sterowania w skrypcie: w jakiej kolejności oceniane są warunki i która gałąź zostanie wykonana. Na egzaminie chodzi o to, by z kodu poprawnie wywnioskować, jaki tekst zostanie wypisany na stronie.
PHP najpierw ocenia warunek w if. Jeśli jest prawdziwy, wykonuje blok tej gałęzi i pomija dalsze sprawdzanie. Jeśli jest fałszywy, przechodzi do kolejnego elseif, a na końcu (gdy nic nie pasuje) do else.
Bo to jedna konstrukcja sterująca, która wybiera pierwszą spełnioną gałąź. Po jej wykonaniu rozgałęzienie się kończy, więc dalsze bloki nie są już wykonywane. Wiele komunikatów pojawiłoby się dopiero przy kilku niezależnych instrukcjach if.
Gałąź elseif wykona się wtedy, gdy warunek w if jest fałszywy, ale warunek w elseif jest prawdziwy. Najpierw trzeba więc sprawdzić, czy pierwszy warunek na pewno nie zachodzi, a dopiero potem analizować kolejne.
Oznacza to, że kolejność warunków ma znaczenie. Jeśli dwa warunki mogłyby być prawdziwe, i pierwszy z nich znajduje się w if, to właśnie on zostanie wybrany, a program nie sprawdzi dalszych. Dlatego warunki układa się od najbardziej szczegółowych do bardziej ogólnych.
Najczęściej uczniowie: (1) pomijają negacje i operatory logiczne, (2) zakładają, że wykona się kilka gałęzi naraz, (3) nie liczą krok po kroku wartości zmiennych, (4) mylą porównanie == z przypisaniem =, jeśli pojawia się w kodzie.
Zrób krótki "trace": 1) ustal wartości zmiennych, 2) policz wynik pierwszego warunku (prawda/fałsz), 3) jeśli fałsz – przejdź do następnego, 4) gdy znajdziesz prawdę – wybierz komunikat z tej gałęzi.
Blok else wykona się wtedy, gdy żaden wcześniejszy warunek w if i elseif nie został spełniony. To gałąź domyślna, często używana do obsługi "pozostałych" przypadków, np. komunikatu o błędzie lub wartości domyślnej.
Tak, ma kluczowy wpływ. Warunki są sprawdzane po kolei, więc wcześniej umieszczony, bardziej ogólny warunek może "przechwycić" przypadki, które miały trafić do późniejszej, bardziej szczegółowej gałęzi. To częsty powód nieoczekiwanych komunikatów w aplikacji.
Ćwicz krótkie skrypty z rozgałęzieniami i zapisuj obok wynik każdego warunku (P/F). Pomaga też uruchamianie kodu w lokalnym środowisku i porównywanie z ręczną analizą. Skup się na operatorach porównania i logicznych oraz na kolejności wykonywania.
info

Około 61% zdających odpowiada poprawnie na to pytanie. średnie

Źródła:

  • PHP Manual – Control Structures: if, elseif, else: https://www.php.net/manual/en/control-structures.if.php (dostęp 2026-02-18)
  • PHP Manual – Language Reference: Control Structures (spis i omówienie): https://www.php.net/manual/en/language.control-structures.php (dostęp 2026-02-18)
  • PHP Manual – echo (Language Constructs): https://www.php.net/manual/en/function.echo.php (dostęp 2026-02-18)

Materiały:

  • Dokumentacja PHP: instrukcje sterujące (if/else/elseif/switch)
  • Zadania treningowe z analizą przepływu sterowania (trace) dla krótkich skryptów
  • Kursy podstaw PHP obejmujące porównania i operatory logiczne

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego