KWALIFIKACJA INF3 - WRZESIEŃ 2015

PYTANIE NR 28.
Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby
Ilustracja przedstawia fragment kodu w języku PHP, który jest częścią pytania egzaminacyjnego związanego z kwalifikacją
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź: największej.
Warunek w pokazanym fragmencie kodu porównuje wartości liczbowe zmiennych a, b i c i wybiera tę, która jest największa. Pozostałe odpowiedzi dotyczą minimum albo parzystości, czego taki warunek (oparty o porównania) nie wyznacza.

Pełne wyjaśnienie:

W PHP instrukcja warunkowa (np. if / elseif / else) pozwala wykonać różne działania w zależności od tego, czy wyrażenie logiczne ma wartość true czy false. Jeśli zmienne a, b i c przechowują wartości liczbowe, to warunki z operatorami porównania (np. >, >=, <, <=) mogą służyć do wskazania wartości największej lub najmniejszej.

W tym zadaniu wynik działania warunku prowadzi do wypisania liczby największej. Oznacza to, że logika porównuje zmienne tak, aby wybrać tę, która jest większa od pozostałych (np. poprzez sprawdzenie "czy a jest większe od b i od c", a jeśli nie, to analogicznie dla b lub c). Tego typu konstrukcje są typowe w zadaniach egzaminacyjnych sprawdzających rozumienie przepływu programu i warunków złożonych.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "najmniejszej" – wybór minimum wymagałby warunków opartych o relacje "mniejsze od" (np. <) i sprawdzania, która wartość jest najniższa. To inny cel logiczny niż wyznaczenie maksimum.
  • "nieparzystej" – parzystość/nieparzystość bada się zwykle przez operator reszty z dzielenia (%) i porównanie reszty do zera. Samo porównywanie wielkości liczb nie daje informacji o parzystości.
  • "parzystej" – analogicznie, do sprawdzenia parzystości potrzebny jest test modulo, a nie zestaw porównań "większe/mniejsze".

Wskazówka egzaminacyjna: przy złożonych warunkach zwracaj uwagę na operatory logiczne (&&, ||) oraz na nawiasy. Jeśli ich brakuje, priorytety operatorów mogą zmienić sens wyrażenia, co wpływa na to, która wartość zostanie wypisana.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja if w PHP wykonuje blok kodu tylko wtedy, gdy podany warunek jest spełniony (ma wartość true). Dzięki if/elseif/else można rozgałęziać działanie programu i wybierać różne ścieżki wykonania w zależności od danych.
Można użyć złożonych warunków, np. sprawdzić, czy a jest większe od b i c, w przeciwnym razie sprawdzić b, a na końcu przyjąć c. Alternatywnie, w praktyce często używa się funkcji max().
Operatory logiczne łączą proste porównania w jeden warunek złożony. && oznacza "i" (oba warunki muszą być prawdziwe), a || oznacza "lub" (wystarczy jeden prawdziwy). Ich użycie decyduje, kiedy kod zostanie wykonany.
Najczęściej myli się znaki porównania (> z <), pomija przypadki równości (np. > vs >=) oraz ignoruje priorytety operatorów. Błąd robi też brak analizy całej konstrukcji if/elseif/else, tylko pierwszej gałęzi.
Tak, max() zwraca największą wartość z podanych argumentów lub z tablicy. W zadaniach egzaminacyjnych jednak często wymaga się rozumienia porównań i instrukcji warunkowych, więc rozwiązanie bywa zapisane "ręcznie" przez if/elseif.
Do parzystości używa się operatora modulo %. Liczba jest parzysta, gdy n % 2 == 0, a nieparzysta, gdy n % 2 != 0. Same porównania typu "większe/mniejsze" nie określają parzystości.
Nawiasy wymuszają kolejność obliczania wyrażeń logicznych i porównań. Bez nawiasów PHP stosuje swoje priorytety operatorów, co może zmienić sens warunku. Na egzaminie nawiasy ułatwiają też czytanie i ograniczają ryzyko pomyłki.
elseif stosuje się, gdy warunki są wzajemnie wykluczające się i ma zostać wykonany dokładnie jeden z kilku bloków. Dzięki temu po spełnieniu pierwszego prawdziwego warunku dalsze sprawdzanie jest pomijane, co upraszcza logikę.
Operator >= oznacza "większe lub równe". Jest ważny w przypadkach, gdy dwie zmienne mogą mieć tę samą wartość. Użycie > zamiast >= może spowodować, że przy równości program wybierze inną gałąź niż zakładano.
Ćwicz czytanie krótkich fragmentów kodu: if/elseif/else, operatory porównań i logiczne. Rozpisuj na kartce, kiedy warunek jest true/false dla przykładowych wartości. Dodatkowo trenuj zadania: minimum/maksimum z kilku zmiennych oraz test parzystości przez %.
info

To pytanie poprawnie rozwiązuje 69% zdających egzamin. średnie

Specjaliści zwracają uwagę: "Poprawna odpowiedź: największej.Warunek w pokazanym fragmencie kodu porównuje wartości liczbowe zmiennych a, b i c i wybiera tę, która jest największa."

Źródła:

  • PHP Manual: Control Structures - if, https://www.php.net/manual/en/control-structures.if.php (dostęp: 2026-02-18)
  • PHP Manual: Comparison Operators, https://www.php.net/manual/en/language.operators.comparison.php (dostęp: 2026-02-18)
  • PHP Manual: Logical Operators, https://www.php.net/manual/en/language.operators.logical.php (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja PHP: instrukcje sterujące (if/else, elseif)
  • Dokumentacja PHP: operatory porównania i logiczne
  • Ćwiczenia: zadania na wyznaczanie min/max z 2–3 zmiennych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego