Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 08:16
  • Data zakończenia: 8 czerwca 2026 08:16

Egzamin niezdany

Wynik: 0/40 punktów (0,0%)

Wymagane minimum: 20 punktów (50%)

Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Jaką wartość wyświetli standardowe wyjście dla podanego w ramce fragmentu kodu w języku C++?

Ilustracja do pytania
A. 0
B. 2
C. 3
D. 32

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W analizowanym fragmencie programu funkcja obliczenia modyfikuje swój argument x poprzez operację x %= 3 co oznacza że oblicza resztę z dzielenia x przez 3. W przypadku x równego 32 reszta z dzielenia przez 3 wynosi 2. Następnie instrukcja x++ zwiększa wartość x o 1 co daje wynik końcowy równy 3. Wiedza o operatorach arytmetycznych takich jak % oraz o inkrementacji ++ jest kluczowa przy programowaniu w C++. Operator % jest powszechnie używany do określania parzystości liczb lub cyklicznych wzorców w algorytmach. Zrozumienie jak te operacje wpływają na przepływ danych w programie pozwala unikać błędów logicznych i poprawiać wydajność kodu. Inkrementacja jest również istotna w wielu strukturach sterujących takich jak pętle co czyni ją niezbędnym elementem w rozwiązywaniu problemów algorytmicznych. Tego typu operacje są fundamentem w standardach programowania ponieważ pozwalają na precyzyjne kontrolowanie wartości zmiennych w trakcie wykonywania programów. Warto ćwiczyć te koncepcje aby w pełni wykorzystać potencjał języka C++ szczególnie w kontekście optymalizacji i wydajności aplikacji.

Pytanie 2

W ramce przedstawiono kod JavaScript z błędem logicznym. Program powinien wypisywać informację, czy liczby są sobie równe, czy nie, lecz nie wykonuje tego. Wskaż odpowiedź, która dotyczy błędu.

var x=5;
var y=3;
if(x=y) document.getElementById("demo").innerHTML='zmienne są równe';
else    document.getElementById("demo").innerHTML='zmienne się różnią';
A. Zmienne zostały zadeklarowane w niewłaściwy sposób
B. Brak średnika przed klauzulą else
C. W klauzuli if użyto przypisania zamiast porównania
D. Zawartość sekcji if oraz else powinna być zamieniona miejscami

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W analizowanym kodzie JavaScript występuje błąd związany z użyciem operatora przypisania zamiast operatora porównania w klauzuli if. W języku JavaScript do porównania dwóch wartości używa się operatora '===' lub '=='. Operator '=' to operator przypisania, który przypisuje wartość z prawej strony do zmiennej po lewej stronie. W kontekście warunków if, należy użyć operatora porównania, aby ocenić, czy dwie zmienne są równe. W poprawnej wersji kodu, linia if x = y powinna być zmieniona na if (x === y). Dodatkowo, warto pamiętać o umieszczeniu wartości porównawanych w nawiasach, co zwiększa czytelność i poprawność kodu. Przykład prawidłowego kodu to: var x = 5; var y = 3; if (x === y) { document.getElementById('demo').innerHTML = 'zmienne są równe'; } else { document.getElementById('demo').innerHTML = 'zmienne się różnią'; }. Taki zapis zapewnia, że program poprawnie zidentyfikuje różnicę między zmiennymi x i y i odpowiednio wyświetli komunikat.

Pytanie 3

Wskaż zdanie, które jest nieprawdziwe w odniesieniu do poniższej definicji funkcji w języku C++? void zamien(float &x, float &y){ float tmp; tmp=x; x=y; y=tmp; }

A. Funkcja zwraca jakąś wartość
B. Funkcja nie zwraca żadnej wartości
C. Funkcja ma dwa argumenty
D. Funkcja korzysta z parametrów przez referencję

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja zamien jest przykładem funkcji w języku C++, która nie zwraca wartości. Zdefiniowana jako 'void', co oznacza, że nie ma zwracanej wartości. W C++ typ zwracany przez funkcję jest kluczowym elementem definicji funkcji. W przypadku, gdy funkcja jest określona jako 'void', użytkownik nie powinien oczekiwać, że funkcja przekaże jakąkolwiek wartość po jej zakończeniu. Funkcja ta przyjmuje dwa argumenty typu 'float' przekazywane przez referencję, co pozwala na modyfikację ich wartości bezpośrednio w miejscu ich wywołania. Przykładowo, jeżeli zmienne 'x' i 'y' mają przypisane wartości 5.0 i 10.0 przed wywołaniem funkcji, po jej wykonaniu ich wartości zmienią się na odpowiednio 10.0 i 5.0. Oznacza to, że modyfikacja wartości zmiennych zewnętrznych jest możliwa dzięki użyciu referencji. W praktyce oznacza to także, że nie ma potrzeby korzystania z dodatkowych zmiennych do przechowywania wyników, co może być wydajniejsze. Funkcje 'void' są często stosowane w przypadkach, gdy operacje nie wymagają zwracania wyników, a jedynie modyfikacji przekazanych argumentów.

Pytanie 4

Działaniem podanego kodu PHP będzie wypełnienie tablicy

$tab = array();
for ($i = 0; $i < 10; $i++) {
    $tab[$i] = rand(-100, 100);
}
foreach ($tab as $x) {
    if ($x < 0) {
        echo "$x ";
    }
}
A. kolejnymi liczbami od 0 do 9 i ich wypisanie
B. kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych
C. 10 losowymi wartościami, a następnie wypisanie wartości ujemnych
D. 100 losowymi wartościami, a następnie wypisanie wartości dodatnich

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przedstawiony kod PHP zawiera błąd składniowy oraz logiczny, jednak jego zamysł zakłada stworzenie tablicy, której elementy są losowymi liczbami całkowitymi z przedziału od -100 do 100, a następnie wypisanie tych, które są mniejsze od zera. W pierwszej linii kodu powinno być użyte 'array()' zamiast 'array', a w funkcji 'rand' powinny być nawiasy okrągłe dla argumentów, co daje 'rand(-100, 100)'. W pętli for, która iteruje dziesięć razy, wartości są przypisywane do tablicy. W drugiej części, w pętli foreach, sprawdzane są liczby i wypisywane są tylko te, które są ujemne, co oznacza, że wynik może zawierać jedynie wartości poniżej zera. Dlatego poprawna odpowiedź koncentruje się na tym, że tablica jest wypełniana losowymi liczbami całkowitymi, a następnie wypisywane są jedynie liczby ujemne, co jest kluczowym aspektem działania kodu. Przykład zastosowania funkcji rand w kontekście generowania losowych danych pokazuje, jak można wykorzystać tę funkcjonalność w praktycznych aplikacjach, takich jak gra losowa czy analiza danych.

Pytanie 5

Jakie znaczenie ma przedstawiony fragment kodu w języku C++?

Ilustracja do pytania
A. Zbiór zmiennych w hierarchii.
B. Trzy niezwiązane ze sobą zmienne.
C. Typ strukturalny składający się z trzech pól.
D. Interakcja między zmiennymi globalnymi a lokalnymi.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten fragment kodu w C++ definiuje strukturę o nazwie CONTACT, która ma trzy pola: nazwisko i telefon jako typy std::string oraz numer jako int. Struktury w C++ pozwalają na grupowanie różnych typów danych w jedną całość, co jest super przydatne w programowaniu, szczególnie gdy pracujemy z danymi. Dzięki strukturze kod widzi te dane jako jedno, co czyni go bardziej zorganizowanym. Na przykład w aplikacjach, gdzie musimy przetwarzać różne typy informacji, takie jak bazy danych czy systemy CRM, struktury sprawdzają się świetnie. Warto też dodać, że w nowoczesnym C++ wolemy korzystać z stringów, bo są łatwiejsze w użyciu niż tradycyjne tablice znaków, a standardowa biblioteka daje nam dodatkowe opcje. To podejście ułatwia życie programistom!

Pytanie 6

Który z wymienionych to rozproszony system kontroli wersji projektu programistycznego?

A. Git
B. Eclipse
C. FileZilla
D. Total Commander

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Git to ROZPROSZONY system kontroli wersji - każdy programista ma pełną kopię historii repozytorium i może pracować lokalnie, a zmiany synchronizuje z innymi. Dlatego systemem kontroli wersji jest Git.

Pytanie 7

Jak nazywa się program, który wykonuje instrukcje kodu źródłowego BEZ wcześniejszego generowania pliku wynikowego?

A. interpreter
B. kompilator
C. konwerter kodu
D. konwerter języka

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Interpreter wykonuje instrukcje kodu źródłowego na bieżąco, linia po linii, BEZ wcześniejszego tworzenia osobnego pliku wynikowego (wykonywalnego). Tak działa np. PHP czy JavaScript. Dlatego tym programem jest interpreter.

Pytanie 8

$liczba = 10;
while($liczba<50){
   echo "$liczba";
   $liczba=$liczba+5;
}
Jakie liczby zostaną wyświetlone w wyniku działania tej pętli w języku PHP?

A. 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45 50
C. 0 5 10 15 20 25 30 35 40 45
D. 0 5 10 15 20 25 30 35 40 45 50

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wynik działania pętli w języku PHP jest poprawny, ponieważ zaczyna się od wartości 10, a następnie w każdej iteracji zwiększa tę wartość o 5, aż osiągnie 50, które nie jest wliczane do wypisywanych wyników. Wartości wypisywane w trakcie działania pętli to: 10, 15, 20, 25, 30, 35, 40, 45. Wartością graniczną jest 50, która przerywa działanie pętli. Taki mechanizm jest często stosowany w programowaniu, zwłaszcza w sytuacjach, gdzie musimy iteracyjnie przetwarzać dane w określonym zakresie. Dobrą praktyką jest również upewnienie się, że warunki pętli są jasno określone, co zapobiega niepożądanym wynikom, takim jak nieskończone pętle. W PHP używamy pętli takich jak 'while', 'for' i 'foreach', które są kluczowymi elementami w programowaniu i pozwalają na efektywne przetwarzanie danych.

Pytanie 9

Do czego służy debugger?

A. do analizy właściwości oprogramowania
B. do sprawdzania wydajności programu
C. do wyszukiwania błędów w kodzie programu
D. do optymalizacji zużycia pamięci

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Debugger to narzędzie do WYSZUKIWANIA BŁĘDÓW w kodzie - pozwala wykonywać program krok po kroku, wstawiać pułapki (breakpointy) i podglądać wartości zmiennych w trakcie działania. Dlatego debugger służy do wyszukiwania błędów w kodzie programu.

Pytanie 10

Która funkcja PHP zwraca SUMĘ połowy $a i połowy $b?

A.
function licz($a, $b) { return $a/2 + $b; }
B.
function licz($a, $b) { return 2/$a + 2/$b; }
C.
function licz($a, $b) { return $a/2 + $b/2; }
D.
function licz($a, $b) { return ($a/2 + $b)/2; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
„Połowa <code><span class="code-text">$</span><span class="code-variable">a</span></code>” to <code><span class="code-text">$</span><span class="code-variable">a</span><span class="code-text">/</span><span class="code-number">2</span></code>, „połowa <code><span class="code-text">$</span><span class="code-variable">b</span></code>” to <code><span class="code-text">$</span><span class="code-variable">b</span><span class="code-text">/</span><span class="code-number">2</span></code>, a ich SUMA to <code><span class="code-text">$</span><span class="code-variable">a</span><span class="code-text">/</span><span class="code-number">2</span> <span class="code-text">+</span> <span class="code-text">$</span><span class="code-variable">b</span><span class="code-text">/</span><span class="code-number">2</span></code>. Dlatego poprawna jest funkcja zwracająca <code><span class="code-text">$</span><span class="code-variable">a</span><span class="code-text">/</span><span class="code-number">2</span> <span class="code-text">+</span> <span class="code-text">$</span><span class="code-variable">b</span><span class="code-text">/</span><span class="code-number">2</span></code>.

Pytanie 11

Przedstawiony kod źródłowy, zapisany w języku C++, ma za zadanie dla wprowadzanych dowolnych całkowitych liczb różnych od zera wypisać:

int main()
{
    int liczba;
    cin >> liczba;
    while (liczba != 0)
    {
        if ((liczba % 2) == 0)
            cout << liczba << endl;
        cin >> liczba;
    }
    return 0;
}
A. liczby pierwsze
B. wszystkie liczby
C. jedynie liczby parzyste
D. wyłącznie liczby nieparzyste

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Ten kod w C++ jest zaprojektowany tak, żeby wypisywał tylko liczby parzyste, które podaje użytkownik. Zaczyna od wczytania liczby całkowitej i potem wchodzi w pętlę, która działa, dopóki użytkownik nie wkroczy z zerem. W pętli sprawdza, czy liczba jest parzysta, co robi poprzez operację modulo. Jeśli reszta z dzielenia przez 2 jest 0, to znaczy, że liczba jest parzysta i wtedy jest wyświetlana na ekranie. To przykład podstawowych rzeczy w programowaniu, jak pętle i warunki, i to są naprawdę ważne umiejętności. Takie konstrukcje są przydatne w wielu programach, na przykład finansowych lub graficznych, gdzie często trzeba sprawdzić i przefiltrować dane według określonych zasad.

Pytanie 12

Ile razy zostanie wykonany blok pętli napisanej w PHP, przy założeniu, że zmienna sterująca nie jest modyfikowana podczas działania pętli?

for($i=0; $i <=10; $i+=2) {
       . . . . . .
}
A. 10
B. 0
C. 6
D. 5

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawna odpowiedź to 6 ponieważ pętla for w PHP rozpoczyna się od wartości początkowej zmiennej sterującej i inkrementuje ją zgodnie z określonym krokiem aż do momentu spełnienia warunku końcowego Przy początkowej wartości zmiennej i równej 0 i warunku i<=10 oraz kroku i+=2 pętla wykonuje się dla wartości i równych 0 2 4 6 8 i 10 co daje 6 iteracji W takich przypadkach ważne jest aby zrozumieć jak działają podstawowe elementy składni pętli for oraz jakie jest znaczenie warunku końcowego i kroku iteracji W praktyce taki sposób iteracji jest użyteczny w sytuacjach gdzie przetwarzamy dane w określonych odstępach Warto również zwrócić uwagę że dobra praktyka programistyczna zakłada czytelność kodu i stosowanie jasnych komentarzy zwłaszcza gdy pętla ma bardziej złożoną logikę Dzięki temu kod jest łatwiejszy do zrozumienia i utrzymania przez innych programistów co jest kluczowe w pracy zespołowej oraz długoterminowym rozwijaniu projektu

Pytanie 13

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 10
B. 0
C. 20
D. 2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W podanym fragmencie kodu PHP zmienna a przyjmuje wartość 20 po zakończeniu pętli. Dzieje się tak, ponieważ pętla while wykonuje się, dopóki zmienna i jest różna od zera. Na początku i jest równe 10, a podczas każdej iteracji pętli zmienna a jest zwiększana o 2, a zmienna i jest dekrementowana o 1. W efekcie pętla wykonuje się dokładnie 10 razy, a w każdej iteracji wartość zmiennej a zwiększa się o 2. W rezultacie po 10 iteracjach zmienna a osiąga wartość 20. Takie podejście do pętli while jest często stosowane w programowaniu, gdy chcemy wykonać określoną liczbę iteracji, dopóki warunek logiczny jest spełniony. Jest to przykład dobrej praktyki, gdy kod jest czytelny i łatwy do zrozumienia. W praktyce programowania PHP pętle tego typu są używane do różnych operacji, takich jak przetwarzanie danych, iterowanie po elementach tablic, czy wykonywanie złożonych obliczeń, co ilustruje zrozumiałe i efektywne zastosowanie tej konstrukcji w PHP.

Pytanie 14

Podaj zapis w języku JavaScript, który sprawdzi, czy spełniony jest przynajmniej jeden z następujących warunków: 1) dowolna liczba naturalna a jest liczbą trzycyfrową, 2) dowolna liczba całkowita b jest liczbą ujemną?

A. ((a>99) && (a<1000)) || (b<0)
B. ((a>99) && (a<1000)) && (b<0)
C. ((a>99) || (a<1000)) && (b<0)
D. ((a>99) || (a<1000)) || (b<0)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź ((a>99) && (a<1000)) || (b<0) jest prawidłowa, ponieważ warunek ten skutecznie sprawdza, czy dowolna naturalna liczba a jest trzycyfrowa lub czy dowolna całkowita liczba b jest ujemna. Część wyrażenia (a>99) && (a<1000) weryfikuje, czy liczba a jest w przedziale od 100 do 999, co definiuje liczby trzycyfrowe. Z kolei druga część (b<0) sprawdza, czy liczba b jest mniejsza od zera. Całość połączona jest operatorem OR (||), co oznacza, że wystarczy spełnienie jednego z tych warunków, aby cały warunek był spełniony. W praktyce, takie wyrażenia są powszechnie stosowane w programowaniu, szczególnie w formularzach walidacyjnych, gdzie ważne jest, aby dane wprowadzone przez użytkowników spełniały określone kryteria. Dobrą praktyką jest dbałość o czytelność kodu i stosowanie odpowiednich nazw zmiennych, co ułatwia zrozumienie logiki działania aplikacji. Warto również pamiętać o testowaniu różnych przypadków, aby upewnić się, że warunki działają zgodnie z zamierzeniami, co jest kluczowe w zapewnieniu wysokiej jakości oprogramowania.

Pytanie 15

Który modyfikator dostępu sprawia, że pole klasy jest dostępne z dowolnego miejsca programu?

A.
public
B.
private
C.
protected
D.
published

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Modyfikator <code><span class="code-keyword">public</span></code> oznacza, że pole lub metoda są dostępne z każdego miejsca programu - z wnętrza klasy, z klas dziedziczących i z kodu zewnętrznego. To najszerszy poziom dostępu. Stosuje się go do elementów, które mają stanowić publiczny interfejs obiektu. Dlatego dostęp zewsząd zapewnia <code><span class="code-keyword">public</span></code>.

Pytanie 16

Jak nazywa się program, który wykonuje instrukcje zawarte w kodzie źródłowym bez wcześniejszego generowania programu wynikowego?

A. interpreter
B. kompilator
C. konwerter kodu
D. konwerter języka

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Interpreter to program, który czyta kod źródłowy i wykonuje go na bieżąco - instrukcja po instrukcji - bez wcześniejszego tłumaczenia całości na osobny plik wykonywalny. Tak działają m.in. PHP, Python i JavaScript (w przeglądarce). Zaletą jest szybkie testowanie i niezależność od platformy, wadą - zwykle wolniejsze działanie niż program skompilowany. Przeciwieństwem jest kompilator, który najpierw przekłada cały kod na język maszynowy. Dlatego program wykonujący kod bez generowania programu wynikowego to interpreter.

Pytanie 17

Jak nazywa się mechanizm, dzięki któremu klasa pochodna przejmuje pola i metody klasy bazowej?

A. dziedziczeniem
B. polimorfizmem
C. hermetyzacją
D. wirtualizacją

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Mechanizm, dzięki któremu klasa pochodna (potomna) przejmuje pola i metody klasy bazowej, nazywa się DZIEDZICZENIEM. Pozwala wielokrotnie wykorzystać i rozszerzać istniejący kod. Dlatego to dziedziczenie.

Pytanie 18

Wyjątkowa metoda przynależąca do danej klasy w programowaniu obiektowym, która jest automatycznie wywoływana w momencie tworzenia obiektu i zazwyczaj ma na celu inicjalizację pól, to

A. obiekt
B. destruktor
C. specyfikator dostępu
D. konstruktor

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Konstruktor to specjalna metoda, która jest wywoływana automatycznie w momencie tworzenia nowego obiektu danej klasy. Jego głównym celem jest zainicjowanie pól obiektu oraz, w razie potrzeby, wykonanie dodatkowych działań konfiguracyjnych. W praktyce konstruktor umożliwia przygotowanie obiektu do dalszego użytkowania. Na przykład, w języku Java, konstruktor o nazwie klasy pozwala na tworzenie instancji tej klasy z określonymi wartościami dla pól. Dobre praktyki wskazują, że konstruktor powinien być używany do przekazywania parametrów, które są niezbędne do prawidłowego działania obiektu. Warto również wspomnieć o koncepcji konstruktorów przeciążonych, która pozwala na definiowanie wielu konstruktorów w jednej klasie, umożliwiając różne sposoby inicjalizacji obiektów. To sprawia, że kod jest bardziej elastyczny i czytelny, co jest zgodne z zasadami programowania obiektowego i dobrymi praktykami inżynierii oprogramowania.

Pytanie 19

Pętla while ma działać, dopóki zmienna x należy do przedziału otwartego (-2, 5). Który warunek to zapisuje (PHP)?

A.
($x == -2) && ($x < 5)
B.
($x > -2) || ($x > 5)
C.
($x > -2) && ($x < 5)
D.
($x < -2) || ($x > 5)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Przedział otwarty (-2, 5) to liczby WIĘKSZE od -2 i jednocześnie MNIEJSZE od 5, więc warunek to <code><span class="code-text">(</span><span class="code-text">$</span><span class="code-variable">x</span> <span class="code-text">&gt;</span> <span class="code-text">-</span><span class="code-number">2</span><span class="code-text">)</span> <span class="code-text">&amp;</span><span class="code-text">&amp;</span> <span class="code-text">(</span><span class="code-text">$</span><span class="code-variable">x</span> <span class="code-text">&lt;</span> <span class="code-number">5</span><span class="code-text">)</span></code> - oba muszą być spełnione naraz, stąd iloczyn logiczny <code><span class="code-text">&amp;</span><span class="code-text">&amp;</span></code>. Pętla <code><span class="code-keyword">while</span></code> działa, dopóki ten warunek jest prawdziwy. Zapamiętaj: przedział otwarty = ostre nierówności (<code><span class="code-text">&gt;</span></code>, <code><span class="code-text">&lt;</span></code>) połączone <code><span class="code-text">&amp;</span><span class="code-text">&amp;</span></code>.

Pytanie 20

Liczba 0x142 zapisana w kodzie JavaScript jest w postaci

A. ósemkowej
B. dziesiętnej
C. dwójkowej
D. szesnastkowej

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prefiks <code><span class="code-number">0</span><span class="code-variable">x</span></code> oznacza zapis SZESNASTKOWY, więc <code><span class="code-number">0</span><span class="code-variable">x142</span></code> to liczba szesnastkowa (dziesiętnie 322). Dlatego <code><span class="code-number">0</span><span class="code-variable">x142</span></code> jest w postaci szesnastkowej.

Pytanie 21

Tworząc tabelę produkty, dla pola „cena” (kwota z groszami) najlepszy typ danych to:

A.
ENUM
B.
DECIMAL(10, 2)
C.
INTEGER(11)
D.
TINYTEXT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Do przechowywania kwot najlepiej nadaje się typ <code><span class="code-variable">DECIMAL</span></code> (stałoprzecinkowy), bo zapisuje liczby z dokładną, ustaloną liczbą miejsc po przecinku - nie powstają błędy zaokrągleń typowe dla <code><span class="code-variable">FLOAT</span></code>/<code><span class="code-variable">DOUBLE</span></code>. Zapis <code><span class="code-function">DECIMAL</span><span class="code-text">(</span><span class="code-number">10</span><span class="code-text">,</span> <span class="code-number">2</span><span class="code-text">)</span></code> oznacza do 10 cyfr łącznie, z czego 2 po przecinku, np. 12345678.99 - idealne dla ceny z groszami. Dlatego dla pola „cena” właściwy jest <code><span class="code-function">DECIMAL</span><span class="code-text">(</span><span class="code-number">10</span><span class="code-text">,</span> <span class="code-number">2</span><span class="code-text">)</span></code>.

Pytanie 22

Przedstawiona funkcja napisana w kodzie JavaScript ma na celu:

function oblicz(a, n)
{
    wynik = 1;
    for(i = 0; i < n; i++)
        wynik *= a;
    return (wynik);
}
A. zwrócić iloczyn kolejnych liczb od 1 do a
B. zwrócić wynik potęgowania a^n
C. wpisać kolejne liczby od a do n
D. wpisać wyniki mnożenia a przez n

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja w kodzie JavaScript przedstawionym w pytaniu ma na celu zwrócenie wyniku potęgowania liczby a do potęgi n. Widzimy to poprzez analizę kodu: rozpoczyna się od inicjalizacji zmiennej wynik z wartością 1, a następnie w pętli for realizowana jest operacja mnożenia wyniku przez a dokładnie n razy. W ten sposób wynik = wynik * a jest wykonywane iteracyjnie, co oznacza że a jest mnożone przez siebie n razy. Taka operacja jest definicją potęgowania: a do potęgi n oznacza a mnożone n-krotnie. Tego rodzaju funkcje są fundamentalne w programowaniu, szczególnie w kontekście matematycznych obliczeń czy symulacji wymagających wielokrotnych potęgowań, np. w zastosowaniach naukowych i inżynieryjnych. Dobrą praktyką jest również optymalizacja tego typu funkcji używając wbudowanych metod jak Math.pow w JavaScript, co zwiększa czytelność i efektywność kodu. Rozumienie potęgowania jest kluczowe w algorytmach opartych na teorii liczb, kryptografii czy w grafice komputerowej, gdzie operacje te mogą być wysoce złożone i wymagają szczególnej optymalizacji.

Pytanie 23

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) || (zm1 <= 203)
B. (zm1 > 6) && (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) || (zm1 != 203)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wyrażenie (zm1 > 6) && (zm1 <= 203) jest poprawne, ponieważ warunek ten precyzyjnie sprawdza, czy zmienna zm1 znajduje się w przedziale otwartym (6, 203]. Oznacza to, że zm1 musi być większe od 6 i jednocześnie mniejsze lub równe 203. Taki zapis jest zgodny z typowym podejściem używanym w programowaniu, gdzie ważna jest precyzyjna kontrola wartości zmiennych. W praktyce, takie wyrażenie może być zastosowane w sytuacjach, gdzie potrzebujemy przefiltrować dane, na przykład przy walidacji danych wejściowych w formularzach lub przy definiowaniu zakresu wartości w algorytmach operujących na liczbach. Używanie operatorów logicznych w ten sposób jest zgodne z najlepszymi praktykami programowania, gdzie ważne jest nie tylko uzyskanie oczekiwanego wyniku, ale również czytelność i zrozumiałość kodu. Przykładowo, jeżeli mamy do czynienia z systemem zarządzania użytkownikami, można sprawdzać wiek użytkownika, aby upewnić się, że spełnia określone wymagania wiekowe, jednocześnie unikając sytuacji, w których użytkownicy mogą być nieuprawnieni do korzystania z systemu.

Pytanie 24

W programowaniu istnieje tylko jeden typ danych, który może przyjąć tylko dwie wartości. Jak nazywa się ten typ?

A. ciągowy
B. logiczy
C. znakowy
D. tablicowy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ logiczny, znany również jako typ boolean, jest jedynym typem danych w językach programowania, który przyjmuje wyłącznie dwie wartości: prawda (true) i fałsz (false). To podstawowe założenie czyni go niezwykle ważnym w kontekście programowania, zwłaszcza w logice warunkowej oraz w kontrolowaniu przepływu programu. W praktyce typ logiczny jest szeroko stosowany w instrukcjach warunkowych, takich jak 'if', 'while' czy 'for', gdzie pozwala na podejmowanie decyzji na podstawie spełnienia określonych warunków. Na przykład w języku Python możemy sprawdzić, czy zmienna jest większa od zera, a wynik tej operacji będzie wartością typu logicznego, co pozwoli na podjęcie dalszych działań w programie. Ponadto, typ logiczny odgrywa kluczową rolę w strukturach danych, takich jak listy i słowniki, które mogą przechowywać warunki logiczne jako klucze. Zgodnie z dobrymi praktykami programistycznymi, zaleca się używanie typu logicznego w sytuacjach, gdzie wynik operacji powinien być jednoznaczny, co prowadzi do poprawy czytelności i utrzymywalności kodu.

Pytanie 25

W deklaracji w języku JavaScript:

var x=true;
zmienna x przyjmuje typ
A. logicznym
B. liczbowym
C. wyliczeniowym
D. ciąg znaków

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź logicznego jest poprawna, ponieważ w języku JavaScript wyrażenie `var x = true;` przypisuje do zmiennej `x` wartość typu boolean, która jest jednym z dwóch stanów: `true` lub `false`. Typ boolean jest kluczowym elementem programowania, służącym do wykonywania logiki warunkowej, co jest niezbędne w większości aplikacji. Na przykład, używając warunków if-else, możemy podejmować decyzje na podstawie wartości boolean. W praktyce, po przypisaniu `x`, możemy używać go w instrukcjach warunkowych, jak w poniższym przykładzie: `if (x) { console.log('X jest prawdą'); } else { console.log('X jest fałszem'); }`. Ponadto, dobrym standardem jest oznaczanie zmiennych typem boolean poprzez użycie prefiksów, jak `is` lub `has`, co poprawia czytelność kodu. Wspieranie logiki programowania przy użyciu typów prostych jest kluczowe w inżynierii oprogramowania, co czyni tę wiedzę istotną.

Pytanie 26

Element zadeklarowany w języku C++ double x*; oznacza

A. typ całkowity
B. typ zmiennoprzecinkowy
C. wskaźnik
D. parametr formalny o typie zmiennoprzecinkowym

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja <b>double x*;</b> w języku C++ oznacza, że <b>x</b> jest wskaźnikiem do zmiennej typu <b>double</b>. Wskaźniki są zmiennymi, które przechowują adresy innych zmiennych w pamięci. W praktyce wykorzystuje się je do dynamicznego zarządzania pamięcią, co jest kluczowe w wielu zastosowaniach programistycznych, takich jak alokacja tablic o zmiennej długości, przekazywanie dużych struktur do funkcji bez kopiowania ich zawartości, czy implementacja różnych struktur danych, jak listy czy drzewa. Użycie wskaźników zgodnie z dobrymi praktykami, takimi jak odpowiednie zarządzanie pamięcią (np. użycie 'new' i 'delete') oraz unikanie wycieków pamięci, jest fundamentalne w programowaniu w C++. Przykładowo, aby przypisać wskaźnik do zmiennej typu double, można użyć kodu: <b>double a = 5.0; double* x = &a;</b>, co pozwala na dostęp do zmiennej <b>a</b> poprzez wskaźnik <b>x</b>. Warto zrozumieć różnicę pomiędzy wskaźnikiem a zmienną, ponieważ posługiwanie się nimi wymaga innego podejścia do operacji na danych w programie.

Pytanie 27

Etap, w którym identyfikuje się oraz eliminuje błędy w kodzie źródłowym programów, to

A. standaryzacja
B. kompilowanie
C. debugowanie
D. normalizacja

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Debugowanie to proces identyfikacji, analizy i eliminacji błędów w kodzie źródłowym programów komputerowych. Jest to kluczowy etap w cyklu życia oprogramowania, który zapewnia, że aplikacje działają zgodnie z założeniami projektowymi. W praktyce debugowanie może obejmować różne techniki, takie jak stosowanie punktów przerwania, śledzenie wartości zmiennych czy analiza stosu wywołań. Przykładowo, programista może użyć narzędzi debugujących, takich jak GDB dla programów w C/C++ lub wbudowane debugery w IDE, takie jak Visual Studio czy Eclipse. Debugowanie jest również związane z dobrymi praktykami, jak testowanie jednostkowe i integracyjne, które pozwalają na wczesne wykrycie błędów. Zrozumienie i umiejętność efektywnego debugowania jest niezbędna dla każdego programisty, aby tworzyć wysokiej jakości, niezawodne i wydajne oprogramowanie. Warto również podkreślić znaczenie dokumentacji oraz korzystania z systemów kontroli wersji, takich jak Git, które pozwalają śledzić zmiany w kodzie i ułatwiają proces debugowania.

Pytanie 28

W formularzu wartość z pola input o typie number została przypisana do zmiennej a, a następnie przetworzona w skrypcie JavaScript w sposób poniższy

var x = parseInt(a);

Jakiego typu jest zmienna x?

A. NaN
B. napisowego.
C. zmiennoprzecinkowego.
D. liczbowe, całkowite.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź "liczbowego, całkowitego" jest poprawna, ponieważ funkcja <span>parseInt()</span> w JavaScript konwertuje argument na liczbę całkowitą. Kiedy zmienna <span>a</span> zawiera wartość z pola <span>input</span> o typie <span>number</span>, to ta wartość jest już reprezentacją liczby, co oznacza, że <span>parseInt()</span> przyjmuje ją jako argument i zwraca wartość liczbową całkowitą. Przykładowo, jeżeli użytkownik wprowadzi 42, to <span>parseInt(42)</span> zwróci 42 jako liczbę całkowitą. Dobrą praktyką jest używanie <span>parseInt()</span> z drugim argumentem, który określa system liczbowy (np. <span>parseInt(a, 10)</span>), co zapobiega niejednoznaczności w interpretacji liczby. Warto również pamiętać, że w przypadku, gdy wartość wprowadzona do <span>a</span> nie jest liczbą całkowitą, <span>parseInt()</span> nadal zwróci liczbę całkowitą, obcinając część dziesiętną (np. <span>parseInt(4.9)</span> zwróci 4). Dlatego w kontekście powyższego pytania, zmienna <span>x</span> przyjmuje typ liczbowy, całkowity.

Pytanie 29

W języku JavaScript przedstawiona definicja jest definicją

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. kolekcji.
B. klasy.
C. obiektu.
D. tablicy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Dobra robota! Wybrałeś poprawną odpowiedź, czyli tablicę. W języku JavaScript, tablice służą do przechowywania wielu wartości w pojedynczej zmiennej. W podanym przykładzie, zmienna 'imiona' jest tablicą, która zawiera ciągi znaków reprezentujące imiona. Tablica w JavaScript jest obiektem globalnym, który jest używany w kontekście obiektu. Tablice są jednym z podstawowych typów danych, które są niezbędne dla tworzenia i manipulowania danymi. Tworzenie tablicy jest bardzo proste, wystarczy użyć nawiasów kwadratowych [] i oddzielić elementy za pomocą przecinków. Oto przykład: var imiona = ['Jan', 'Anna', 'Piotr'];. W praktyce, tablice są używane w wielu różnych sytuacjach, takich jak przechowywanie danych do dalszej analizy, grupowanie powiązanych danych, tworzenie list lub tabel, a także do przechowywania danych na potrzeby pętli i innych struktur sterujących.

Pytanie 30

Wskaż kod równoważny do przedstawionego kodu zapisanego językiem PHP.

$suma = 0;
for ($x = 10; $x <= 20; $x++) {
    $suma += $x;
}
Kod 1.
$suma = 0;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 2.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma += $x;
    $x++;
}
Kod 3.
$suma = 0;
$x = 1;
while ($x <= 10) {
    $suma += $x;
    $x++;
}
Kod 4.
$suma = 0;
$x = 10;
while ($x <= 20) {
    $suma = $x;
    $x++;
}
A. Kod 4.
B. Kod 1.
C. Kod 3.
D. Kod 2.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, Twoja odpowiedź jest poprawna! Wybrałeś Kod 2, który jest równoważny do kodu PHP przedstawionego w pytaniu. Kod ten składa się z pętli while, która jest zainicjowana wartością $x równą 10. Pętla ta jest wykonywana, aż wartość zmiennej $x osiągnie 20. Co ważne, za każdym obiegiem pętli wartość zmiennej $x jest inkrementowana, co jest równoważne do działania pętli for w kodzie PHP. Wykorzystanie różnych rodzajów pętli do osiągnięcia tego samego efektu jest dobrym przykładem na to, jak różne konstrukcje języka programowania mogą służyć do rozwiązania tego samego problemu. Pamiętaj, że wybór pętli zależy od kontekstu. Pętle for są zazwyczaj używane, kiedy z góry wiemy ile razy pętla ma być wykonana. Pętle while są często wykorzystywane, gdy nie wiemy ile razy pętla ma być wykonana, ale znamy warunek jej zakończenia. To praktyczna wiedza, którą możesz zastosować w codziennym programowaniu.

Pytanie 31

Na czym polega zasada działania algorytmów zachłannych?

A. na przeszukiwaniu danych aż do znalezienia rozwiązania
B. na dzieleniu problemu na mniejsze podproblemy
C. na wybieraniu rozwiązania najkorzystniejszego na danym etapie
D. na odwoływaniu się funkcji do samej siebie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Algorytm zachłanny (greedy) buduje rozwiązanie krok po kroku, w każdym etapie wybierając opcję, która w danym momencie wydaje się najkorzystniejsza (lokalnie optymalna), bez cofania wcześniejszych decyzji. Jest prosty i szybki, a dla niektórych problemów daje rozwiązanie optymalne (np. wydawanie reszty pewnymi zestawami monet, algorytm Dijkstry, kod Huffmana). Bywa jednak, że lokalnie najlepszy wybór nie prowadzi do globalnie najlepszego wyniku. Dlatego zasada zachłanna to wybieranie najkorzystniejszej opcji na danym etapie.

Pytanie 32

Zdefiniowano poniższą funkcję w PHP:

function policz($Z) {
    while($Z < 5) {
        $Z += 2 * $Z + 1;
    }
    return $Z;
}
Funkcję policz wywołano z wartością argumentu $Z = 1. Jaki rezultat zostanie zwrócony?
A. 1
B. 7
C. 4
D. 13

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest na miejscu. Funkcja 'policz' w PHP działa jak pętla, która powoli zwiększa wartość zmiennej $Z, dopóki nie jest większa niż 5. W każdej iteracji dodaje do niej wynik z wyrażenia 2 * $Z + 1. Zaczynamy z $Z równym 1. W pierwszej iteracji wychodzi 3 ($Z = 2 * 1 + 1), a w drugiej – 13 ($Z = 2 * 3 + 1). Kiedy $Z przekracza 5, pętla się zatrzymuje, a funkcja 'policz' zwraca 13. Rozumiejąc, jak to działa, łatwiej przewidywać, co się stanie w podobnych funkcjach.

Pytanie 33

Pole tabeli „czyWypozyczona” może przyjmować tylko wartości true lub false. Który typ danych jest dla niego najlepszy?

A.
CHAR
B.
DOUBLE
C.
BOOLEAN
D.
VARCHAR(5)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Pole przyjmujące jedynie dwie wartości - prawda albo fałsz - najlepiej opisać typem logicznym <code><span class="code-variable">BOOLEAN</span></code>. Jest najbardziej oszczędny i czytelny, a baza pilnuje, że dopuszczalne są tylko dwa stany. W MySQL <code><span class="code-variable">BOOLEAN</span></code> jest aliasem dla <code><span class="code-function">TINYINT</span><span class="code-text">(</span><span class="code-number">1</span><span class="code-text">)</span></code> (0/1), gdzie 0 to fałsz, a każda wartość różna od zera - prawda. Dla flag typu „czyWypożyczona”, „aktywny”, „zatwierdzony” to naturalny wybór. Dlatego najlepszym typem jest <code><span class="code-variable">BOOLEAN</span></code>.

Pytanie 34

Czym jest w C++ zmienna zadeklarowana jako char zm1[10];?

A. liczbą
B. znakiem
C. tablicą znaków
D. tablicą łańcuchów

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Deklaracja <code><span class="code-variable">char</span> <span class="code-variable">zm1</span><span class="code-text">[</span><span class="code-number">10</span><span class="code-text">]</span><span class="code-text">;</span></code> w C++ tworzy TABLICĘ dziesięciu znaków - ciąg <code><span class="code-variable">char</span></code> o indeksach 0-9. Tak w klasycznym C/C++ przechowuje się napisy (C-string zakończony <code><span class="code-text">\</span><span class="code-text">\</span><span class="code-number">0</span></code>). Dlatego <code><span class="code-variable">char</span> <span class="code-variable">zm1</span><span class="code-text">[</span><span class="code-number">10</span><span class="code-text">]</span></code> to tablica znaków.

Pytanie 35

Po wykonaniu poniższego fragmentu kodu w języku C/C++, zmiennej o nazwie zmienna2 przypisany zostanie

int zmienna1 = 158;
int *zmienna2 = &zmienna1;
A. adres zmiennej o nazwie zmienna1 zostanie przypisany
B. ta sama wartość, którą zawiera zmienna1, zostanie przypisana
C. wartość przechowywana w zmienna1 zostanie przypisana jako zamieniona na łańcuch
D. liczba w kodzie binarnym, która odpowiada wartości przechowywanej w zmienna1, zostanie przypisana

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W przedstawionym kodzie zmiennej o nazwie zmienna2 przypisywany jest adres zmiennej zmienna1, co jest typowym działaniem przy pracy z wskaźnikami w języku C/C++. Wskaźniki są zmiennymi, które przechowują adresy innych zmiennych. W przypadku użycia operatora & przed zmienną zmienna1, otrzymujemy jej adres w pamięci. Przykładowo, jeśli chcemy przekazać zmienną do funkcji, ale nie chcemy kopiować jej wartości, możemy użyć wskaźników, co jest wydajniejsze, zwłaszcza w przypadku dużych struktur czy obiektów. Pomaga to także w implementacji złożonych struktur danych, takich jak listy, drzewa czy grafy. Znajomość wskaźników jest kluczowa dla programistów w C/C++, jednocześnie umożliwiając optymalizację kodu oraz efektywne zarządzanie pamięcią, co jest zgodne z najlepszymi praktykami programowania.

Pytanie 36

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w jednostronnie domkniętym przedziale <-5, 10)?

A. $zmienna1 >= -5 || $zmienna1 < 10
B. $zmienna1 <= -5 || $zmienna1 < 10
C. $zmienna1 >= -5 && $zmienna1 < 10
D. $zmienna1 <= -5 && $zmienna1 < 10

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź $zmienna1 >= -5 && $zmienna1 < 10 jest poprawna, ponieważ odpowiada definicji jednostronnie domkniętego przedziału, który obejmuje wartość -5 oraz wszystkie wartości większe, ale nie obejmuje wartości 10. Operator && (AND) jest używany do jednoczesnego sprawdzania dwóch warunków: pierwszy warunek ($zmienna1 >= -5) zapewnia, że zmienna jest większa lub równa -5, a drugi warunek ($zmienna1 < 10) sprawdza, czy zmienna jest mniejsza niż 10. W praktyce, taki zapis jest istotny w aplikacjach, gdzie ograniczamy zakres wartości dla zmiennych, na przykład w formularzach walidacji danych wejściowych. Dzięki temu możemy uniknąć błędów, które mogą wystąpić w przypadku niepoprawnych danych. Ponadto, stosowanie operatorów logicznych w PHP jest zgodne z najlepszymi praktykami programowania, jak na przykład dbałość o czytelność kodu oraz jego łatwość w utrzymaniu. Warto także pamiętać o testowaniu skrajnych wartości, aby upewnić się, że nasze warunki działają zgodnie z oczekiwaniami.

Pytanie 37

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. for
B. next
C. while
D. foreach

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Instrukcja 'foreach' jest używana do iteracji po elementach zbioru, takich jak tablice lub kolekcje, w sposób bardziej deklaratywny i zwięzły niż tradycyjne pętle 'for'. W wielu językach programowania, takich jak C#, Java czy PHP, pętla 'foreach' pozwala automatycznie przechodzić przez każdy element kolekcji, przypisując go do zmiennej tymczasowej bez konieczności jawnego zarządzania indeksem. Jest to szczególnie przydatne, gdy chcemy po prostu przetwarzać elementy jednej po drugiej, nie martwiąc się o ich indeksy. Przykładowo, w C# można użyć składni: 'foreach (var item in collection)', gdzie 'collection' jest kolekcją, a 'item' to zmienna reprezentująca aktualny element. Takie podejście jest uważane za standardową praktykę w sytuacjach, gdzie chcemy tylko odczytywać wartości. Korzystanie z 'foreach' sprzyja czytelności kodu i minimalizuje ryzyko błędów związanych z obsługą indeksów, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 38

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. referencją do $liczba1
B. wskaźnikiem do $liczba1
C. negacją logiczną zmiennej $liczba1
D. iloczynem logicznym ze zmienną $liczba1

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zmienna \$liczba2 jest referencją do zmiennej \$liczba1, co w języku PHP oznacza, że obie zmienne odwołują się do tego samego miejsca w pamięci. Dzięki temu każda zmiana wartości w jednej z nich automatycznie wpływa na drugą. Użycie referencji jest przydatne w sytuacjach, gdzie potrzebujemy pracować z dużymi strukturami danych bez tworzenia ich kopii, co pozwala na oszczędność pamięci i zwiększenie wydajności. Standardowym sposobem tworzenia referencji w PHP jest użycie operatora ampersand (&) przed nazwą zmiennej, co widzimy w przedstawionym kodzie. Dobre praktyki programistyczne sugerują stosowanie referencji w sposób przemyślany, aby uniknąć trudności w debugowaniu kodu, które mogą wynikać z nieoczekiwanych zmian wartości zmiennych. Referencje są również często wykorzystywane w funkcjach, aby przekazać zmienne przez referencję, co pozwala na modyfikację oryginalnych wartości przesyłanych argumentów."

Pytanie 39

Jaką funkcję w języku PHP można wykorzystać do weryfikacji typu zmiennej?

A. strrev()
B. switch()
C. foreach()
D. var_dump()

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja var_dump() w języku PHP jest niezwykle przydatna do sprawdzania typu zmiennej, ponieważ wyświetla zarówno wartość zmiennej, jak i jej typ. Dzięki temu programista może szybko zrozumieć, co dokładnie znajduje się w danej zmiennej. Na przykład, jeśli mamy zmienną $a przypisaną do wartości 5, używając var_dump($a), uzyskamy wynik 'int(5)', co wskazuje, że zmienna jest typu całkowitego. Z kolei dla zmiennej $b, która jest tablicą, var_dump($b) pokaże strukturę tablicy oraz jej zawartość. Użycie var_dump() jest zgodne z dobrymi praktykami debugowania w PHP, ponieważ umożliwia identyfikację problemów z typami danych, co jest kluczowe w kontekście typowania dynamicznego, jakie ma miejsce w PHP. Dodatkowo, var_dump() jest często stosowane w sytuacjach, gdy programista chce szybko zweryfikować, co znajduje się w zmiennych podczas rozwoju aplikacji, co przyspiesza proces debugowania i pozwala na łatwiejsze znalezienie błędów w logice aplikacji.

Pytanie 40

Do przechowywania jakich wartości przeznaczony jest typ DECIMAL?

A. liczb zapisanych w systemie binarnym
B. danych tekstowych o określonej długości
C. liczb rzeczywistych zmiennoprzecinkowych
D. liczb rzeczywistych stałoprzecinkowych

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ <code><span class="code-variable">DECIMAL</span></code> przechowuje liczby rzeczywiste STAŁOPRZECINKOWE - z dokładną liczbą miejsc po przecinku, bez zaokrągleń typowych dla typów zmiennoprzecinkowych. Dlatego stosuje się go np. do kwot pieniężnych. Dlatego <code><span class="code-variable">DECIMAL</span></code> przechowuje liczby stałoprzecinkowe.