KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 26.
Dla każdej iteracji pętli wartość bieżącego elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do ostatniego elementu tablicy. Zdanie to jest prawdziwe dla instrukcji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Opis dotyczy konstrukcji, w której w każdej iteracji automatycznie pobierany jest bieżący element tablicy i przypisywany do zmiennej, a przejście następuje do kolejnego elementu aż do końca kolekcji.
Tę semantykę spełnia foreach, a nie for/while wymagające zwykle jawnego sterowania warunkiem i krokiem.

Pełne wyjaśnienie:

Zdanie w pytaniu opisuje pętlę przechodzącą po elementach tablicy (kolekcji) w sposób "automatyczny": w każdej iteracji bieżący element jest podstawiany do zmiennej iteracyjnej, a mechanizm iteracji przechodzi do kolejnego elementu, aż do ostatniego.

Taki sposób działania jest typowy dla instrukcji foreach. Programista nie musi samodzielnie zwiększać indeksu ani pilnować, kiedy kończy się tablica — konstrukcja iteruje po elementach jeden po drugim.

Dlaczego pozostałe odpowiedzi są niepoprawne w kontekście tego opisu?

  • for — najczęściej wymaga jawnego określenia inicjalizacji, warunku zakończenia i kroku (np. zwiększania licznika). Iteracja po tablicy odbywa się zwykle przez indeks, więc przypisanie bieżącego elementu do zmiennej wynika z odwołania typu tablica[indeks], a nie z automatycznego podstawienia.
  • while — to pętla sterowana warunkiem. Sama z siebie nie "przesuwa wskaźnika tablicy"; programista musi zadbać o zmianę stanu (np. inkrementację indeksu lub pobieranie kolejnego elementu), aby uniknąć pętli nieskończonej.
  • next — w wielu językach jest to funkcja/operacja służąca do przejścia do następnego elementu (np. przesunięcia wewnętrznego wskaźnika), ale nie jest pełną instrukcją pętli realizującą cały cykl iteracji z przypisaniem wartości w każdej iteracji.

Wskazówka egzaminacyjna: gdy w treści jest mowa o "każdej iteracji" i "przypisaniu bieżącego elementu tablicy do zmiennej" bez wspominania o indeksie/liczniku, zwykle chodzi o konstrukcję typu foreach.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pętla foreach służy do przechodzenia po elementach tablicy/kolekcji. W każdej iteracji udostępnia bieżący element (i często także klucz/indeks) bez potrzeby ręcznego zwiększania licznika. To ułatwia czytelne przetwarzanie list danych w aplikacjach webowych.
W foreach podczas każdej iteracji bieżąca wartość z tablicy jest podstawiana do wskazanej zmiennej iteracyjnej. Programista nie musi odwoływać się do tablica[indeks]. Mechanizm pętli sam przechodzi do kolejnego elementu aż do wyczerpania tablicy.
"Przesuwanie o jeden" opisuje ideę przechodzenia do następnego elementu po wykonaniu iteracji. W foreach jest to realizowane automatycznie przez konstrukcję języka: po przetworzeniu bieżącego elementu pętla przechodzi do następnego, aż do ostatniego.
for zwykle operuje na liczniku i często na indeksach tablicy, więc trzeba pilnować zakresu i kroku iteracji. foreach iteruje po elementach bezpośrednio, co zmniejsza ryzyko błędów typu wyjście poza zakres lub zła inkrementacja licznika.
while jest wygodne, gdy liczba iteracji zależy od warunku (np. czytanie danych do momentu końca strumienia), a nie od elementów tablicy. Do samego przejścia po wszystkich elementach tablicy zwykle czytelniejsze i bezpieczniejsze jest foreach.
W potocznym opisie może chodzić o bieżącą pozycję iteracji (indeks/iterator). Termin "wskaźnik" bywa mylony z wskaźnikami z języków niskopoziomowych albo z wewnętrznym wskaźnikiem tablicy. Na egzaminie warto patrzeć na sens: przechodzenie po kolejnych elementach.
Nie. next (w zależności od języka) może przesunąć "bieżący" element na następny, ale nie tworzy pełnej pętli. foreach obejmuje cały mechanizm iteracji: start, kolejne kroki oraz podstawianie elementu do zmiennej w każdej iteracji.
Najczęstsze błędy to: zły warunek zakończenia (np. >= zamiast <), błędny krok iteracji, pomylenie długości tablicy z ostatnim indeksem oraz modyfikowanie tablicy podczas iteracji bez kontroli skutków. foreach ogranicza część tych ryzyk.
Wskazówki to sformułowania typu: "dla każdej iteracji przypisz bieżący element do zmiennej", "przejdź po elementach tablicy", bez wspominania o indeksie/liczniku. Gdy opis dotyczy elementów, a nie pozycji, najczęściej właściwa jest odpowiedź foreach.
foreach poprawia czytelność kodu i zmniejsza liczbę błędów związanych z indeksami. W aplikacjach webowych często przetwarza się listy rekordów (np. wyniki zapytania, dane formularza), więc iteracja "po elementach" jest naturalna i krótsza niż ręczne sterowanie licznikiem.
info

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

Źródła:

  • PHP Manual: foreach — https://www.php.net/manual/en/control-structures.foreach.php (dostęp: 2026-02-18)
  • PHP Manual: for — https://www.php.net/manual/en/control-structures.for.php (dostęp: 2026-02-18)
  • PHP Manual: while — https://www.php.net/manual/en/control-structures.while.php (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja języka używanego na zajęciach: sekcja o pętlach foreach/for/while
  • Materiały szkolne z podstaw programowania: tablice i instrukcje iteracyjne
  • Zadania praktyczne: iteracja po tablicach i generowanie list/raportów w aplikacji webowej

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego