KWALIFIKACJA INF3 - CZERWIEC 2020

PYTANIE NR 32.
Wynikiem wykonania przedstawionego kodu PHP jest wypisanie wartości
Ilustracja przedstawia fragment kodu PHP, który jest częścią pytania egzaminacyjnego związanego z kwalifikacją zawodową
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Pętla startuje od i=1 i działa, dopóki i <= 7, zwiększając i o 3. Wypisze więc kolejno 1, potem 4, potem 7 (bo 7 spełnia warunek <=). Instrukcja print($i) nie dodaje spacji ani końca linii, więc na wyjściu powstaje ciąg znaków 147.

Pełne wyjaśnienie:

W kodzie (z ilustracji) mamy pętlę for w postaci: inicjalizacja $i = 1, warunek kontynuacji $i <= 7 oraz modyfikacja licznika $i += 3. Wewnątrz pętli wykonuje się instrukcja print($i);.

Kluczowe jest poprawne prześledzenie iteracji oraz zrozumienie sposobu wypisywania danych:

  • Iteracja 1: $i=1. Warunek 1 <= 7 jest spełniony, więc wykonuje się print i na wyjściu pojawia się "1". Następnie wykonywana jest modyfikacja licznika: $i staje się 4.
  • Iteracja 2: $i=4. Warunek 4 <= 7 jest spełniony, więc wypisywane jest "4". Potem $i zwiększa się do 7.
  • Iteracja 3: $i=7. Warunek 7 <= 7 nadal jest spełniony (bo operator <= oznacza "mniejsze lub równe"), więc wypisywane jest "7". Następnie $i rośnie do 10.
  • Koniec: dla $i=10 warunek 10 <= 7 jest fałszywy, więc pętla się kończy.

Dlaczego wynik to dokładnie 147? Funkcja print() (tak jak echo) wypisuje wartość bez automatycznego dodawania separatorów, spacji czy znaku nowej linii. Oznacza to, że kolejne wypisania sklejają się w jeden strumień znaków: najpierw "1", potem od razu "4", potem od razu "7".

Dlatego odpowiedzi sugerujące inne wyniki są błędne:

  • "47" pomija pierwszą iterację (błędny start lub błędne założenie, że 1 nie zostanie wypisane).
  • "136" odpowiadałoby innemu krokowi pętli lub innym wartościom licznika (np. +2), a nie +3.
  • "14" wynika z pominięcia trzeciej iteracji, co zwykle jest skutkiem pomylenia <= z < lub nieuwzględnienia, że 7 też spełnia warunek.

W praktyce, jeśli chcesz uzyskać odstępy, musisz je dodać jawnie, np. przez dopisanie " " lub "<br>" do wypisywanego tekstu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Pętla for ma trzy części: inicjalizację, warunek i modyfikację licznika. Najpierw ustawia licznik, potem sprawdza warunek, wykonuje blok, a na końcu iteracji zmienia licznik. Ten cykl powtarza się, aż warunek przestanie być spełniony.
Operator <= oznacza "mniejsze lub równe". Jeśli licznik ma wartość 7, to 7 jest równe 7, więc warunek jest prawdziwy i iteracja nadal się wykona. Gdyby było <, iteracja dla 7 już by nie zaszła.
Zapis $i += 3 zwiększa bieżącą wartość zmiennej $i o 3. To skrót od $i = $i + 3. W pętli oznacza to, że licznik przeskakuje co trzy wartości, np. 1, 4, 7, 10.
Nie. print() wypisuje dokładnie to, co mu przekażesz, bez automatycznego dodawania spacji czy znaku nowej linii. Jeśli chcesz separator, musisz go dopisać samodzielnie, np. przez konkatenację: $i . " " lub "\n".
Wypisywanie (print/echo) wysyła dane na wyjście i kolejne wypisania sklejają się w strumień znaków. Dodawanie liczb to operacja arytmetyczna w wyrażeniu, np. $sum += $i. Jeśli w pętli jest tylko print($i), nie ma tam sumowania.
Gdy zakres wartości licznika i warunek na to pozwalają. Dla startu 1, kroku +3 i warunku $i <= 7 dostajesz wartości 1, 4, 7. To trzy iteracje, bo czwarta miałaby 10, a wtedy warunek już nie jest spełniony.
Trzeba dodać separator w samym wypisywanym tekście. Przykładowo: print($i . " "); doda spację po każdej liczbie, a print($i . "<br>"); (w HTML) wypisze liczby w osobnych liniach. Bez tego wartości zleją się w jeden ciąg.
Najczęstsze to: pomylenie <= z <, nieuwzględnienie ostatniej iteracji, błędne policzenie kroku +=, oraz założenie, że print dodaje separatory. Pomaga rozpisanie kolejnych wartości licznika w tabelce.
W typowych zastosowaniach oba wypisują tekst bez automatycznych spacji i nowych linii, więc rezultat na ekranie będzie taki sam. Różnią się szczegółami (np. print zwraca wartość), ale w zadaniach o prostym wypisywaniu w pętli zwykle nie wpływa to na końcowy ciąg znaków.
Rozpisz wartości licznika w kolejnych iteracjach: start, potem dodawaj krok, aż warunek przestanie być spełniony. Następnie połącz to z tym, co robi instrukcja w środku pętli (np. wypisuje licznik). To metoda "śledzenia wykonania" i jest bardzo skuteczna na egzaminie.
info

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

Specjaliści zwracają uwagę: "Pętla startuje od i=1 i działa, dopóki i &lt;= 7, zwiększając i o 3."

Źródła:

  • PHP Manual: for - https://www.php.net/manual/en/control-structures.for.php (dostęp: 2026-02-28)
  • PHP Manual: print - https://www.php.net/manual/en/function.print.php (dostęp: 2026-02-28)
  • PHP Manual: echo - https://www.php.net/manual/en/function.echo.php (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja PHP: składnia i przykłady pętli for
  • Dokumentacja PHP: print/echo i różnice w zachowaniu
  • Ćwiczenia: śledzenie wykonania pętli z różnymi warunkami (<, <=) i różnym krokiem (+=)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego