KWALIFIKACJA INF3 - STYCZEŃ 2021 (test 2)

PYTANIE NR 34.
Którą wartość będzie przechowywała zmienna a po wykonaniu przedstawionej sekwencji instrukcji języka PHP?
Ilustracja przedstawia fragment kodu w języku PHP, który jest częścią pytania egzaminacyjnego z kwalifikacji zawodowej dla
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby ustalić wartość zmiennej a po wykonaniu kodu PHP, należy prześledzić instrukcje po kolei i po każdej z nich zaktualizować bieżący stan zmiennej.
Po wykonaniu całej przedstawionej sekwencji końcowy stan zmiennej wynosi 11, a pozostałe odpowiedzi odpowiadają typowym pomyłkom w śledzeniu kroków.

Pełne wyjaśnienie:

W tego typu zadaniach kluczowe jest śledzenie wykonania programu linia po linii. Zmienna w PHP przechowuje w danym momencie jedną, aktualną wartość, a każda kolejna instrukcja może ją zmienić. Dlatego poprawna metoda polega na zapisaniu (choćby w notatkach) wartości zmiennej a:

  • przed pierwszą instrukcją,
  • po pierwszej instrukcji,
  • po drugiej instrukcji,
  • … aż do ostatniej.

Jeżeli w sekwencji występują operacje arytmetyczne lub modyfikatory (np. zwiększanie/zmniejszanie wartości), to najczęstsze błędy wynikają z nieuwagi: pominięcia jednego kroku albo zatrzymania się na wartości pośredniej. Właśnie dlatego w odpowiedziach pojawiają się liczby bliskie siebie (10, 11, 12) – mają wychwycić, czy zdający policzył wszystkie zmiany poprawnie.

Odpowiedź "11" jest poprawna, ponieważ odpowiada stanowi końcowemu zmiennej a po wykonaniu całej przedstawionej sekwencji instrukcji PHP.

Odpowiedź "10" zwykle oznacza błąd typu: pominięto jedną modyfikację (np. nie uwzględniono jednej operacji zwiększającej lub zmniejszającej wartość). Odpowiedź "12" jest typowa dla sytuacji odwrotnej: policzono jeden krok podwójnie albo przyjęto błędną interpretację działania operatora. Odpowiedź "1" często wynika z mechanizmu "resetu w głowie": zdający zapamiętuje jedynie wartość początkową, nie aktualizując jej konsekwentnie po kolejnych instrukcjach.

W praktyce (na egzaminie i w pracy) warto stosować prostą technikę: po każdej linii dopisz aktualną wartość a w komentarzu lub tabelce. Alternatywnie można uruchomić analogiczny kod i wstawić var_dump($a) po każdej instrukcji, aby potwierdzić kolejne stany zmiennej.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najpewniej jest wykonać trace: przepisz kod i po każdej instrukcji dopisz aktualną wartość zmiennej (np. a=…). Nie zgaduj wyniku "na oko". Jeśli możesz uruchomić kod, wstaw var_dump($a) po kolejnych liniach i porównaj stany.
To celowy zabieg: ma sprawdzić, czy zdający wykonał wszystkie kroki sekwencji poprawnie. Różnica o 1 zwykle wynika z pominięcia jednej modyfikacji albo zatrzymania się na wartości pośredniej. Dlatego śledzenie linia po linii jest ważniejsze niż szybkie szacowanie.
Najczęściej: nieuwaga (pominięcie jednej instrukcji), mylenie kolejności działań w wyrażeniu oraz automatyczne przenoszenie nawyków z innych języków. Pomaga notowanie stanu zmiennej po każdej linii i świadome sprawdzanie, czy analizujesz stan końcowy, a nie pośredni.
Tak, ma kluczowe znaczenie. PHP wykonuje instrukcje w kolejności ich wystąpienia (z uwzględnieniem konstrukcji sterujących). Każde przypisanie lub modyfikacja nadpisuje poprzedni stan zmiennej. Zmiana kolejności dwóch linii często zmienia wynik, nawet jeśli użyte operacje są te same.
Najczęściej spotkasz operator przypisania =, operatory arytmetyczne +, -, *, / oraz operatory inkrementacji i dekrementacji ++, --. Warto też znać skrócone przypisania typu += czy -=.
Skopiuj kod do pliku .php lub uruchom w środowisku lokalnym (np. XAMPP/WAMP). Dodaj po każdej instrukcji wypisanie wartości, np. var_dump($a);. Dzięki temu zobaczysz kolejne stany zmiennej i szybko wykryjesz, w którym miejscu rozumowanie się rozjeżdża.
Debugger jest najlepszy, gdy kod ma wiele kroków albo zawiera warunki i pętle. W IDE (np. z Xdebug) możesz wykonać program krokowo i obserwować wartości zmiennych. Ręczne liczenie jest dobre do krótkich sekwencji egzaminacyjnych, ale w większych fragmentach łatwo o błąd nieuwagi.
Tak. PHP jest językiem o typowaniu dynamicznym, więc zmienna może zmieniać typ w zależności od przypisania i kontekstu operacji. W zadaniach egzaminacyjnych zwykle chodzi o proste liczby, ale warto pamiętać, że operacje na łańcuchach i liczbach mogą dać inne efekty niż oczekiwane bez sprawdzenia typu.
Częsty błąd to mylenie efektu "przed" i "po" (pre/post) w złożonych wyrażeniach lub przy przypisaniach. Bezpieczna metoda na egzaminie: rozbij wyrażenie na proste kroki i rozpatruj, co zmienia wartość zmiennej, a co tylko zwraca wartość do dalszych obliczeń.
Ćwicz krótkie fragmenty kodu i zapisuj stany zmiennych po każdej instrukcji. Powtórz operatory PHP (arytmetyczne, przypisania, inkrementacji) oraz podstawy debugowania. Dobrą praktyką jest też samodzielne tworzenie mini-zadań: 5–10 linii kodu i wyznaczenie wartości końcowych kilku zmiennych.
info

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

Źródła:

  • PHP Manual: Operators - https://www.php.net/manual/en/language.operators.php (dostęp 2026-03-02)
  • PHP Manual: Arithmetic Operators - https://www.php.net/manual/en/language.operators.arithmetic.php (dostęp 2026-03-02)
  • PHP Manual: Assignment Operators - https://www.php.net/manual/en/language.operators.assignment.php (dostęp 2026-03-02)

Materiały:

  • Oficjalna dokumentacja PHP: operatory i wyrażenia
  • Ćwiczenia z debugowania (np. użycie var_dump() i śledzenie krokowe w IDE)
  • Zadania typu "trace code" z podstaw PHP (zmienne, instrukcje, operatory)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego