KWALIFIKACJA INF3 - STYCZEŃ 2018

PYTANIE NR 31.
W języku PHP chcąc wyświetlić ciąg n znaków @, należy użyć funkcji
Ilustracja przedstawia fragment egzaminu zawodowego dla technika programisty, dotyczący języka PHP.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Aby wyświetlić n znaków "@", w PHP można zdefiniować funkcję przyjmującą n i w pętli wykonać wypisanie znaku n razy (np. for z print/echo). Kluczowe jest użycie parametru n jako limitu iteracji, aby liczba wypisań była dokładnie równa n.

Pełne wyjaśnienie:

Wypisanie na ekran (do wyjścia standardowego) ciągu złożonego z n identycznych znaków (tu: @) w PHP da się zrealizować w sposób typowy dla programowania imperatywnego: przez funkcję, która przyjmuje liczbę n i wykonuje n powtórzeń wypisania znaku.

Najważniejsze elementy rozwiązania są zawsze te same:

  • Parametr n (liczba całkowita), który steruje liczbą powtórzeń.
  • Pętla (najczęściej for), której warunek końca zależy od n.
  • Instrukcja wypisywania (np. print albo echo), która w każdej iteracji dopisuje jeden znak "@".

To podejście jest czytelne i łatwe do rozszerzenia (np. można zmienić znak na parametr, dodać znak nowej linii po zakończeniu, itp.).

Typowe niepoprawne rozumowania przy takim pytaniu to:

  • Wybranie samego "echo '@';" lub "print('@');" – to wypisuje jeden znak, nie ciąg długości n.
  • Użycie elementu, który nie jest funkcją wypisującą lub nie realizuje powtórzenia (np. konstrukcje niezwiązane z generowaniem tekstu).
  • Brak powiązania liczby iteracji z n (np. pętla o stałej liczbie obrotów), co łamie warunek zadania.

Na egzaminie warto zwracać uwagę na słowo "ciąg n znaków": ono wymusza mechanizm powtórzenia kontrolowany zmienną. Jeśli w odpowiedzi nie ma ani pętli, ani innego mechanizmu powtarzania zależnego od n, to taka odpowiedź zwykle nie spełnia warunku zadania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najprościej zastosować pętlę for i w każdej iteracji wykonać echo lub print jednego znaku. Liczbę iteracji ustawiasz warunkiem zależnym od n, aby wypisanie nastąpiło dokładnie n razy.
To informacja, że wynik ma mieć dokładnie n powtórzeń danego znaku (np. @@@@@ dla n=5). Odpowiedź, która wypisuje pojedynczy znak, nie spełnia warunku, bo nie uwzględnia liczby n.
echo wypisuje to, co podasz jako argument. Jeśli podasz pojedynczy znak "@", dostaniesz jeden znak. Aby uzyskać n znaków, musisz dodać mechanizm powtarzania: pętlę albo funkcję tworzącą powtórzony łańcuch.
Definiujesz funkcję z parametrem n i w środku robisz pętlę for, np. od 0 do n-1, a w każdej iteracji wykonujesz print("@") lub echo "@". Potem wywołujesz funkcję z konkretną wartością.
Tak, w praktyce często używa się funkcji str_repeat, która tworzy łańcuch złożony z powtórzeń danego fragmentu. Na egzaminie kluczowe jest jednak, czy pytanie dotyczy funkcji wbudowanej, czy własnej z pętlą.
Najczęściej: nieuwzględnienie parametru n (wypisanie jednego znaku), pętla o złym zakresie (o 1 za dużo/za mało), albo użycie konstrukcji, która nie wypisuje nic na ekran. Warto sprawdzić, czy liczba wypisań jest równa n.
Podstaw kilka wartości testowych, np. n=0, n=1, n=5, i porównaj wynik z oczekiwaniem. Dla n=0 nie powinno wypisać nic, dla n=1 jeden znak, dla n=5 pięć znaków. To szybko ujawnia błąd zakresu pętli.
str_repeat jest krótsze i czytelne, gdy chcesz tylko zbudować powtórzony tekst. Pętla bywa lepsza, gdy w każdej iteracji robisz coś więcej (np. warunki, formatowanie, logowanie). Na testach ważne jest dopasowanie do treści pytania.
Najczęściej: for (gdy znasz liczbę powtórzeń), ewentualnie while lub do...while (gdy warunek zależy od zmiennych). Dla "n razy" pętla for jest najbardziej naturalna.
Przećwicz: definicję i wywołanie funkcji, pętle for/while, oraz wypisywanie echo/print. Rób krótkie zadania typu "wypisz n znaków" i testuj wartości brzegowe (0, 1). To pomaga unikać błędów zakresu.
info

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

Według specjalistów z branży: "Aby wyświetlić n znaków "@", w PHP można zdefiniować funkcję przyjmującą n i w pętli wykonać wypisanie znaku n razy (np. for z print/echo)."

Źródła:

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

Materiały:

  • Dokumentacja PHP: funkcje echo/print oraz pętle
  • Dokumentacja PHP: funkcje do operacji na łańcuchach (np. powtarzanie)
  • Kurs wprowadzający do PHP (podstawy funkcji i pętli)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego