Wyniki egzaminu

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

Egzamin niezdany

Wynik: 3/40 punktów (7,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Udostępnij swój wynik
Szczegółowe wyniki:
Pytanie 1

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
B. skorzystanie z narzędzia do walidacji kodu HTML
C. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
D. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
Wykorzystywanie walidatora języka HTML do testowania witryny w różnych przeglądarkach nie jest wystarczającą metodą. Walidatory są narzędziami, które sprawdzają poprawność kodu HTML pod kątem zgodności ze standardami W3C, ale nie oceniają, jak rzeczywiście strona będzie działać w różnych przeglądarkach. Możliwe jest, że strona przejdzie test walidacji, ale w rzeczywistości może wyświetlać się inaczej w różnych przeglądarkach z powodu różnych silników renderujących. Instalowanie różnych przeglądarek na wielu komputerach również nie jest efektywnym rozwiązaniem, gdyż wymaga znacznych nakładów czasu i zasobów, a także trudności w utrzymaniu aktualizacji i wersji. Testowanie jedynie w programie Internet Explorer, zakładając, że inne przeglądarki będą działać podobnie, jest mylne, gdyż różnice w implementacji standardów HTML, CSS i JavaScript w różnych przeglądarkach mogą prowadzić do nieoczekiwanych błędów. Takie podejście może skutkować poważnymi problemami z użytecznością, a także obniżyć jakość doświadczenia użytkownika. Istnieje zatem ryzyko, że aplikacja webowa nie będzie działać prawidłowo na kluczowych platformach, co w dzisiejszym zróżnicowanym środowisku przeglądarek stanowi istotne zagrożenie dla reputacji i funkcjonalności witryny.

Pytanie 2

Dzięki poleceniu ALTER TABLE można

A. zmieniać wartości rekordów
B. zmieniać strukturę tabeli
C. skasować tabelę
D. usunąć rekord
Polecenie ALTER TABLE jest kluczowym elementem w zarządzaniu bazami danych, umożliwiającym wprowadzanie zmian w strukturze istniejących tabel. Dzięki temu poleceniu możemy dodawać nowe kolumny, zmieniać typy danych istniejących kolumn, usuwać kolumny, a także zmieniać ograniczenia, takie jak klucze główne czy obce. Na przykład, w przypadku potrzeby dodania kolumny 'data_urodzenia' do tabeli 'użytkownicy', można użyć komendy: ALTER TABLE użytkownicy ADD data_urodzenia DATE;. Zmiany strukturalne są niezbędne, aby dostosować bazę danych do ewoluujących potrzeb aplikacji oraz do zapewnienia integralności danych. W praktyce, operacje te są często stosowane przy modernizacji aplikacji lub w odpowiedzi na zmieniające się wymagania biznesowe. Dobre praktyki wskazują, że przed wprowadzeniem zmian w strukturze tabeli warto wykonać kopię zapasową danych oraz przeanalizować wpływ tych zmian na istniejące zapytania i aplikacje, które korzystają z danej tabeli.

Pytanie 3

Do usuwania czego stosuje się w MySQL polecenie TRUNCATE TABLE?

A. kolumn
B. wierszy tabeli
C. tabel
D. baz danych
Pozostałe obiekty usuwają inne polecenia. Całą tabelę (ze strukturą) kasuje DROP TABLE, kolumnę - ALTER TABLE ... DROP COLUMN, a bazę - DROP DATABASE. TRUNCATE TABLE usuwa wyłącznie wiersze.

Pytanie 4

W dziedzinie grafiki komputerowej termin kanał alfa odnosi się do

A. barwienia
B. koloryzacji
C. pikselizacji
D. przezroczystości
W kontekście grafiki komputerowej istnieje wiele pojęć, które mogą być mylone z kanałem alfa, a niektóre z nich nie mają związku z przezroczystością. Na przykład, koloryzacja odnosi się do procesu zmiany kolorów w obrazie, co obejmuje manipulację wartościami RGB, ale nie ma bezpośredniego związku z przezroczystością. Koloryzacja ma na celu poprawę wizualnych aspektów obrazu poprzez zmianę barw, nie wpływając jednak na to, jak przejrzysty jest dany piksel. Z kolei barwienie odnosi się do nadawania koloru obiektom lub pikselom na podstawie ich oryginalnych wartości kolorystycznych, co także nie dotyczy przezroczystości; chodzi tu raczej o zmianę koloru wyjściowego. Pikselizacja, z drugiej strony, to proces konwersji obrazu na mniejsze piksele, co prowadzi do utraty jakości i szczegółowości, ale nie ma nic wspólnego z manipulacją przezroczystościami. Często mylenie tych terminów wynika z braku zrozumienia podstawowych różnic między nimi, co może prowadzić do niepoprawnych wniosków o ich funkcji. Kluczowe jest zrozumienie, że kanał alfa jest specyficznym atrybutem dotyczących przezroczystości, a nie ogólnym procesem zmiany kolorów czy struktury obrazu.

Pytanie 5

Naciśnięcie przycisku o nazwie "niebieski" spowoduje uruchomienie podanego kodu JavaScript. Jaki będzie rezultat jego działania?

Ilustracja do pytania
A. Zmiana koloru tekstu "Przykładowy tekst" na niebieski
B. Zmiana koloru tekstu "Przykładowy tekst i skrypt" na niebieski
C. Zmiana koloru tekstu "i skrypt" na niebieski
D. Zmiana koloru przycisku na niebieski
W analizowanym kodzie JavaScript celem operacji jest zmiana koloru tekstu przy użyciu funkcji changeColor. Funkcja ta została zaprojektowana do modyfikacji koloru tekstu konkretnego elementu HTML z identyfikatorem 'para1'. Błędne interpretacje wynikały z nieprawidłowego rozumienia struktury kodu i mechanizmu działania funkcji. Jednym z częstych błędów myślowych jest przypuszczenie, że przycisk uruchamiający funkcję zmienia swój własny kolor, jednak w rzeczywistości funkcja modyfikuje tylko wskazany element za pomocą getElementById. Kolejna niepoprawna interpretacja dotyczyła modyfikacji tekstu 'i skrypt', który znajduje się w osobnym paragrafie bez id, przez co nie jest objęty zmianą koloru. Funkcja changeColor została zaprojektowana tak, aby modyfikować jedynie elem.style.color dla określonego elementu identycznego z parametrem id. Błędy w analizie tego kodu często wynikają z pomijania istotnych szczegółów oraz z niedokładnej interpretacji funkcji JavaScript. Ważne jest odpowiednie zrozumienie kontekstu działania funkcji oraz ich parametrów, co pozwala na uniknięcie takich pomyłek. W praktyce programistycznej, dokładne poznanie metod operujących na elementach DOM jest kluczowe dla tworzenia interaktywnych i dynamicznych stron internetowych.

Pytanie 6

W skrypcie PHP, aby zamknąć otwarte wcześniej połączenie z bazą danych, należy wywołać funkcję:

A.
mysqli_query
B.
mysqli_connect
C.
mysqli_select_db
D.
mysqli_close
Połączenie z bazą otwarte przez mysqli_connect zamyka się funkcją mysqli_close, której przekazuje się uchwyt połączenia. Zwalnia ona zasoby serwera po zakończeniu pracy z bazą. Choć PHP zamyka połączenia automatycznie po zakończeniu skryptu, dobrym nawykiem jest zamykać je jawnie. Dlatego do zamknięcia połączenia służy mysqli_close.

Pytanie 7

Która instrukcja PHP wysyła tekst do przeglądarki (wyświetla go)?

A.
echo
B.
exit
C.
type
D.
break
Instrukcja echo w PHP wysyła tekst (lub wartość zmiennej) na wyjście, czyli do przeglądarki - np. echo "Witaj";. Dlatego tekst wyświetla echo.

Pytanie 8

Funkcjonalność obejmującą edycję kodu źródłowego, jego kompilację, tworzenie zasobów programu, baz danych i komponentów udostępnia:

A. phpMyAdmin
B. środowisko IDE
C. Notepad++
D. debugger

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zintegrowane środowisko programistyczne (IDE - Integrated Development Environment) to program, który w jednym miejscu łączy narzędzia potrzebne do tworzenia oprogramowania: edytor kodu (z podpowiedziami i podświetlaniem składni), kompilator/uruchamianie, debugger, a często też zarządzanie projektem, bazami danych, zależnościami i kontrolą wersji. Przykłady to Visual Studio, IntelliJ IDEA, PhpStorm czy Eclipse. Dzięki integracji programista nie przełącza się między osobnymi aplikacjami. Dlatego pełną funkcjonalność tworzenia programu udostępnia środowisko IDE.

Pytanie 9

Instrukcja

REVOKE SELECT ON nazwa1 FROM nazwa2
w SQL pozwala na
A. przyznawanie uprawnień zgodnie z określonym schematem
B. usunięcie użytkownika z bazy danych
C. odbieranie przyznanych uprawnień użytkownikowi
D. przyznawanie dostępu do tabeli

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie REVOKE SELECT ON nazwa1 FROM nazwa2 w języku SQL jest używane do odbierania uprawnień użytkownikowi, co jest kluczowym aspektem zarządzania bezpieczeństwem w bazach danych. Umożliwia to administratorom kontrolowanie dostępu do danych, co jest istotne w kontekście ochrony informacji oraz zgodności z regulacjami prawnymi. Przykładowo, jeśli użytkownik 'nazwa2' miał wcześniej przyznane uprawnienia do wykonywania zapytań SELECT na tabeli 'nazwa1', użycie polecenia REVOKE pozwoli na ich cofnięcie. W praktyce, administratorzy baz danych często stosują to polecenie, aby ograniczyć dostęp do wrażliwych informacji, na przykład po zakończeniu projektu, w którym dany użytkownik nie powinien już mieć dostępu do danych. Takie działania są zgodne z najlepszymi praktykami w zakresie zabezpieczeń, które zalecają minimalizowanie uprawnień użytkowników do tylko tych niezbędnych do wykonywania ich obowiązków. Dodatkowo, warto również stosować audyty dostępu, aby na bieżąco monitorować, które uprawnienia są przyznawane i odbierane, co pozwala na lepsze zarządzanie bezpieczeństwem systemu.

Pytanie 10

Aby usunąć wybrane wiersze (rekordy) z tabeli, należy użyć polecenia:

A.
DELETE
B.
ALTER
C.
SELECT
D.
GRANT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Wiersze z tabeli usuwa polecenie <code><span class="code-keyword">DELETE</span></code>, zwykle z warunkiem <code><span class="code-keyword">WHERE</span></code> wskazującym, które rekordy skasować, np. <code><span class="code-keyword">DELETE</span> <span class="code-keyword">FROM</span> <span class="code-variable">klienci</span> <span class="code-keyword">WHERE</span> <span class="code-variable">id</span> <span class="code-text">=</span> <span class="code-number">5</span></code>. Bez warunku usunęłoby wszystkie wiersze, dlatego stosuje się je ostrożnie. Tabela i jej struktura pozostają - znikają tylko dane. Dlatego do usuwania rekordów służy <code><span class="code-keyword">DELETE</span></code>.

Pytanie 11

Przedstawione zapytanie SELECT wykonane na tabeli przechowującej dane o uczestnikach konkursu ma za zadanie wybrać

SELECT MAX(wiek) - MIN(wiek) FROM uczestnicy;
A. minimalny oraz maksymalny wiek uczestników.
B. liczbę najstarszych uczestników.
C. średnią arytmetyczną wieku uczestników.
D. różnicę wieku pomiędzy najstarszym i najmłodszym uczestnikiem.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Gratulacje, ta odpowiedź jest poprawna. Zapytanie SQL używa funkcji agregujących MAX i MIN do określenia maksymalnej i minimalnej wartości wieku w tabeli uczestników. Użycie tych funkcji umożliwia nam zidentyfikowanie najstarszego i najmłodszego uczestnika. Następnie, zapytanie oblicza różnicę między tymi wartościami, co odpowiada różnicy wieku między najstarszym i najmłodszym uczestnikiem. To jest standardowe podejście w SQL do wykonywania tego typu zapytań. W praktyce, takie zapytania są często używane w analizie danych do określania różnorodności danych, takiej jak zakres wieku uczestników w danym konkursie. Pamiętaj, że funkcje agregujące w SQL, takie jak MAX i MIN, są niezwykle przydatne w analizie danych, umożliwiając nam podsumowanie i analizę dużych zbiorów danych.

Pytanie 12

Którego zdarzenia należy użyć, aby funkcja JavaScript uruchamiała się za każdym razem, gdy użytkownik wpisze znak w polu edycji?

A.
onkeydown
B.
onmouseout
C.
onload
D.
onclick

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zdarzenia klawiatury reagują na wpisywanie tekstu. <code><span class="code-variable">onkeydown</span></code> zachodzi w momencie naciśnięcia klawisza, więc funkcja uruchomi się przy każdym wprowadzonym znaku - przydatne np. do walidacji „na bieżąco” czy podpowiedzi w wyszukiwarce. Pokrewne są <code><span class="code-variable">onkeyup</span></code> (zwolnienie klawisza) i <code><span class="code-variable">oninput</span></code> (zmiana zawartości pola, polecane do śledzenia tekstu). Przykład: <code><span class="code-text">&lt;</span><span class="code-variable">input</span> <span class="code-variable">onkeydown</span><span class="code-text">=</span><span class="code-string">"sprawdz()"</span><span class="code-text">&gt;</span></code>. Dlatego do reakcji na wpisanie znaku służy <code><span class="code-variable">onkeydown</span></code>.

Pytanie 13

W edytorze grafiki wektorowej zbudowano kształt, który składa się z dwóch figur: trójkąta oraz koła. Aby uzyskać ten kształt, po narysowaniu figur i ich odpowiednim ustawieniu, trzeba użyć funkcji

Ilustracja do pytania
A. wykluczenia
B. rozdzielenia
C. sumy
D. różnicy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja sumy w programach do grafiki wektorowej, takich jak Adobe Illustrator czy CorelDRAW, pozwala na połączenie dwóch lub więcej kształtów w jeden obiekt. To takie sprytne narzędzie! Sumowanie, znane też jako unia lub łączenie ścieżek, integruje geometrię wszystkich wybranych kształtów. Na przykład, jak narysujesz trójkąt i koło, a potem je odpowiednio ustawisz, to używając funkcji sumy, stworzysz nowy kształt, który obejmuje całą powierzchnię obu figur. Często to robi się przy projektowaniu logo, gdzie trzeba uprościć złożone kształty do jednej ścieżki. Taki sposób działania jest przyjęty w branży, bo ułatwia tworzenie czytelnych grafik, które są łatwe do edytowania. A co najważniejsze, połączenie figur w jedną upraszcza późniejsze zmiany i wpisuje się w zasady projektowania minimalistycznego, dzięki czemu można robić przejrzyste kompozycje. Warto mieć na uwadze, że takie podejście też ułatwia drukowanie i wycinanie, co jest mega ważne w produkcji materiałów reklamowych czy wyrobów przemysłowych.

Pytanie 14

W języku PHPnie ma możliwości

A. tworzenie dynamicznej zawartości strony internetowej
B. obróbka informacji przechowywanych w bazie danych
C. zmienianie dynamiczne treści strony HTML w przeglądarce
D. przetwarzanie danych z formularzy

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź dotycząca zmieniania dynamicznej zawartości strony HTML w przeglądarce jest poprawna, ponieważ PHP jest językiem skryptowym działającym po stronie serwera. Oznacza to, że PHP nie jest w stanie bezpośrednio modyfikować zawartości strony HTML po jej załadowaniu w przeglądarce użytkownika. Zamiast tego, PHP generuje HTML, który następnie jest przesyłany do przeglądarki. Dynamiczna zawartość strony może być generowana na podstawie danych z bazy danych lub formularzy, ale wszelkie zmiany w HTML po stronie klienta wymagają użycia języków, które działają po stronie przeglądarki, takich jak JavaScript. Przykładem może być sytuacja, w której użytkownik wypełnia formularz, a dane są przetwarzane przez PHP, które zwraca zaktualizowaną stronę. W przypadku potrzeby dynamicznych zmian, JavaScript może być użyty do manipulacji DOM po załadowaniu strony. Warto również zauważyć, że zgodnie z dobrymi praktykami, powinno się oddzielać logikę serwerową (PHP) od logiki klienckiej (JavaScript), co przyczynia się do lepszej struktury kodu i ułatwia jego utrzymanie.

Pytanie 15

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

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

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 16

Bitmapa to obraz:

A. rastrowy
B. analogowy
C. wektorowy
D. interakcyjny

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Bitmapa to obraz RASTROWY - zbudowany z siatki pikseli, z których każdy ma swój kolor. Przy powiększaniu widać „kwadraciki”, bo rośnie rozmiar pojedynczych pikseli. Tak zapisują obraz np. PNG, JPG czy BMP. Dlatego bitmapa to obraz rastrowy.

Pytanie 17

Tablica tab[] jest wypełniona losowymi liczbami całkowitymi. Jaka będzie wartość zmiennej zm2 po wykonaniu poniższego fragmentu kodu?

int tab[10];
int zm1 = 0;
double zm2 = 0;

for (int i=0; i < 10; i++)
{
    zm1 = zm1 + tab[i];
}
zm2 = zm1 / 10;
A. Średnia arytmetyczna liczb z tablicy
B. Suma elementów z tablicy
C. Suma liczb od 1 do 10
D. Średnia geometryczna liczb od 0 do 9

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
W tym kodzie fajnie widać, jak oblicza się średnią arytmetyczną z liczb w tablicy tab[]. Na początku ustawiamy zmienne zm1 i zm2 na 0, co jest spoko, bo potem w pętli for dodajemy wszystkie liczby z tablicy do zm1. Gdy pętla się kończy, zm1 zbiera całą sumę liczb, a żeby dostać średnią, dzielimy ją przez 10, bo tyle mamy elementów. Wynik przypisujemy do zm2. To bardzo przydatny proces w programowaniu – średnie są często używane w analizie danych czy obliczeniach wyników. Pamiętaj jednak, żeby nie zapomnieć o możliwych błędach dzielenia przez zero. Dobrze jest sprawdzić, czy tablica nie jest pusta, aby uniknąć kłopotów. I jeszcze jedna rzecz – używanie typu double dla zmiennej zm2 to dobry pomysł, żeby średnia była dokładna, zwłaszcza gdy mowa o liczbach, które nie są całkowite. To wszystko jest zgodne z dobrymi praktykami w IT.

Pytanie 18

Które wywołanie funkcji PHP round() da wynik równy 1?

A.
round(0.29)
B.
round(0.60)
C.
round(-4.60)
D.
round(-1.40)

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-text">)</span></code> zaokrągla liczbę do najbliższej całkowitej (domyślnie): część ułamkowa 0,5 i wyższa idzie w górę, niższa w dół. <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-number">0.60</span><span class="code-text">)</span></code> daje więc 1, bo 0,6 jest bliżej 1 niż 0. Dla porównania <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-number">0.29</span><span class="code-text">)</span></code> to 0, <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-text">-</span><span class="code-number">1.40</span><span class="code-text">)</span></code> to -1, a <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-text">-</span><span class="code-number">4.60</span><span class="code-text">)</span></code> to -5 (zaokrąglenie do najbliższej całkowitej w stronę większej wartości bezwzględnej). Można też podać liczbę miejsc po przecinku, np. <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-number">3.14159</span><span class="code-text">,</span> <span class="code-number">2</span><span class="code-text">)</span></code>. Dlatego wynik 1 daje <code><span class="code-function">round</span><span class="code-text">(</span><span class="code-number">0.60</span><span class="code-text">)</span></code>.

Pytanie 19

Hermetyzacja to zasada programowania obiektowego mówiąca o tym, że

A. klasy mogą mieć zdefiniowane metody wirtualne, które są implementowane w pochodnych klasach.
B. pola i metody wykorzystywane tylko przez daną klasę są ograniczane zasięgiem private lub protected.
C. klasy mogą współdzielić ze sobą funkcjonalność.
D. typy pól w klasach/obiektach mogą być dynamicznie zmieniane w zależności od danych im przypisywanych.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Poprawnie – hermetyzacja (encapsulation) w programowaniu obiektowym polega właśnie na ukrywaniu szczegółów implementacji klasy i ograniczaniu dostępu do pól oraz metod, które nie powinny być widoczne na zewnątrz. W praktyce oznacza to stosowanie modyfikatorów dostępu takich jak private i protected do elementów, które są wykorzystywane tylko wewnątrz danej klasy lub hierarchii dziedziczenia. Kod zewnętrzny widzi wtedy tylko to, co jest wystawione jako public, czyli oficjalny interfejs klasy. Z mojego doświadczenia to jest jedna z kluczowych rzeczy, która odróżnia „klepanie kodu” od pisania rozsądnie zaprojektowanego oprogramowania. Dzięki hermetyzacji można bezpiecznie zmieniać wnętrze klasy (np. sposób przechowywania danych, algorytmy) bez psucia kodu, który z tej klasy korzysta. Przykład: w klasie KontoBankowe pola takie jak saldo, numer konta czy historia operacji powinny być private, a dostęp do nich powinien odbywać się przez metody typu wplac(), wyplac(), pobierzSaldo(). Użytkownik klasy nie ma prawa bezpośrednio ustawiać salda, bo mógłby ominąć logikę biznesową, np. sprawdzanie limitu czy blokady konta. W językach takich jak Java, C++, C#, ale też w nowoczesnym TypeScript czy w podejściu obiektowym w PHP i JavaScript, dobre praktyki mówią jasno: pola klasy domyślnie robimy prywatne, a udostępniamy tylko to, co naprawdę musi być publiczne. Moim zdaniem to jedna z najważniejszych zasad SOLID (dokładniej – silnie się z nimi łączy), bo wymusza tworzenie małych, spójnych i bezpiecznych interfejsów. W większych projektach webowych, np. w aplikacjach backendowych w PHP lub JS/TS, brak hermetyzacji szybko kończy się „makaronem zależności”, gdzie jedna zmiana w polu klasy rozwala pół systemu. Dlatego branżowo uznaje się hermetyzację za absolutny standard projektowania obiektowego, a łamanie jej za klasyczny „code smell”.

Pytanie 20

W jakiej technologii nie zachodzi możliwość przetwarzania danych wprowadzanych przez użytkowników na stronach internetowych?

A. PHP
B. JavaScript
C. CSS
D. AJAX

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
CSS (Cascading Style Sheets) to język stylów, który służy do opisywania wyglądu i formatu dokumentów HTML. Jego głównym celem jest kontrolowanie układu, kolorów, czcionek oraz innych aspektów wizualnych strony internetowej. CSS nie ma możliwości przetwarzania danych wprowadzanych przez użytkowników, gdyż nie posiada funkcji logiki programistycznej ani operacji na danych. Przykładowo, CSS może zmieniać kolor tła lub rozmiar tekstu, ale nie może zbierać informacji z formularzy ani reagować na interakcje użytkownika w sposób, w jaki robią to języki programowania takie jak JavaScript czy PHP. Może to prowadzić do mylnych przekonań, że CSS jest bardziej wszechstronny, niż jest w rzeczywistości, jednak jego zastosowanie ogranicza się wyłącznie do aspektów stylistycznych. W praktyce, aby przetwarzać dane użytkownika, niezbędne są inne technologie, które mogą współpracować z CSS, ale same w sobie nie są w stanie tego zrobić.

Pytanie 21

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. aside {float: left; }
B. nav { float: right; }
C. nav { float: right; } section { float: right; }
D. nav { float: left; } aside { float: left; }

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie. W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie. Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 22

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

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

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 23

Podczas działania skryptu JavaScript został w konsoli wygenerowany błąd związany z działaniami na atrybucie elementu DOM. Z komunikatu wynika, że próbowano ustawić atrybut dla

Ilustracja do pytania
A. paragrafu.
B. obrazu.
C. tabeli.
D. odnośnika.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź była prawidłowa. Błąd 'Uncaught TypeError: Cannot set property 'src' of null' jest związany z próbą przypisania wartości do atrybutu 'src' nieistniejącego elementu DOM. Atrybut 'src' jest charakterystyczny dla elementów HTML obrazu, czyli <img>, i służy do określenia źródła obrazka. Gdy masz do czynienia z błędem tego typu, najczęściej wynika to z próby manipulacji atrybutem 'src' obrazu, który nie istnieje w strukturze DOM, co może wynikać na przykład z błędu w selektorze. Pamiętaj, że przed przypisaniem wartości atrybutu, warto upewnić się, że dany element DOM faktycznie istnieje. W przeciwnym razie, jak w tym przypadku, JavaScript zwróci błąd. Zrozumienie charakterystyki błędów i potrafiące identyfikowanie ich przyczyn jest kluczowe w procesie programowania.

Pytanie 24

Która z poniższych opcji najlepiej opisuje przedstawioną definicję w JavaScript?

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

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Definicja przedstawiona na obrazku odpowiada tablicy w języku JavaScript. Tablice w JavaScript są typem obiektu, który pozwala na przechowywanie wielu wartości w jednej zmiennej. W tym przypadku zmienna imiona zawiera listę stringów reprezentujących imiona. Tablice w JavaScript są dynamiczne co oznacza że ich rozmiar można zmieniać podczas działania programu. Dostęp do poszczególnych elementów tablicy uzyskuje się za pomocą indeksów które zaczynają się od zera. Na przykład pierwszy element tej tablicy to imiona[0] czyli Anna. JavaScript oferuje wiele metod do manipulacji tablicami takich jak push do dodawania elementów na końcu tablicy pop do usuwania ostatniego elementu czy map do tworzenia nowej tablicy na podstawie istniejącej poprzez zastosowanie funkcji do każdego elementu. Zrozumienie działania tablic jest kluczowe dla efektywnego programowania w JavaScript ponieważ są one podstawowym narzędziem do przechowywania i zarządzania danymi.

Pytanie 25

W SQL warunek ten odpowiada warunkowi liczba >= 10 AND liczba <= 100?

A. liczba BETWEEN 10 AND 100
B. NOT (liczba < 10 AND liczba > 100)
C. liczba IN (10, 100)
D. liczba LIKE '10%'

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź 'liczba BETWEEN 10 AND 100' jest prawidłowa, ponieważ odpowiada warunkowi, który sprawdza, czy wartość zmiennej 'liczba' mieści się w przedziale od 10 do 100, włączając oba końce. W SQL konstrukcja 'BETWEEN' jest preferowana, ponieważ jest bardziej czytelna i zrozumiała dla programistów, co sprzyja utrzymaniu kodu. Przykładowe zapytanie SQL używające tego warunku mogłoby wyglądać tak: 'SELECT * FROM tabela WHERE liczba BETWEEN 10 AND 100;'. Zastosowanie 'BETWEEN' unika potencjalnych błędów związanych z używaniem operatorów porównawczych i zapewnia, że obie granice przedziału są respektowane. W praktyce, korzystanie z 'BETWEEN' w zapytaniach SQL jest zgodne z dobrymi praktykami programowania, gdyż poprawia czytelność i ułatwia analizę kodu. Dodatkowo, warto zauważyć, że 'BETWEEN' działa również z datami, co czyni go uniwersalnym narzędziem w SQL.

Pytanie 26

Komunikat błędu wygenerowany przez walidator HTML może wskazywać na:

A. zbyt długą treść akapitu <p>
B. brak zamknięcia znacznika <p>
C. zbyt wolne ładowanie strony
D. użycie zbyt wielu kolorów na stronie

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Walidator HTML sprawdza zgodność kodu ze standardem i zgłasza błędy składni. Typowy komunikat dotyczy niedomkniętego znacznika - np. otwartego <code><span class="code-text">&lt;</span><span class="code-keyword">p</span><span class="code-text">&gt;</span></code> bez odpowiadającego <code><span class="code-text">&lt;/</span><span class="code-keyword">p</span><span class="code-text">&gt;</span></code>, złego zagnieżdżenia lub nieprawidłowego atrybutu. Dlatego komunikat walidatora może wskazywać na brak zamknięcia znacznika <code><span class="code-text">&lt;</span><span class="code-keyword">p</span><span class="code-text">&gt;</span></code>.

Pytanie 27

Na podstawie jakiego parametru oraz z ilu tabel zostaną zwrócone wiersze w wyniku przedstawionego zapytania?

SELECT * FROM producent, hurtownia, sklep, serwis
WHERE producent.nr_id = hurtownia.nr_id
AND producent.wyrob_id = serwis.wyrob_id
AND hurtownia.nr_id = sklep.nr_id
AND sklep.nr_id = serwis.nr_id
AND producent.nr_id = 1;
A. Na podstawie parametru wyrob_id wyłącznie z trzech tabel
B. Na podstawie parametru nr_id ze wszystkich tabel
C. Na podstawie parametru wyrob_id ze wszystkich tabel
D. Na podstawie parametru nr_id wyłącznie z trzech tabel

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Zapytanie SQL używa parametru nr_id jako kluczowego elementu łączącego cztery tabele producent hurtownia sklep oraz serwis Dzięki temu zapytanie zwraca wiersze dla wszystkich tych tabel gdzie istnieje wspólna wartość nr_id W praktyce klucz taki jak nr_id jest używany do tworzenia relacji pomiędzy różnymi tabelami co jest podstawą w relacyjnych bazach danych Użycie tego samego klucza w zapytaniu umożliwia efektywne łączenie danych i jest zgodne z zasadami normalizacji danych która zmniejsza redundancję i poprawia integralność danych Praktycznym przykładem może być analiza danych sprzedażowych gdzie nr_id reprezentuje unikalny identyfikator zamówienia łączący dane producenta dystrybutora sklepu i serwisu W ten sposób można uzyskać pełny widok na procesy biznesowe we wszystkich etapach cyklu życia produktu Zachowanie tej struktury relacyjnej pozwala na szybkie i dokładne analizy co jest kluczowe w podejmowaniu decyzji biznesowych

Pytanie 28

Który z elementów w sekcji head dokumentu HTML 5 jest obowiązkowy według walidatora HTML, a jego niedobór skutkuje błędem (error)?

A. meta
B. title
C. link
D. style

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Znak „title” jest fundamentalnym elementem sekcji head dokumentu HTML, który ma kluczowe znaczenie dla jego poprawnego działania oraz dla doświadczeń użytkowników. Jego obecność jest niezbędna, ponieważ zapewnia tytuł strony, który jest wyświetlany na pasku tytułowym przeglądarki oraz w wynikach wyszukiwania. Tytuł powinien być krótki, ale jednocześnie informacyjny, co pozwala na łatwe zidentyfikowanie zawartości strony. Przykładowo, w przypadku bloga dotyczącego zdrowia, tytuł mógłby brzmieć „Porady zdrowotne – Jak dbać o zdrowie”. Ponadto, zgodnie z wytycznymi W3C, brak tego znacznika jest traktowany jako błąd, co oznacza, że strona nie będzie spełniać standardów HTML5. W praktyce, obecność tytułu wpływa również na SEO (optymalizację pod kątem wyszukiwarek), ponieważ wyszukiwarki często wykorzystują ten element do zrozumienia tematyki strony oraz jej rankingu. Dlatego dobór odpowiednich słów do tytułu jest równie ważny.

Pytanie 29

Wynikiem realizacji zamieszczonego kodu PHP jest pokazanie komunikatu

Ilustracja do pytania
A. warunek3
B. warunek1
C. warunek4
D. warunek2

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kod w języku PHP przedstawia warunki logiczne, które oceniają wartości zmiennych $a, $b, $c i $d. Zmienna $a i $c są ustawione na true, natomiast $b i $d na false. Pierwszy warunek sprawdza, czy zarówno $a && $b (czyli true && false, co daje false) lub $c && $d (czyli true && false, co również daje false) jest prawdziwe. Oba wyrażenia są fałszywe, więc warunek if nie zostanie spełniony. Drugi warunek elseif sprawdza, czy $a && $b (false) lub $c || $d (true || false, co daje true) jest prawdziwe. Ponieważ $c || $d jest prawdziwe, cały warunek jest spełniony i zostanie wyświetlony komunikat warunek2. Dobrym przykładem praktycznego zastosowania takich konstrukcji jest walidacja danych w aplikacjach webowych, gdzie można łączyć różne warunki logiczne w celu osiągnięcia wymaganej logiki decyzyjnej. Ważne jest, by rozumieć priorytety operatorów logicznych i zasady działania operatora „OR” (||) i „AND” (&&) w języku PHP, zgodnie z dokumentacją PHP.

Pytanie 30

Wskaż równoważną metodę dla instrukcji switch zapisaną w języku PHP?

Ilustracja do pytania
A. B
B. C
C. D
D. A

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź B jest dobra, bo w PHP używamy instrukcji switch, żeby robić różne rzeczy w zależności od wartości zmiennej. W tym przypadku, if w odpowiedzi B działa podobnie do switch, gdy sprawdzamy kilka wartości tej samej zmiennej. W twoim kodzie if patrzy, czy zmienna $liczba jest równa 10 albo 20, a dla tych ilości robimy to samo, czyli zwiększamy $liczba. Jak żaden z warunków nie zagra, to else ustawia $liczba na 0. Takie sposoby pisania kodu są dość popularne i pomagają w unikaniu powtarzania tych samych instrukcji, co czyni kod lepszym. W sumie, użycie switch byłoby lepsze przy bardziej skomplikowanych opcjach, bo kod byłby bardziej zrozumiały i łatwiejszy do utrzymania. Z doświadczenia wiem, że lepiej unikać zbyt wielu warunków w if, gdy można to zrobić prościej z użyciem switch, szczególnie, gdy mamy do czynienia z wieloma stałymi wartościami.

Pytanie 31

W dostępnej tabeli mieszkań znajdują się kolumny o nazwach: adres, metraż, liczba_pokoi, standard, status, cena. Wykonanie podanej kwerendy SQL SELECT spowoduje, że zostaną wyświetlone

Ilustracja do pytania
A. metraż oraz cena tych mieszkań, które mają co najmniej 3 pokoje
B. wszystkie informacje dotyczące mieszkań, które mają co najmniej 3 pokoje
C. wszystkie informacje oprócz adresu tych mieszkań, które mają więcej niż 3 pokoje
D. metraż oraz cena tych mieszkań, które mają więcej niż 3 pokoje

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kwerenda SQL SELECT metraz cena FROM mieszkania WHERE ile_pokoi 3 jest zapytaniem, które precyzyjnie określa zakres danych do wyświetlenia na podstawie warunku. Polecenie SELECT określa, które kolumny będą zwracane w wyniku kwerendy w tym przypadku metraz i cena. Dzięki temu uzyskujemy tylko te dane które są istotne w kontekście analizy efektywności lub porównania cen nieruchomości o określonym rozmiarze w ramach bazy danych. Użycie klauzuli WHERE ile_pokoi 3 definiuje dodatkowy filtr aby wyświetlane były jedynie te rekordy które spełniają podany warunek logiczny czyli ilość pokoi większą niż trzy. Jest to powszechnie stosowana praktyka w pracy z bazami danych pozwalająca na efektywne przetwarzanie i analizę dużych zbiorów danych poprzez ograniczenie zwracanych wyników do tych które są najbardziej istotne dla użytkownika. Takie podejście pozwala na optymalizację wydajności zapytań SQL co jest kluczowe w środowiskach produkcyjnych gdzie czas odpowiedzi i obciążenie serwera mają istotne znaczenie

Pytanie 32

Poniżej znajduje się fragment kodu w języku HTML. Przedstawia on definicję listy:

Ilustracja do pytania
A. A
B. B
C. D
D. C

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź C jest poprawna ponieważ przedstawiony fragment kodu HTML definiuje uporządkowaną listę zagnieżdżoną W tym kodzie zauważamy że główna lista jest uporządkowana oznaczona jako ol co definiuje elementy listy jako numerowane po kolei Elementy li w tej liście to punkty jeden dwa i trzy Na szczególną uwagę zasługuje fakt że drugi element li zawiera zagnieżdżoną nieuporządkowaną listę ul co jest zgodne ze standardami HTML dotyczącymi zagnieżdżania list Zgodnie z dobrymi praktykami zagnieżdżanie list w HTML powinno być stosowane w sposób przejrzysty i logiczny co ułatwia czytelność i zrozumienie kodu oraz jego późniejsze modyfikacje Praktycznym zastosowaniem takich struktur jest organizowanie treści w dokumentach internetowych w sposób hierarchiczny co ułatwia zarówno użytkownikom przeglądanie zawartości jak i programistom zarządzanie kodem Zrozumienie zagnieżdżania list jest kluczowe dla efektywnego tworzenia stron internetowych które są nie tylko estetyczne ale także funkcjonalne i dostępne dla szerokiej grupy odbiorców

Pytanie 33

Który typ przechowuje tekst o ZMIENNEJ długości (do zadanego maksimum)?

A.
INT
B.
VARCHAR
C.
CHAR
D.
FLOAT

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Typ <code><span class="code-variable">VARCHAR</span></code> przechowuje tekst o ZMIENNEJ długości - do zadanego maksimum (np. <code><span class="code-function">VARCHAR</span><span class="code-text">(</span><span class="code-number">50</span><span class="code-text">)</span></code>), zajmując tylko tyle miejsca, ile faktycznie ma wartość. Sprawdza się dla pól jak imię czy nazwa. Dlatego tekst zmiennej długości trzyma <code><span class="code-variable">VARCHAR</span></code>.

Pytanie 34

Jakim sposobem można w języku PHP dokumentować blok komentarza składający się z wielu linii?

A. //
B. /* */
C. <!-- -->
D. #

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Komentarze w języku PHP mogą być tworzone na kilka sposobów, jednak jedynie sposób wykorzystujący /* */ pozwala na zapis bloku komentarza rozciągającego się na wiele linii. Jest to szczególnie użyteczne w sytuacjach, gdy programista chce umieścić obszerniejsze wyjaśnienia dotyczące kodu, które nie ograniczają się do jednej linii. Przykładem zastosowania może być opis skomplikowanej funkcji lub sekcji kodu, gdzie istotne jest podanie kontekstu lub dodatkowych informacji. Na przykład: /* * Funkcja obliczająca sumę dwóch liczb. * Przyjmuje dwa argumenty: a oraz b. */ function suma($a, $b) { return $a + $b; } Stosowanie bloku komentarza zgodnie z tym stylem jest zgodne z najlepszymi praktykami programowania, gdyż poprawia czytelność kodu oraz ułatwia jego późniejsze utrzymanie. Z punktu widzenia standardów kodowania, szczególnie w większych projektach, dobrze opisane fragmenty kodu mogą zminimalizować ryzyko błędów oraz ułatwić pracę zespołową.

Pytanie 35

Po awarii serwera bazy danych, aby jak najszybciej przywrócić pełne działanie bazy, konieczne jest wykorzystanie

A. aktualnej wersji kopii zapasowej
B. kompletnej listy użytkowników serwera
C. opisu struktur danych w tabelach
D. najświeższej wersji instalacyjnej serwera

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Aby skutecznie przywrócić działanie bazy danych po jej uszkodzeniu, kluczowe jest wykorzystanie aktualnej wersji kopii zapasowej. Kopie zapasowe są fundamentem każdego planu odzyskiwania danych i powinny być regularnie tworzone zgodnie z polityką zarządzania danymi. Przykładowo, jeśli korzystamy z bazy danych w środowisku produkcyjnym, zaleca się wykonywanie codziennych kopii zapasowych oraz pełnych kopii co tydzień. W przypadku awarii, przywrócenie systemu do stanu sprzed incydentu za pomocą najnowszej kopii zapasowej minimalizuje utratę danych i przestoje. Praktyki takie jak backup w czasie rzeczywistym (real-time backup) mogą być również rozważane, aby ograniczyć ryzyko utraty danych. W kontekście standardów branżowych, organizacje powinny stosować zasady RTO (Recovery Time Objective) i RPO (Recovery Point Objective), które pomogą w określeniu najodpowiedniejszej strategii tworzenia kopii zapasowych i ich przechowywania. Zastosowanie aktualnych kopii zapasowych jest zatem najskuteczniejszym sposobem na przywrócenie funkcjonalności bazy danych.

Pytanie 36

Kompresja bezstratna pliku graficznego zapewnia:

A. mniejszą liczbę warstw
B. wyższą jakość niż oryginał
C. zachowanie pierwotnej jakości grafiki
D. plik większy niż oryginał

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Kompresja bezstratna zmniejsza rozmiar pliku, ale w taki sposób, że po dekompresji odzyskuje się dane identyczne z oryginałem - jakość obrazu nie spada. Działa, eliminując nadmiarowość danych (np. powtarzające się ciągi), a nie odrzucając informacje. Stosują ją formaty takie jak PNG i GIF; przeciwieństwem jest kompresja stratna (JPEG), która dla mniejszego pliku odrzuca część szczegółów. Dlatego kompresja bezstratna zachowuje pierwotną jakość grafiki.

Pytanie 37

Na rysunku została przedstawiona relacja jeden do wielu. Łączy ona

Ilustracja do pytania
A. klucz podstawowy id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
B. klucz obcy reżyserzy_id tabeli filmy z kluczem podstawowym id tabeli reżyserzy.
C. klucz podstawowy id tabeli filmy z kluczem obcym reżyserzy_id tabeli reżyserzy.
D. klucz obcy reżyserzy_id tabeli filmy z kluczem obcym id tabeli reżyserzy.

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Twoja odpowiedź jest prawidłowa. Relacja jeden do wielu na rysunku wskazuje, że jeden rekord z tabeli reżyserzy może być powiązany z wieloma rekordami w tabeli filmy. Klucz obcy (FK - Foreign Key) w tabeli filmy (reżyserzy_id) wskazuje na klucz podstawowy (PK - Primary Key) w tabeli reżyserzy (id). Jest to typowa praktyka przy projektowaniu relacyjnych baz danych, która pozwala na utrzymanie integralności relacji między danymi. Te relacje są kluczowe dla prawidłowego działania systemów bazodanowych, ponieważ umożliwiają efektywne zarządzanie danymi. Poprawnie zdefiniowanie kluczy obcych i podstawowych umożliwia tworzenie skomplikowanych struktur danych, które odzwierciedlają rzeczywiste zależności i czytelnie prezentują powiązania między danymi.

Pytanie 38

Aby skryptem PHP wstawić do bazy dane z formularza, używasz wywołania:

mysqli_query($zm1, $zm2);
Co należy przekazać w parametrach $zm1 i $zm2?
A. w $zm1 identyfikator połączenia, w $zm2 zapytanie SELECT
B. w $zm1 wartość NULL, w $zm2 zapytanie SELECT
C. w $zm1 id wiersza, w $zm2 zapytanie INSERT INTO
D. w $zm1 identyfikator połączenia z bazą, w $zm2 zapytanie INSERT INTO

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Funkcja <code><span class="code-function">mysqli_query</span><span class="code-text">(</span><span class="code-text">)</span></code> przyjmuje dwa parametry: pierwszy (<code><span class="code-text">$</span><span class="code-variable">zm1</span></code>) to uchwyt połączenia z bazą zwrócony przez <code><span class="code-function">mysqli_connect</span><span class="code-text">(</span><span class="code-text">)</span></code>, a drugi (<code><span class="code-text">$</span><span class="code-variable">zm2</span></code>) to treść zapytania SQL. Aby wstawić dane, w drugim parametrze przekazuje się zapytanie <code><span class="code-keyword">INSERT</span> <span class="code-keyword">INTO</span></code>. Dlatego poprawne jest: połączenie w <code><span class="code-text">$</span><span class="code-variable">zm1</span></code> i <code><span class="code-keyword">INSERT</span> <span class="code-keyword">INTO</span></code> w <code><span class="code-text">$</span><span class="code-variable">zm2</span></code>.

Pytanie 39

W CSS, aby ustawić wcięcie pierwszej linii akapitu na 30 pikseli, należy użyć zapisu

A. p {line-height: 30px;}
B. p {line-indent: 30px;}
C. p {text-spacing: 30px;}
D. p {text-indent: 30px;}

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Odpowiedź p {text-indent: 30px;} jest prawidłowa, ponieważ właściwość text-indent w CSS służy do określenia wcięcia pierwszej linii akapitu. Wartość 30px oznacza, że pierwsza linia każdego akapitu zostanie przesunięta o 30 pikseli w prawo, co jest często stosowaną praktyką w celu poprawy czytelności tekstu. Dobrą praktyką jest stosowanie wcięć w dłuższych tekstach, co pozwala na bardziej uporządkowane i estetyczne przedstawienie treści. Przykładem zastosowania może być wcięcie w blogach czy artykułach, gdzie struktura tekstu ma znaczenie dla odbiorcy. Warto pamiętać, że właściwość text-indent działa tylko na pierwszą linię akapitu, co oznacza, że kolejne linie pozostają w standardowej pozycji. Używanie text-indent jest zgodne z dobrymi praktykami projektowania stron internetowych, które podkreślają znaczenie czytelności i estetyki tekstu.

Pytanie 40

Co robi polecenie:

ALTER TABLE miasta ADD kod text;
?
A. zmienia nazwę tabeli miasta na kod
B. dodaje do tabeli kolumnę kod typu text
C. dodaje dwie kolumny: kod i text
D. zmienia nazwę kolumny kod na text

Brak odpowiedzi na to pytanie.

Wyjaśnienie poprawnej odpowiedzi:
Polecenie <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span> <span class="code-variable">miasta</span> <span class="code-keyword">ADD</span> <span class="code-variable">kod</span> <span class="code-variable">text</span><span class="code-text">;</span></code> rozszerza istniejącą tabelę miasta o jedną nową kolumnę o nazwie kod i typie <code><span class="code-variable">text</span></code>. <code><span class="code-keyword">ALTER</span> <span class="code-keyword">TABLE</span></code> zmienia strukturę tabeli, a <code><span class="code-keyword">ADD</span></code> wskazuje dodanie kolumny (nazwa plus typ). Dlatego polecenie dodaje kolumnę kod typu text.