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 12:04
  • Data zakończenia: 8 czerwca 2026 12:20

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Który z akapitów został sformatowany zgodnie z przedstawionym stylem, zakładając, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Odpowiedź A
B. Odpowiedź B
C. Odpowiedź D
D. Odpowiedź C
Paragraf oznaczony jako C został poprawnie sformatowany według przedstawionego stylu CSS. Styl ten określa kilka kluczowych właściwości: padding na poziomie 20 pikseli, kolor tekstu jako niebieski, pogrubienie tekstu ustawione na 900 oraz obramowanie o grubości 1 piksela z pełną linią. Padding określa wewnętrzne wcięcie, które wpływa na zwiększenie odległości między tekstem a krawędzią kontenera, co widać w odpowiedzi C jako przestrzeń wokół tekstu. Kolor tekstu zmienia się na niebieski, co również jest zgodne z wyglądem tej odpowiedzi. Font-weight ustawiony na 900 oznacza, że tekst powinien być wyraźnie pogrubiony, co jest zauważalne w porównaniu do innych opcji. Obramowanie wokół tekstu jest delikatne, ale widoczne, co odpowiada deklaracji border: 1px solid. Te właściwości są zgodne z powszechnymi praktykami projektowania stron internetowych, gdzie czytelność i estetyka odgrywają kluczową rolę. Praktyczne zastosowanie takich reguł CSS można znaleźć w projektowaniu intuicyjnych interfejsów użytkownika, gdzie spójność stylów ułatwia nawigację.

Pytanie 2

Który efekt został zaprezentowany na filmie?

A. Zmiana jasności zdjęć.
B. Przenikanie zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Zwiększenie ostrości zdjęcia.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 3

Na obrazie przedstawiono projekt układu bloków witryny internetowej. Zakładając, że bloki są realizowane za pomocą znaczników sekcji, ich formatowanie w CSS, oprócz ustawionych szerokości dla bloków: 1, 2,
3, 4 (blok 5 nie ma ustawionej szerokości), powinno zawierać właściwość

Ilustracja do pytania
A. clear: both dla bloku 5 oraz float: left dla pozostałych bloków.
B. clear: both dla bloku 5 oraz float: left jedynie dla 1 i 2 bloku.
C. clear: both dla wszystkich bloków.
D. float: left dla wszystkich bloków.
Twoja odpowiedź jest poprawna. Bloki 1, 2, 3 i 4 powinny być ustawione obok siebie na stronie. Możemy tego dokonać, stosując dla nich właściwość 'float: left' w CSS, która sprawia, że elementy są wyświetlane po lewej stronie swojego kontenera. Często stosuje się tę technikę przy projektowaniu layoutów stron internetowych, umożliwiając rozmieszczenie bloków w jednym rzędzie. Blok 5 powinien natomiast znajdować się poniżej tych bloków, co osiągniemy stosując właściwość 'clear: both'. Ta właściwość zapewnia, że element nie będzie obok żadnego z poprzednich bloków, nawet jeśli mają one ustawiony float. Jest to szczególnie przydatne w sytuacjach, gdy chcemy, aby pewien element (np. stopka strony) był wyświetlany poniżej innych bloków, niezależnie od ich położenia czy szerokości. W praktyce, prawidłowe zastosowanie tych dwóch właściwości jest kluczowe dla tworzenia responsywnych i atrakcyjnych layoutów stron.

Pytanie 4

Jakim systemem do zarządzania wersjami oprogramowania jest

A. TotalCommander
B. GIT
C. Eclipse
D. FileZilla
TotalCommander, Eclipse i FileZilla to popularne narzędzia, które służą do innych celów w procesie tworzenia oprogramowania, ale nie są systemami kontroli wersji. TotalCommander jest menedżerem plików, który ułatwia nawigację i zarządzanie plikami na komputerze, jednak nie oferuje funkcji śledzenia zmian w kodzie czy współpracy zespołowej. Eclipse to zintegrowane środowisko programistyczne (IDE), które wspiera rozwój aplikacji, ale nie pełni roli systemu kontroli wersji, chociaż może korzystać z różnych systemów kontroli wersji za pomocą odpowiednich wtyczek. FileZilla to klient FTP, który umożliwia przesyłanie plików na serwery, co również nie ma związku z kontrolą wersji. Często mylnie przyjmuje się, że narzędzia związane z zarządzaniem plikami czy programowaniem mogą zastępować systemy kontroli wersji, co jest błędnym podejściem. Systemy kontroli wersji, takie jak GIT, są zaprojektowane z myślą o zarządzaniu zmianami w kodzie źródłowym, co jest kluczowe w nowoczesnym procesie wytwarzania oprogramowania. Ignorowanie tej specyfikacji i nieodróżnianie narzędzi do zarządzania plikami od systemów kontroli wersji może prowadzić do problemów w organizacji pracy zespołu oraz utraty wydajności w projektach.

Pytanie 5

Aby grupować obszary na poziomie bloków, które będą stylizowane za pomocą znacznika: należy wykorzystać

A. <p>
B. <param>
C. <span>
D. <div>
Element <div> to naprawdę ważna część HTML-a, bo pozwala na porządne grupowanie treści na stronie. Dzięki niemu możemy lepiej zorganizować dokument, co nie tylko wygląda estetycznie, ale też ma znaczenie dla semantyki. Używając <div>, łatwiej podpinamy style CSS i skrypty JavaScript, co bardzo pomaga w budowaniu responsywnych układów. Na przykład, gdy tworzymy stronę z nagłówkiem, głównym tekstem i stopką, to dobrze jest wrzucić te sekcje w odpowiednie <div>, bo potem łatwiej je stylizować i edytować. Trzeba pamiętać, że <div> nie ma swojej domyślnej semantyki, więc jego znaczenie zależy tylko od kontekstu, w jakim go użyjemy, co czyni go naprawdę wygodnym narzędziem w tworzeniu nowoczesnych stron.

Pytanie 6

Który kod jest alternatywny do kodu zamieszczonego w ramce?

<?php
for($x = 1; $x <= 55; $x++)
{
  if($x % 2 != 0) continue;
  echo $x . " ";
}
?>
A. for($x = 1; $x <= 55; $x += 1) {echo $x." ";}
B. for($x = 2; $x <= 54; $x += 2) {echo $x." ";}
C. for($x = 1; $x <= 55; $x++) {echo $x." ";}
D. for($x = 2; $x <= 56; $x += 2) {echo $x." ";}
Niestety, wybrałeś błędną odpowiedź. Wszystkie opcje oprócz odpowiedzi A nie są alternatywą dla kodu zawartego w ramce. Cechą wspólną dla niepoprawnych odpowiedzi jest fakt, że nie uwzględniają one aspektu parzystości liczb, na którym operują. Kod w ramce pomija liczby parzyste za pomocą instrukcji 'continue', która jest wywoływana, gdy reszta z dzielenia przez 2 jest równa 0. W odpowiedzi A, pętla jest zaprojektowana tak, że wykonuje operacje tylko na liczbach parzystych (zaczyna od 2 i zwiększa wartość o 2 za każdą iterację). Błędne odpowiedzi nie uwzględniają takiego podziału na liczby parzyste i nieparzyste, co jest kluczowym aspektem funkcjonowania kodu w ramce. Pamiętaj, że podczas analizy kodu, zwracaj uwagę na wszystkie jego aspekty, takie jak warunki, instrukcje sterujące czy operacje wykonywane na danych.

Pytanie 7

W języku JavaScript rezultat wykonania instrukcji zmienna++; będzie równy wynikowi instrukcji

A. zmienna += 1;
B. zmienna--;
C. zmienna = zmienna + 10;
D. zmienna === zmienna + 1;
Wybór odpowiedzi sugerujących <span>zmienna--;</span> jest mylny, ponieważ operator <span>--</span> to operator dekrementacji, który zmniejsza wartość zmiennej o 1, co stoi w sprzeczności z celem inkrementacji. Implementacja <span>zmienna === zmienna + 1;</span> jest także błędna z dwóch powodów. Po pierwsze, porównuje wartość zmiennej z wartością zmiennej zwiększonej o 1, co w większości przypadków zwróci <span>false</span>, a nie zwiększa samej zmiennej. Takie porównania są używane w logice warunkowej, jednak nie mają zastosowania w kontekście zwiększania wartości zmiennej. Ostatnia propozycja <span>zmienna = zmienna + 10;</span> jest niepoprawna, ponieważ zwiększa wartość o 10, a nie o 1, co diametralnie zmienia wynik działania. Warto pamiętać, że w programowaniu istotne jest zrozumienie działania operatorów i ich zastosowania, aby uniknąć błędów logicznych, które mogą prowadzić do nieprzewidzianych wyników. Używając typowych konstrukcji w JavaScript, jak pętle czy funkcje, programiści często korzystają z operatorów inkrementacji i przypisania, co sprawia, że ich prawidłowe wykorzystanie jest kluczowe w codziennej pracy. Zrozumienie różnic między tymi operatorami jest zatem fundamentem w nauce programowania w JavaScript.

Pytanie 8

Określ na podstawie diagramu, jaką liczebność należy zdefiniować przy związku pomiędzy encjami Podręcznik i Wydawnictwo zakładając, że dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu.

Ilustracja do pytania
A. M-N (M przy encji Podręcznik, N przy encji Wydawnictwo)
B. N-1 (N przy encji Podręcznik, 1 przy encji Wydawnictwo)
C. 1-N (1 przy encji Podręcznik, N przy encji Wydawnictwo)
D. 1-1 (1 przy encji Podręcznik, 1 przy encji Wydawnictwo)
Poprawnie wskazana krotność N–1 oznacza, że wiele podręczników może być powiązanych z jednym wydawnictwem, natomiast każdy pojedynczy podręcznik ma dokładnie jedno wydawnictwo. Dokładnie to wynika z treści: „dane dotyczące różnych podręczników odpowiadają jednemu wydawnictwu”. W notacji związków encji mówimy więc o relacji wiele‑do‑jednego z punktu widzenia encji Podręcznik. W praktycznym modelu relacyjnej bazy danych przekłada się to na klucz obcy w tabeli PODRĘCZNIK, który wskazuje na klucz główny (np. id_wydawnictwa) w tabeli WYDAWNICTWO. Dzięki temu nie powielamy danych o wydawnictwie przy każdym rekordzie, tylko przechowujemy je w jednym miejscu, zgodnie z zasadą normalizacji (co najmniej 2. i 3. postać normalna). Moim zdaniem to jest jedno z podstawowych i najczęściej wykorzystywanych powiązań: podobny schemat mamy przy relacji Produkt–Producent, Samochód–Marka, Student–Grupa itp. W takich przypadkach w tabeli „wiele” zawsze ląduje kolumna z kluczem obcym do tabeli „jeden”. Dodatkowo warto zauważyć, że gdybyśmy kiedyś chcieli pozwolić na zmianę nazwy wydawnictwa, to dzięki takiemu modelowi robimy to tylko w jednym wierszu tabeli WYDAWNICTWO, a wszystkie powiązane podręczniki automatycznie „widzą” zaktualizowaną wartość. To jest dokładnie ta dobra praktyka projektowania: minimalizacja redundancji i łatwiejsze utrzymanie spójności danych (integralność referencyjna, klucze obce z ON UPDATE/DELETE). W dobrze zaprojektowanych systemach bibliotecznych czy księgarni internetowych ta relacja N–1 między książką/podręcznikiem a wydawnictwem jest standardem branżowym i praktycznie normą w modelach ER.

Pytanie 9

Jaką treść komunikatu należy umieścić w kodzie PHP zamiast znaków zapytania?

$a = mysql_connect('localhost', 'adam', 'mojeHaslo');

if (!$a)
    echo "?????????????";
A. Rekord został pomyślnie dodany do bazy
B. Wybrana baza danych nie istnieje
C. Błąd w trakcie przetwarzania zapytania SQL
D. Błąd połączenia z serwerem SQL
Poprawna odpowiedź 'Błąd połączenia z serwerem SQL' jest właściwa, ponieważ funkcja mysql_connect() służy do nawiązywania połączenia z serwerem bazy danych MySQL. Jeśli połączenie nie powiedzie się, zwraca false. W takiej sytuacji należy poinformować użytkownika o nieudanym połączeniu. Jest to kluczowe w debugowaniu i zapewnianiu użytkownikowi zrozumiałych komunikatów błędów. W praktyce, połączenie z bazą danych jest podstawowym krokiem w wielu aplikacjach internetowych, a jego poprawna obsługa to standardowa praktyka branżowa. Współczesne podejście wymaga także użycia rozszerzenia mysqli lub PDO zamiast przestarzałej funkcji mysql_connect(). Jest to zalecane ze względu na lepsze wsparcie bezpieczeństwa i wydajności. Użycie funkcji mysqli_connect() pozwala na obsługę zarówno błędów połączenia, jak i zapytań SQL w sposób bardziej elastyczny i bezpieczny.

Pytanie 10

Instrukcja w języku SQL

GRANT ALL PRIVILEGES ON klienci TO pracownik
A. Przyznaje wszystkie uprawnienia do tabeli klienci użytkownikowi pracownik
B. Przenosi uprawnienia z grupy klienci na użytkownika pracownik
C. Odbiera wszystkie uprawnienia pracownikowi do tabeli klienci
D. Przyznaje uprawnienia grupie klienci do tabeli pracownik
Wszystkie pozostałe odpowiedzi zawierają błędne interpretacje polecenia GRANT w SQL. Przykładowo, pierwsza odpowiedź sugeruje, że polecenie skopiuje uprawnienia z grupy klienci na użytkownika pracownik, co jest mylne. GRANT nie umożliwia kopiowania uprawnień, lecz ich nadawanie, co oznacza, że uprawnienia muszą być przypisane bezpośrednio do konkretnego użytkownika lub roli. Kolejne stwierdzenie, że polecenie odbiera uprawnienia pracownikowi do tabeli klienci, jest całkowicie nieprawdziwe; GRANT nie ma funkcji odbierania uprawnień, to polecenie służy wyłącznie ich przyznawaniu. Istnieje osobne polecenie REVOKE, które służy do odbierania już przyznanych uprawnień. Ostatnia odpowiedź, która mówi o nadawaniu uprawnień grupie klienci do tabeli pracownik, jest również nieprawidłowa, ponieważ polecenie odnosi się do tabeli klienci, a nie do pracownika jako grupy. W kontekście zarządzania bazami danych, zrozumienie, jak działają uprawnienia i jakie polecenia są odpowiedzialne za ich przyznawanie oraz odbieranie, jest kluczowe dla zapewnienia bezpieczeństwa i spójności danych. Użytkownicy często mylą funkcje GRANT i REVOKE, co prowadzi do błędów w konfiguracji uprawnień i potencjalnych luk w zabezpieczeniach.

Pytanie 11

Z bazy danych trzeba uzyskać zapytaniem SQL nazwiska pracowników, którzy sprawują funkcję kierownika, a ich wynagrodzenie mieści się w jednostronnie domkniętym przedziale (3000, 4000>. Która klauzula weryfikuje ten warunek?

A. WHERE kierownik = true OR pensja > 3000 OR pensja <= 4000
B. WHERE kierownik = true AND pensja => 3000 OR pensja < 4000
C. WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000
D. WHERE kierownik = true AND pensja => 3000 AND pensja <= 4000
Poprawna odpowiedź to 'WHERE kierownik = true AND pensja > 3000 AND pensja <= 4000;'. Ta klauzula w SQL jest zgodna z wymaganiami, ponieważ precyzyjnie określa, że zwracane będą tylko te rekordy, gdzie pracownik jest kierownikiem oraz jego pensja jest większa niż 3000 i jednocześnie mniejsza lub równa 4000. Zastosowanie operatorów logicznych AND w tym kontekście jest kluczowe, ponieważ pozwala na jednoczesne spełnienie obu warunków. W praktyce, aby uzyskać wyniki zgodne z tymi kryteriami, ważne jest, aby zrozumieć różnicę między operatorami porównawczymi, a także ich zastosowanie w kontekście warunków. Przykładowo, jeśli dla dużej bazy danych chcemy filtrować pracowników w oparciu o ich pozycje oraz wynagrodzenie, stosowanie precyzyjnych klauzul WHERE pozwala na optymalizację zapytań i lepsze zarządzanie danymi. Dobre praktyki w SQL podkreślają znaczenie klarowności i dokładności w definiowaniu warunków, co bezpośrednio przekłada się na efektywność operacji na bazach danych.

Pytanie 12

Jak nazwana jest technika dołączania arkusza stylów do dokumentu HTML użyta w podanym kodzie?

<p style="color:red;">tekst</p>
A. Styl wpisany, lokalny
B. Styl alternatywny, zewnętrzny
C. Styl zewnętrzny
D. Styl wewnętrzny
Styl wpisany lokalny jest metodą bezpośredniego przypisywania reguł CSS do konkretnych elementów HTML za pomocą atrybutu style W przedstawionym przykładzie kodu stylizacja jest dodawana bezpośrednio do elementu p co sprawia że ten element będzie miał tekst w kolorze czerwonym Styl wpisany jest szczególnie przydatny gdy chcemy wprowadzić szybkie zmiany dla pojedynczych elementów bez ingerowania w zewnętrzne lub wewnętrzne arkusze stylów Takie podejście jest używane w sytuacjach gdy stylizacja dotyczy jedynie pojedynczego elementu lub gdy chcemy nadpisać reguły z innych arkuszy stylów Jednak w kontekście skalowalności i utrzymania kodu nie jest to rekomendowane w większych projektach W takich przypadkach lepiej stosować style zewnętrzne które pozwalają na bardziej zorganizowane i zarządzalne podejście do stylizacji witryny Warto pamiętać że styl wpisany ma wyższy priorytet niż style zewnętrzne co oznacza że w przypadku konfliktu reguł to właśnie styl wpisany zostanie zastosowany Podstawową zaletą stylu wpisanego jest jego prostota i bezpośredniość co czyni go doskonałym narzędziem do szybkiego prototypowania

Pytanie 13

Jakie mogą być źródła rekordów dla raportu?

A. inny raport
B. tabela
C. zapytanie GRANT
D. zapytanie INSERT INTO
Odpowiedzi, które wskazują na inny raport, zapytanie GRANT lub zapytanie INSERT INTO jako źródła rekordów dla raportu, są niepoprawne. Inny raport, choć może zawierać dane, sam w sobie nie jest bezpośrednim źródłem do generowania nowych raportów. Może jednak posłużyć jako inspiracja lub szablon do tworzenia nowych analiz, co nie czyni go źródłem w sensie technicznym. Przykładowo, raport sprzedaży nie może być bezpośrednio wykorzystany jako źródło danych do raportu o wydatkach z powodu różnicy w kontekście i strukturze danych. Zapytanie GRANT natomiast, służy do przyznawania uprawnień użytkownikom w bazie danych, co jest zupełnie inną funkcjonalnością. Użycie tego zapytania w kontekście raportowania jest błędne, ponieważ nie ma ono związku z pozyskiwaniem danych, a jedynie z zarządzaniem dostępem. Na koniec, zapytanie INSERT INTO służy do wstawiania danych do tabel, a nie do ich pozyskiwania. Typowym błędem myślowym jest mylenie tych operacji z procesem tworzenia raportów, gdzie kluczowym elementem jest analizy danych już istniejących w tabelach, a nie dodawanie nowych danych. W kontekście tworzenia raportów, istotne jest, aby skupić się na źródłach, które już przechowują dane, a nie na operacjach, które te dane zmieniają lub manipulują.

Pytanie 14

W tabeli personel znajdują się pola: imie, nazwisko, pensja, staz. Aby otrzymać średnią pensję pracowników, dla których staż wynosi od 10 do 20 lat pracy włącznie, należy wykonać kwerendę:

A. SELECT COUNT(*) FROM personel WHERE staz >= 10 AND staz <= 20
B. SELECT AVG(*) FROM personel WHERE staz >= 10 AND staz <= 20
C. SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
D. SELECT COUNT(pensja) FROM personel WHERE staz >= 10 AND staz <= 20
Poprawna kwerenda to 'SELECT AVG(pensja) FROM personel WHERE staz >= 10 AND staz <= 20;'. Użycie funkcji AVG() jest kluczowe, gdyż jej celem jest obliczenie średniej wartości z konkretnego zestawu danych, w tym przypadku pensji pracowników z określonym stażem. Funkcja ta agreguje dane, zliczając sumę pensji i dzieląc ją przez ich liczbę, co jest standardową metodą obliczania średniej arytmetycznej. W kontekście praktycznym, taką kwerendę można wykorzystać w raportach finansowych dla działu HR, aby ocenić wynagrodzenia w zespole z odpowiednim doświadczeniem. Standardy SQL zalecają użycie funkcji agregujących, takich jak AVG(), do takich obliczeń, co zapewnia dokładność i efektywność w analizie danych. Co więcej, efektywne wykorzystanie takich zapytań pozwala na lepsze planowanie budżetu oraz strategii wynagrodzeń w organizacjach.

Pytanie 15

Jeżeli założymy, że zmienne: a, b, c mają wartości liczbowe, wynikiem spełnienia warunku będzie wyświetlenie liczby

if ($a > $b && $a > $c)
echo $a;
else if ($b > $c)
echo $b;
else
echo $c;
A. największej
B. nieparzystej
C. najmniejszej
D. parzystej
Prawidłowa odpowiedź, czyli największa liczba jest wynikiem analizy warunku, który sprawdza wartość zmiennych a, b i c. Wykorzystujemy tutaj strukturę warunkową if-else, co jest standardową techniką w wielu językach programowania, takich jak PHP czy JavaScript. Przy pierwszej linijce kodu if ($a > $b && $a > $c) echo $a sprawdzamy, czy a jest większe od b i jednocześnie większe od c. Jeśli warunek jest spełniony, wypisujemy wartość a, co oznacza, że a jest największa. Jest to zgodne z dobrą praktyką algorytmiczną, gdzie przy porównywaniu trzech wartości dokładne warunki logiczne pomagają w ustaleniu największej z nich. Struktura ta jest wydajna i łatwa do zrozumienia. Praktycznym zastosowaniem może być np. system oceniania, gdzie na podstawie kilku wyników wybieramy ten najwyższy do dalszej analizy. Prawidłowe rozpoznawanie i implementowanie takich warunków jest kluczowe w codziennej pracy programisty, który musi regularnie wybierać największe wartości do różnych zastosowań biznesowych.

Pytanie 16

Który sposób wyświetlenia tekstu NIE istnieje w JavaScript?

A. funkcja window.alert()
B. metoda document.write()
C. funkcja MessageBox()
D. właściwość innerHTML
W JavaScripcie nie istnieje funkcja MessageBox() - to konstrukcja z innych środowisk (np. Windows/VBScript). Dlatego sposobem NIEistniejącym jest MessageBox().

Pytanie 17

W języku SQL, aby dodać atrybut klucza podstawowego do pola id w istniejącej tabeli produkt należy użyć składni

A. ALTER TABLE produkt ALTER COLUMN id INT
B. ALTER TABLE produkt ADD PRIMARY KEY (id)
C. ALTER TABLE produkt DROP PRIMARY KEY
D. ALTER TABLE produkt DROP CONSTRAINT id
Poprawna składnia to ALTER TABLE produkt ADD PRIMARY KEY (id), bo dokładnie to polecenie dodaje do istniejącej tabeli nowy klucz podstawowy oparty na kolumnie id. Instrukcja ALTER TABLE służy do modyfikowania struktury tabeli, a klauzula ADD PRIMARY KEY definiuje ograniczenie (constraint) typu klucz podstawowy dla wskazanej kolumny lub zestawu kolumn. W praktyce oznacza to, że kolumna id musi być unikalna i nie może przyjmować wartości NULL. Silnik bazy danych (np. MySQL, PostgreSQL, SQL Server) zwykle tworzy do tego indeks typu UNIQUE, który przyspiesza wyszukiwanie po kluczu głównym.
Moim zdaniem warto pamiętać, że takie polecenie będzie działać tylko wtedy, gdy dane w kolumnie id już spełniają warunki klucza podstawowego: brak duplikatów i brak wartości pustych. W realnym projekcie często robi się to w dwóch krokach: najpierw uzupełnia się brakujące wartości, usuwa lub poprawia duplikaty, a dopiero potem dodaje PRIMARY KEY. Przykładowo:
ALTER TABLE produkt ADD PRIMARY KEY (id);
W wielu systemach, zwłaszcza w aplikacjach webowych, kolumna id jest też często ustawiana jako AUTO_INCREMENT (MySQL) lub używa sekwencji (PostgreSQL, Oracle). Wtedy definicja tabeli przy tworzeniu może wyglądać np. tak:
CREATE TABLE produkt (id INT PRIMARY KEY AUTO_INCREMENT, nazwa VARCHAR(100));
Jeśli jednak tabela już istnieje i kolumna id była zwykłą kolumną, to właśnie ALTER TABLE ... ADD PRIMARY KEY (id) jest standardowym, poprawnym sposobem nadania jej roli klucza głównego. To rozwiązanie jest zgodne z ogólną składnią SQL i dobrą praktyką modelowania relacyjnych baz danych, gdzie każda tabela powinna mieć jasno zdefiniowany klucz podstawowy, najlepiej prosty, stabilny i jednoznaczny.

Pytanie 18

Który atrybut należy wstawić w miejsce kropek, aby przeglądarka wyświetliła komunikat o błędzie w przypadku kliknięcia przycisku "Zapisz" bez wypełnionego pola nazwisko?

<form action="/skrypt.php" method="post">
  <input type="text" name="nazwisko" ...>
  <input type="submit" value="Zapisz">
</form>
A. pattern
B. required
C. checked
D. disable
Poprawną odpowiedzią jest atrybut „required”. Ten atrybut jest częścią wbudowanego mechanizmu walidacji formularzy HTML5 po stronie przeglądarki. Jeśli dodasz go do pola typu input, textarea czy select, przeglądarka automatycznie sprawdzi, czy użytkownik coś tam wpisał lub wybrał, zanim pozwoli wysłać formularz. W naszym przykładzie: <input type="text" name="nazwisko" required> sprawi, że kliknięcie przycisku „Zapisz” bez wypełnionego nazwiska wywoła komunikat błędu i formularz nie zostanie wysłany. To działa bez żadnego JavaScriptu i bez dodatkowego kodu po stronie serwera.
Moim zdaniem warto pamiętać, że „required” to nie tylko wygoda, ale też dobra praktyka UX – użytkownik od razu widzi, czego brakuje, a nie dopiero po przeładowaniu strony. Standard HTML5 jasno opisuje ten atrybut jako tzw. boolean attribute, czyli taki, który samą swoją obecnością w znaczniku włącza daną funkcję. Nie trzeba pisać required="required", chociaż przeglądarka i tak to zrozumie.
W praktyce używa się go bardzo często w formularzach rejestracji, logowania, zamówień: imię, nazwisko, e‑mail, hasło – wszędzie tam, gdzie pole jest obowiązkowe. Dobrze jest łączyć required z innymi atrybutami walidacyjnymi, np. type="email" czy pattern, żeby od razu kontrolować nie tylko to, czy coś wpisano, ale też czy ma poprawny format. Mimo wszystko, nawet przy użyciu required, nigdy nie wolno rezygnować z walidacji po stronie serwera, bo walidacja w przeglądarce może być wyłączona albo ominięta. Required traktuj jako pierwszą linię obrony i wygodne wsparcie dla użytkownika, a nie jedyne zabezpieczenie.

Pytanie 19

Znacznik

<pre> </pre>
służy do prezentacji:
A. znaku wielokropka
B. treści czcionką o stałej szerokości
C. znaku przekreślenia
D. treści polską czcionką
Znacznik <pre> służy do wyświetlania treści w formacie, który zachowuje oryginalne formatowanie i białe znaki. Treści umieszczone wewnątrz tego znacznika są wyświetlane czcionką o stałej szerokości (monospace), co sprawia, że każda litera i znak zajmują tę samą ilość miejsca. Jest to szczególnie przydatne przy prezentacji kodu komputerowego, danych tabelarycznych lub wszelkich innych informacji, gdzie istotne jest zachowanie struktury. Na przykład, w języku HTML, umieszczając kod CSS lub JavaScript w znaczniku <pre>, programista zapewnia, że formatowanie kodu (np. wcięcia) jest widoczne, co ułatwia czytanie i zrozumienie. Zastosowanie znacznika <pre> jest zgodne z zasadami dobrych praktyk w web designie, gdzie czytelność kodu i danych jest kluczowa dla efektywnej komunikacji z użytkownikami oraz dla poprawnego działania aplikacji webowych.

Pytanie 20

Najprostszy sposób przekształcenia obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 to

Ilustracja do pytania
A. zmiana warstwy obiektu
B. animowanie obiektu
C. geometryczne transformowanie obiektu
D. narysowanie docelowego obiektu
Geometria transformacji to niezwykle ważne pojęcie w dziedzinie grafiki komputerowej i projektowania. Polega na zmianie kształtu obiektu za pomocą operacji takich jak skalowanie, obracanie, przesuwanie czy odkształcanie. W kontekście pytania, geometria transformacji umożliwia przekształcenie obiektu oznaczonego cyfrą 1 w obiekt oznaczony cyfrą 2 poprzez zmianę jego kształtu i wielkości. Praktyczne zastosowanie transformacji geometrycznych obejmuje m.in. skalowanie w celu dostosowania rozmiarów obiektów do różnych nośników lub kontekstu wyświetlania. Obracanie jest używane do orientacji obiektów w przestrzeni, co jest niezwykle przydatne w modelowaniu 3D czy animacjach. Dobre praktyki projektowania graficznego zalecają korzystanie z transformacji geometrycznych, aby uzyskać spójną i estetyczną kompozycję. Standardy branżowe często definiują konkretne algorytmy i formaty danych dla transformacji, jak na przykład macierze przekształceń w grafice trójwymiarowej. Zrozumienie i umiejętne zastosowanie tych pojęć pozwala na efektywne tworzenie złożonych struktur wizualnych oraz interaktywnych aplikacji.

Pytanie 21

Wskaż zapytanie, w którym dane są uporządkowane.

A. SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;
B. SELECT nazwisko FROM firma WHERE pensja > 2000 LIMIT 10;
C. SELECT DISTINCT produkt, cena FROM artykuly;
D. SELECT AVG(ocena) FROM uczniowie WHERE klasa = 2;
Odpowiedź wskazująca na zapytanie "SELECT imie, nazwisko FROM mieszkancy WHERE wiek > 18 ORDER BY wiek;" jest prawidłowa, ponieważ zawiera klauzulę ORDER BY, która służy do sortowania rekordów w wynikach zapytania. W tym przypadku dane są sortowane według kolumny 'wiek', co pozwala na uzyskanie uporządkowanej listy mieszkańców, którzy mają więcej niż 18 lat. Sortowanie danych jest kluczowym aspektem w zarządzaniu bazami danych, umożliwiającym łatwiejsze wyszukiwanie oraz analizę informacji. Przykładem zastosowania może być generowanie raportów, gdzie istotne jest uporządkowanie danych, na przykład według wieku, aby zobaczyć, jak rozkłada się wiek mieszkańców w danej grupie. Dodatkowo, stosowanie sortowania zgodnie z przyjętymi standardami SQL zwiększa czytelność oraz efektywność zapytań, a także ułatwia rozwiązywanie problemów związanych z przetwarzaniem danych.

Pytanie 22

Które reguły CSS poprawnie ustawiają dla akapitu czcionkę Arial, rozmiar 16 pt i pochylenie (kursywę)?

A.
p { font-style: Arial; font-size: 16pt; font-variant: normal; }
B.
p { font-family: Arial; font-size: 16pt; font-style: italic; }
C.
p { font-style: Arial; size: 16px; font-weight: normal; }
D.
p { font-family: Arial; font-size: 16px; font-variant: normal; }
Wygląd czcionki opisują w CSS trzy osobne właściwości: font-family ustala krój (np. Arial), font-size - rozmiar (tu 16pt, bo zadano punkty, a nie piksele), a font-style: italic włącza pochylenie. Razem daje to p { font-family: Arial; font-size: 16pt; font-style: italic; }. Warto pamiętać, że font-style odpowiada za kursywę, a font-weight za grubość - to częste źródło pomyłek. Dlatego poprawny jest ten zestaw reguł.

Pytanie 23

Który operator w PHP oznacza sumę logiczną (logiczne LUB)?

A.
||
B.
+
C.
!
D.
&&
Pozostałe operatory oznaczają co innego. && to iloczyn logiczny (logiczne ORAZ) - wymaga obu warunków, czyli przeciwieństwo „lub”. ! to NEGACJA (odwraca wartość logiczną). + to dodawanie arytmetyczne. Sumę logiczną daje ||.

Pytanie 24

Pole insert_id zdefiniowane w bibliotece MySQLi języka PHP może być wykorzystane do

A. otrzymania kodu błędu, gdy wstawienie wiersza się nie powiodło
B. pobrania najwyższego indeksu bazy, aby po jego zwiększeniu wstawić pod niego dane
C. uzyskania id ostatnio dodanego wiersza
D. uzyskania pierwszego dostępnego indeksu bazy, tak, aby można było pod nim wstawić nowe dane
Pole insert_id w bibliotece MySQLi języka PHP jest niezwykle przydatne w kontekście zarządzania danymi w bazach danych. Głównym celem tego pola jest umożliwienie programistom uzyskania identyfikatora (ID) ostatnio wstawionego wiersza do bazy danych. Ta funkcjonalność jest kluczowa, gdyż wiele aplikacji wymaga odniesienia do nowo dodanych rekordów, szczególnie w sytuacjach, gdy w tabelach stosowane są klucze główne typu AUTO_INCREMENT. Przykładowo, po dodaniu rekordu do tabeli użytkowników, programista może użyć funkcji mysqli_insert_id(), aby pobrać ID tego rekordu i wykorzystać je do dalszych operacji, takich jak dodawanie powiązanych danych w innej tabeli. Tego typu mechanizmy są zgodne z najlepszymi praktykami w zakresie zarządzania danymi, zapewniając spójność i bezpieczeństwo operacji na bazach danych. Warto także pamiętać, że poprawne zarządzanie ID pozwala uniknąć problemów z duplikacją i zapewnia, że aplikacja może dynamicznie dopasowywać swoje czynności do aktualnych danych.

Pytanie 25

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Anna
B. Krzysztof
C. Tomasz
D. Aleksandra
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 26

Jaki jest cel funkcji napisanej w PHP?

$zapytanie = mysql_query("SELECT * FROM napisy");
A. nawiązanie połączenia z bazą danych
B. uzyskanie danych z bazy danych
C. zmianę hasła do bazy danych
D. ochronę bazy danych
Podana funkcja w języku PHP demonstruje zastosowanie polecenia SQL SELECT które jest używane do pobierania danych z bazy danych MySQL. Funkcja mysql_query jest używana do wykonywania zapytań SQL w kontekście bazy danych MySQL. W tym przypadku zapytanie SQL SELECT * FROM napisy pobiera wszystkie rekordy z tabeli o nazwie napisy. W praktyce wybór danych przy użyciu komendy SELECT jest kluczowy w aplikacjach PHP które działają z bazami danych ponieważ pozwala na dynamiczne generowanie zawartości strony internetowej w oparciu o informacje przechowywane w bazie. Ważne jest przestrzeganie najlepszych praktyk takich jak użycie funkcji mysqli_query czy PDO w nowych aplikacjach PHP w celu zapewnienia bezpieczeństwa i wydajności ponieważ mysql_query jest przestarzałe. Dodatkowo należy stosować techniki zabezpieczające przed SQL injection takie jak przygotowane zapytania co zwiększa bezpieczeństwo aplikacji

Pytanie 27

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
B. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
C. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
D. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.

Pytanie 28

W MS SQL Server rola predefiniowana o nazwie dbcreator umożliwia użytkownikowi

A. tworzenie, modyfikowanie, usuwanie oraz przywracanie bazy danych
B. zarządzanie bezpieczeństwem systemu
C. wykonywanie wszelkich operacji na serwerze i posiadanie praw do każdej bazy
D. zarządzanie plikami na dysku
Wybór niewłaściwej odpowiedzi jest powszechnym błędem związanym z myleniem ról i uprawnień w MS SQL Server. Na przykład, stwierdzenie, że rola dbcreator pozwala na zarządzanie bezpieczeństwem systemu, jest nieprawidłowe, ponieważ bezpieczeństwo bazy danych i systemu zarządzania bazami danych w SQL Server podlega głównie roli sysadmin oraz uprawnieniom przyznanym przez administratorów. Rola dbcreator koncentruje się na operacjach dotyczących baz danych, a nie na bezpieczeństwie. Podobnie, stwierdzenie, że ta rola umożliwia zarządzanie plikami na dysku, jest błędne; te operacje są związane z rolą, która zarządza systemowymi operacjami plików, a nie bezpośrednio z rolą dbcreator. Natomiast twierdzenie, że rola ta pozwala na wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy, jest całkowicie mylące, ponieważ taka szeroka moc jest zarezerwowana dla roli sysadmin, która nie ma ograniczeń w działaniach na serwerze SQL. Zrozumienie tych różnic jest niezbędne dla prawidłowego zarządzania uprawnieniami w systemach bazodanowych i może pomóc w uniknięciu kompromitacji danych czy nieautoryzowanego dostępu do krytycznych informacji. W przypadku nadawania uprawnień zawsze należy kierować się zasadą minimalnych uprawnień, aby zredukować ryzyko związane z nieautoryzowanym dostępem i zmianami. Zachowanie spójności w przydzielaniu ról i uprawnień jest kluczowe dla bezpieczeństwa i prawidłowego funkcjonowania systemów bazodanowych.

Pytanie 29

Które polecenie naprawi uszkodzoną tabelę?

A.
OPTIMIZE TABLE tbl_name
B.
REPAIR TABLE tbl_name
C.
REGENERATE TABLE tbl_name
D.
ANALYZE TABLE tbl_name
Uszkodzoną tabelę naprawia polecenie REPAIR TABLE tbl_name - próbuje odbudować jej strukturę i indeksy po awarii (np. przerwanym zapisie). Zapamiętaj nazwę wprost: „repair” = napraw tabelę.

Pytanie 30

Jaką właściwość pola w tabeli powinno się ustawić, aby akceptowało ono wyłącznie dane liczbowe?

Ilustracja do pytania
A. Tagi inteligentne
B. Maskę wprowadzania
C. Wartość domyślną
D. Regułę sprawdzania poprawności
Maska wprowadzania to opcja pozwalająca na zdefiniowanie wzorca, według którego użytkownicy mogą wprowadzać dane do pola w bazie danych. W przypadku konieczności przyjmowania wyłącznie cyfr, maska wprowadzania może ograniczyć użytkownika do wpisywania numerów, co jest szczególnie przydatne w aplikacjach wymagających precyzyjnego formatu danych, takich jak numery telefonów, kody pocztowe czy numery identyfikacyjne. Maska zapewnia spójność danych oraz minimalizuje ryzyko błędnych wpisów. Przykładowo, maska 0000-000-000 może być użyta do wymuszenia formatu numeru telefonu, gdzie każda liczba 0 reprezentuje wymaganą cyfrę. W branży IT oraz w procesie projektowania systemów bazodanowych, takie rozwiązania przyczyniają się do podniesienia jakości danych oraz upraszczają proces ich przetwarzania. Stosowanie masek wprowadzania jest zgodne z najlepszymi praktykami w dziedzinie zarządzania danymi, które podkreślają znaczenie walidacji danych na poziomie aplikacji oraz baz danych, aby uniknąć nieprawidłowych lub niekompletnych danych w systemie.

Pytanie 31

W bazie danych samochodów pole kolor z tabeli samochody przyjmuje wartości kolorów jedynie ze słownika lakier. Aby połączyć tabele samochody i lakier relacją należy, zastosować kwerendę

A. ALTER TABLE samochody
   ADD FOREIGN KEY kolor REFERENCES lakier;

B. ALTER TABLE samochody
   ADD FOREIGN KEY (kolor) REFERENCES lakier(lakierId);

C. ALTER TABLE samochody
   ADD FOREIGN KEY barwa REFERENCES samochody.lakier;

D. ALTER TABLE lakier
   ADD FOREIGN KEY (barwa) REFERENCES samochody(kolor);
A. D.
B. B.
C. A.
D. C.
Błędne odpowiedzi wynikają z niezrozumienia jak działa łączenie tabel w SQL lub z błędów w składni. W przypadku relacji między tabelami, klucz obcy w jednej tabeli odpowiada kluczowi głównemu w drugiej tabeli. Tymczasem, niektóre z błędnych odpowiedzi zawierają niewłaściwe odniesienia do kluczy głównych i obcych. Próby utworzenia klucza obcego bez odwołania do odpowiadającego mu klucza głównego, lub odwołanie się do nieistniejących pól w tabeli, skutkują błędami i niepoprawnym działaniem bazy danych. Błędy w składni SQL, takie jak niepoprawne użycie słów kluczowych czy polecenia utworzenia klucza obcego, mogą także prowadzić do nieprawidłowych wyników. Zrozumienie relacji między tabelami i prawidłowe stosowanie składni SQL są kluczowe dla efektywnej pracy z bazami danych.

Pytanie 32

W sklepie internetowym wykorzystuje się tabelę faktura. W trakcie generowania faktury pole dataPlatnosci nie zawsze jest uzupełnione. Aby to skorygować, pod koniec dnia należy wprowadzić bieżącą datę do wierszy, gdzie to pole jest puste. W tym celu można wykorzystać kwerendę

A. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL
B. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL
C. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00'
D. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3
Poprawna odpowiedź to 'UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;'. Ta kwerenda jest odpowiednia, ponieważ aktualizuje pole 'dataPlatnosci' w tabeli 'faktury' tylko w tych wierszach, gdzie to pole jest puste (NULL). Użycie funkcji CURDATE() pozwala na wprowadzenie aktualnej daty, co jest praktycznym rozwiązaniem dla problemu niewypełnionych dat płatności. Warto pamiętać, że korzystanie z NULL jest standardem w bazach danych, który oznacza brak wartości. Z perspektywy dobrych praktyk w zarządzaniu danymi, ważne jest, aby dbać o pełność danych, co wpływa na późniejsze analizy i generowanie raportów. Tego rodzaju kwerendy powinny być stosowane regularnie, aby zapewnić integralność i aktualność danych w systemie, co jest kluczowe w kontekście e-commerce, gdzie terminowość transakcji ma istotne znaczenie. Na przykład, w sytuacji, gdy system generuje raporty dotyczące płatności, brak daty płatności może prowadzić do nieprawidłowych wniosków.

Pytanie 33

Aby zadeklarować pole klasy, do którego dostęp mają jedynie metody tej klasy, a które nie jest dostępne dla klas pochodnych, należy użyć kwalifikatora dostępu

A. publikowany
B. publiczny
C. prywatny
D. chroniony
Kluczem jest tu sformułowanie „dostęp mają jedynie metody tej klasy” oraz wykluczenie klas pochodnych. Modyfikator public robi dokładnie odwrotność - otwiera pole na cały program, więc odwoła się do niego każdy kod, łącznie z obcymi klasami; o żadnym ukryciu danych nie ma mowy. Kuszący bywa protected, bo faktycznie ogranicza dostęp, ale o jeden poziom za mało: pole chronione widzą metody tej klasy oraz wszystkich klas dziedziczących, a w pytaniu klasy pochodne mają być właśnie odcięte. „Publikowany” to z kolei pułapka - taki modyfikator dostępu nie występuje w popularnych językach obiektowych (Java, C#, C++, PHP), więc nie ma czego z nim porównywać. Pozostaje private, który zamyka pole w obrębie jednej klasy i jako jedyny spełnia oba warunki: dostęp tylko z metod tej klasy i brak dostępu dla potomków.

Pytanie 34

Znacznik <ins> w HTML ma na celu wskazanie

A. bloku tekstu, który jest cytowany
B. tekstu, który został przerobiony
C. tekstu, który został usunięty
D. tekstu, który został dodany
Znaczniki HTML mają swoje ściśle określone funkcje i znaczenie, a błędna interpretacja ich roli może prowadzić do nieodpowiedniego użycia w tworzeniu stron internetowych. Jednym z typowych błędów jest mylenie znacznika <ins> z innymi elementami, takimi jak <del>, który służy do oznaczania tekstu usuniętego. Element <del> jest używany do wskazania, że dany tekst został wykreślony lub usunięty z dokumentu, co jest przeciwieństwem działania znacznika <ins>. Innym mylnym przekonaniem jest przypisywanie elementowi <ins> funkcji formatowania tekstu, co nie jest jego przeznaczeniem. Znacznik <ins> nie służy do zmiany stylu tekstu, a do wskazywania, które fragmenty tekstu zostały dodane w porównaniu do wcześniejszej wersji. Kolejnym wartym uwagi aspektem jest to, że element <ins> nie jest przeznaczony do oznaczania cytatów. Cytaty są zazwyczaj oznaczane za pomocą znacznika <blockquote> lub <q>, które mają zupełnie inne cele. Zachowanie zgodności ze standardami HTML oraz właściwe użycie znaczników semantycznych ma kluczowe znaczenie dla tworzenia dostępnych i zrozumiałych stron internetowych. Niezrozumienie funkcji danego znacznika może prowadzić do poważnych konsekwencji, takich jak trudności w indeksowaniu przez wyszukiwarki, co w efekcie wpływa na widoczność strony w Internecie.

Pytanie 35

Model barw o parametrach: odcień, nasycenie, jasność i przezroczystość to:

A. RGBA
B. sRGB
C. CMYK
D. HSLA
Model o parametrach odcień, nasycenie, jasność ORAZ przezroczystość (alfa) to HSLA - rozszerzenie HSL o kanał alfa. Dlatego mowa o modelu HSLA.

Pytanie 36

Poniżej przedstawiono fragment kodu w języku PHP. Jakie liczby wypisze ta pętla jako wynik swojego działania?

for ($i = 0; $i <= 20; $i += 4)
echo $i . ' ';
A. 0,4,8,12,16,20
B. 0,4,8,12,16
C. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
D. 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
Kiedy patrzymy na ten kod pętli for, musimy zrozumieć, jak działają trzy ważne rzeczy: co się dzieje na początku, jaki jest warunek do dalszego działania i jak zmieniamy naszą zmienną. W tym przypadku pętla zaczyna od 0 i dodaje 4, aż dojdzie do 20. Czasem błędne odpowiedzi wynikają z tego, że nie do końca rozumiemy, jak działa ten warunek, albo z jaką wartością inkrementujemy. Często myślimy, że pętla skończy się przed 20, a to nie jest prawda. Inną pułapką jest zrozumienie, że dodawanie 4 to nie to samo, co branie wszystkich liczb od 0 do 20. Dobrze jest znać zasady działania pętli for, bo to pomaga w rozwiązywaniu problemów w programowaniu i sprawia, że kod działa lepiej. Przy budowaniu takich pętli pamiętajmy o precyzyjnym definiowaniu warunków i tego, jak zmieniamy wartości, bo to ważne dla uzyskania wyników, które chcemy.

Pytanie 37

Wskaż prawdziwe stwierdzenie dotyczące polecenia:

CREATE TABLE IF NOT EXISTS adres (ulica VARCHAR(70) CHARACTER SET utf8);
A. Rekordem tabeli nie może być '3 MAJA'.
B. IF NOT EXISTS stosuje się opcjonalnie, aby upewnić się, że w bazie danych nie istnieje już taka tabela.
C. Do tabeli nie można wprowadzać nazw ulic zawierających polskie znaki.
D. Klauzula CHARACTER SET utf8 jest obowiązkowa.
Dobrze, że wybrałeś właściwą odpowiedź! Polecenie CREATE TABLE IF NOT EXISTS jest rzeczywiście używane w SQL, aby stworzyć tabelę tylko wtedy, gdy nie istnieje ona już w bazie danych. To jest bardzo praktyczne narzędzie, które pozwala uniknąć błędów, gdy próbujemy stworzyć tabelę, która już istnieje. Jest to zgodne z dobrymi praktykami zarządzania danymi i jest oparte na standardach SQL. Dodatkowo, warto pamiętać, że klauzula CHARACTER SET utf8, chociaż nie jest obowiązkowa, pozwala na przechowywanie znaków specjalnych, w tym polskich. Jest to ważne, gdy pracujemy z danymi, które zawierają różne zestawy znaków. Dlatego, nawet jeśli nie jest to wymagane, często jest to dobra praktyka. Podobnie, warto pamiętać, że typ danych VARCHAR(70) pozwala na przechowywanie dowolnych ciągów znaków, w tym dat i nazw, więc nie ma żadnych ograniczeń co do tego, jakie informacje mogą być przechowywane w tabeli.

Pytanie 38

W języku JavaScript, aby uzyskać element wykorzystując metodę getElementById, jaką właściwością można zmienić jego zawartość?

A. innerBody
B. HTML
C. Body
D. innerHTML
Właściwość innerHTML jest kluczowym elementem manipulacji zawartością DOM (Document Object Model) w JavaScript. Umożliwia ona programistom dostęp do zawartości danego elementu HTML oraz jej modyfikację. Gdy pobieramy element za pomocą metody getElementById, mamy możliwość bezpośredniego zmienienia jego treści poprzez przypisanie nowego stringa do innerHTML. Przykładowo, jeśli mamy element o identyfikatorze 'myElement', możemy zaktualizować jego zawartość w następujący sposób: document.getElementById('myElement').innerHTML = 'Nowa treść!';. To podejście jest powszechnie stosowane w dynamicznych aplikacjach internetowych, gdzie treść na stronie musi być często aktualizowana w odpowiedzi na działania użytkownika. Warto jednak pamiętać, że użycie innerHTML niesie ze sobą pewne ryzyko związane z bezpieczeństwem, takie jak podatność na ataki XSS (Cross-Site Scripting). Dlatego zaleca się stosowanie tej właściwości z ostrożnością i rozważenie alternatyw, jak np. textContent, w przypadku, gdy nie potrzebujemy interpretować HTML. Dobrą praktyką jest również walidacja i sanitizacja danych wejściowych, aby zminimalizować ryzyko związane z wstrzyknięciem niepożądanych skryptów. W kontekście standardów kodowania, zasadniczo zaleca się preferowanie metod, które nie tylko poprawiają bezpieczeństwo, ale także czytelność kodu.

Pytanie 39

Który zapis poprawnie ustawia w CSS niebieski kolor tekstu?

A.
color: blue;
B.
text-color: blue;
C.
color: (blue);
D.
font-color: blue;
Kolor tekstu w CSS ustawia właściwość color. Wartość można podać jako nazwę (blue), zapis szesnastkowy (#0000ff) lub funkcję (rgb(0,0,255)). Poprawny zapis to więc color: blue;. Dlatego to ta deklaracja ustawia niebieski kolor tekstu.

Pytanie 40

Co powinien umożliwiać edytor działający w trybie WYSIWYG?

A. tworzenie podstawowej grafiki wektorowej
B. obróbkę plików dźwiękowych
C. publikację strony przez wbudowany klient FTP
D. uzyskanie wyglądu strony zbliżonego do jej obrazu w przeglądarce
WYSIWYG dotyczy edycji z podglądem wyglądu, a nie innych funkcji. Tworzenie grafiki wektorowej, klient FTP do publikacji czy obróbka dźwięku to osobne narzędzia. Istotą WYSIWYG jest uzyskanie wyglądu zbliżonego do obrazu strony w przeglądarce.