KWALIFIKACJA INF3 - CZERWIEC 2021 (test 2)

PYTANIE NR 7.
Działaniem przedstawionego kodu PHP jest wypełnienie tablicy
Ilustracja przedstawia fragment kodu PHP, który jest związany z kwalifikacją zawodową TECHNIK PROGRAMISTA (INF3).
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna interpretacja polega na rozpoznaniu, że kod najpierw tworzy tablicę o 10 elementach z wartościami losowymi, a potem przechodzi po niej i wypisuje tylko te elementy, które spełniają warunek "mniejsze od zera".
To odpowiada opisowi: "10 losowymi wartościami, a następnie wypisanie wartości ujemnych".

Pełne wyjaśnienie:

Aby poprawnie odpowiedzieć na pytanie, trzeba prześledzić kod w dwóch etapach: (1) wypełnianie tablicy oraz (2) wypisywanie wybranych elementów.

Wypełnienie tablicy 10 losowymi wartościami oznacza, że w kodzie występuje pętla wykonująca się dokładnie 10 razy (np. po indeksach 0–9) i w każdej iteracji do tablicy trafia liczba wygenerowana losowo. W PHP typowo realizuje się to przez przypisanie do komórki tablicy wartości z funkcji losującej.

Następnie wypisanie wartości ujemnych wynika z drugiego kroku: kod iteruje po elementach tablicy i stosuje warunek, który przepuszcza tylko liczby mniejsze od zera. W praktyce to klasyczny schemat "filtruj i wypisz": jeśli element jest ujemny, to go pokaż, w przeciwnym razie pomiń.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • Opis "kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych" miesza dwa różne aspekty: zakres losowania (który może być -100..100) nie oznacza automatycznie, że tablica jest wypełniana wszystkimi kolejnymi liczbami z tego zakresu. Do tego potrzebna byłaby pętla przechodząca po całym przedziale i przypisująca wartości sekwencyjnie.
  • Opis "kolejnymi liczbami od 0 do 9 i wypisanie ich" pasowałby do kodu, który nie losuje wartości, tylko wpisuje do tablicy numer iteracji i wypisuje wszystko bez warunku. Przy filtracji liczb ujemnych taka odpowiedź nie opisuje działania skryptu.
  • Opis "100 losowymi wartościami, a następnie wypisanie wartości dodatnich" zmienia zarówno liczbę elementów (100 zamiast 10), jak i kryterium wypisywania (dodatnie zamiast ujemnych). To wymagałoby innej liczby iteracji w pętli oraz przeciwnego warunku (większe od zera).

Wskazówka egzaminacyjna: zawsze rozdziel w głowie liczbę iteracji pętli (ile elementów powstaje) od zakresu generowanych liczb (jakie wartości mogą się pojawić) oraz od warunku wypisywania (co faktycznie trafia na wyjście).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Wypełnienie tablicy w PHP to dodanie do niej elementów (wartości) pod kolejnymi indeksami lub kluczami. Najczęściej robi się to w pętli, np. przypisując tablica[indeks] = wartość w każdej iteracji, aż osiągnie się wymaganą liczbę elementów.
Do losowania liczb całkowitych w PHP używa się najczęściej funkcji random_int(min, max), która zwraca liczbę z podanego zakresu. W zadaniach egzaminacyjnych spotkasz też starsze rozwiązania, ale zasada interpretacji kodu pozostaje taka sama: wynik jest losowy w granicach min–max.
Policz liczbę wykonań pętli: zależy ona od warunku zakończenia (np. i < 10) i kroku (np. i++). Jeśli indeks startuje od 0 i pętla działa do 9 włącznie, to powstaje 10 elementów. Zakres losowania liczb nie mówi nic o liczbie elementów.
Zakres -100..100 określa tylko możliwe wartości, jakie może zwrócić losowanie. Tablica ma tyle elementów, ile razy pętla dodała wartość do tablicy. Możesz wylosować 10 liczb z zakresu -100..100 i nadal mieć tylko 10 elementów, a nie wszystkie liczby z przedziału.
Stosuje się iterację po tablicy (np. pętlą) i warunek mniejsze od zera. Schemat wygląda tak: pobierz element, sprawdź czy element < 0, a jeśli tak, wypisz go. Elementy niespełniające warunku są pomijane i nie pojawiają się w wyniku.
Nie. Wypisywanie wartości ujemnych to filtrowanie, czyli wybieranie elementów spełniających warunek. Sortowanie zmienia kolejność wszystkich elementów według reguły (np. rosnąco), a w filtracji kolejność zwykle pozostaje taka, jak w tablicy, tylko część elementów nie jest wypisywana.
Najczęstsze pułapki to: mylenie liczby iteracji z zakresem wartości, nieuwzględnienie warunku w instrukcji if, oraz założenie, że "wypisz tablicę" oznacza wypisanie indeksów zamiast wartości. Pomaga prześledzenie kodu krok po kroku dla 2–3 iteracji.
foreach jest wygodny, gdy chcesz przejść po wszystkich elementach tablicy bez ręcznego liczenia indeksów. for jest użyteczny, gdy tworzysz tablicę o znanej liczbie elementów lub gdy indeks ma znaczenie. W zadaniach egzaminacyjnych oba podejścia mogą wystąpić.
Używa się operatorów porównania: ujemna, gdy x < 0; dodatnia, gdy x > 0; równa zero, gdy x == 0. W zadaniach o filtrowaniu ważne jest, czy warunek obejmuje też zero. Jeśli kod sprawdza tylko < 0, to zero nie zostanie wypisane.
Ćwicz czytanie krótkich skryptów: pętla + tablica + warunek. Zawsze wypisz sobie na kartce: ile razy działa pętla, co trafia do tablicy w każdej iteracji i jakie elementy przechodzą przez warunek wypisywania. To szybko ujawnia różnicę między "losowe" a "kolejne" wartości.
info

Statystycznie 45% uczniów zna prawidłową odpowiedź. trudne

Źródła:

  • PHP Manual: Arrays - https://www.php.net/manual/en/language.types.array.php - dostęp 2026-03-04
  • PHP Manual: for - https://www.php.net/manual/en/control-structures.for.php - dostęp 2026-03-04
  • PHP Manual: random_int - https://www.php.net/manual/en/function.random-int.php - dostęp 2026-03-04

Materiały:

  • Oficjalna dokumentacja PHP: tablice i iteracja
  • Oficjalna dokumentacja PHP: funkcje losujące (rand/random_int)
  • Ćwiczenia: analiza krótkich skryptów PHP krok po kroku (pętla + if + echo)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego