Przejdź do treści głównej
INF.03Pytanie #1057 z 1558php-skladnia-i-struktury

W języku PHP, aby wyświetlić n razy znak „@”, należy użyć funkcji

Opcje odpowiedzi:
A
function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); } znaki(@, $n);
B
function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); } znaki($n);
C
function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);
Prawidłowa
D
function znaki($i){ for($i=0; $i<$n; $i++) print("@"); } znaki($i);
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C (function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); } znaki("@", ...)

function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); } znaki("@", $n);.

Przeanalizujmy definicję funkcji i jej wywołanie:

  • Definicja funkcji: function znaki($znak, $n){ for($i=0; $i<$n; $i++) print($znak); }
    • Funkcja nazywa się znaki.
    • Przyjmuje dwa argumenty: $znak (znak do wyświetlenia) i $n (liczba powtórzeń).
    • Wewnątrz pętli for, która wykonuje się $n razy, funkcja print($znak); wyświetla przekazany znak.

Aby wyświetlić $n razy znak "@", musimy:

  1. Przekazać znak "@" jako pierwszy argument do funkcji. W PHP literały tekstowe (stringi) umieszcza się w cudzysłowach (pojedynczych lub podwójnych), więc poprawnie będzie "@".
  2. Przekazać liczbę powtórzeń $n jako drugi argument.

Wywołanie znaki("@", $n); spełnia te warunki.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: znaki(@, $n); — Użycie samego znaku @ bez cudzysłowu jest niepoprawne. W PHP znak @ przed wyrażeniem służy do tłumienia błędów, a nie jako literał znakowy. Spowodowałoby to błąd składni lub nieoczekiwane zachowanie.
  • B: znaki($n); — Wywołanie funkcji z tylko jednym argumentem, podczas gdy funkcja oczekuje dwóch ($znak i $n). Spowodowałoby to błąd lub ostrzeżenie o brakującym argumencie, a $znak byłby niezdefiniowany.
  • D: function znaki($i){ for($i=0; $i<$n; $i++) print("@"); } znaki($i); — Definicja funkcji jest wadliwa. Przyjmuje tylko jeden argument $i, a wewnątrz pętli używa niezdefiniowanej zmiennej $n (zmienna $i z pętli przesłoniłaby argument $i). Wywołanie znaki($i); również przekazuje tylko jeden argument, który może nie mieć sensu w kontekście liczby powtórzeń. Ponadto, jeśli $n nie jest zdefiniowane globalnie, pętla nie zadziała poprawnie.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Php skladnia i struktury”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 165 pytań z tego działu.