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 kwietnia 2026 11:30
  • Data zakończenia: 8 kwietnia 2026 12:08

Egzamin zdany!

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

Wymagane minimum: 20 punktów (50%)

Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Pole insert_id zdefiniowane w bibliotece MySQLi w języku PHP może służyć do

A. pobrania najwyższego indeksu z bazy, aby po jego inkrementacji wstawić pod niego dane
B. pobrania pierwszego dostępnego indeksu w bazie, tak aby można było pod nim dodać nowe dane
C. uzyskania id ostatnio dodanego wiersza
D. pozyskania kodu błędu, jeśli proces dodawania wiersza się nie powiódł
Pole insert_id w bibliotece MySQLi w języku PHP jest kluczowym narzędziem do uzyskiwania identyfikatora (ID) ostatnio wstawionego rekordu w bazie danych. Jest to szczególnie przydatne w kontekście operacji wstawiania nowych danych, gdzie często chcemy wiedzieć, jaki identyfikator został przypisany do nowego rekordu, aby móc go później wykorzystać, na przykład w odniesieniach do powiązanych tabel. W praktyce, po wykonaniu zapytania INSERT, możemy od razu pobrać ID nowo wstawionego rekordu, co jest istotne w relacyjnych bazach danych, gdzie klucze główne są często generowane automatycznie. Przykładowe zastosowanie to sytuacja, gdy wstawiamy nowego użytkownika do tabeli 'users' i chcemy również dodać rekord do tabeli 'profiles', który będzie powiązany z tym użytkownikiem. Wówczas, po wstawieniu użytkownika, możemy użyć insert_id, aby uzyskać jego ID i użyć go do wstawienia do 'profiles'. Używanie insert_id jest zgodne z najlepszymi praktykami, które zalecają minimalizowanie liczby zapytań do bazy danych oraz zapewnienie spójności danych.

Pytanie 2

Jak można zmodyfikować nałożone na siebie fragmenty obrazu, nie zmieniając innych elementów?

A. Kanał przezroczystości
B. Warstwy
C. Wykres histogramu
D. Przycinanie
Warstwy są kluczowym elementem w edycji grafiki komputerowej, umożliwiając precyzyjne zarządzanie różnymi elementami obrazu. Dzięki zastosowaniu warstw, użytkownik może na przykład oddzielić tło od obiektów na pierwszym planie, co pozwala na edytowanie jednego z tych elementów bez wpływu na resztę kompozycji. Zastosowanie warstw jest szczególnie przydatne w programach graficznych, takich jak Adobe Photoshop, GIMP czy CorelDRAW, gdzie umożliwia łatwą manipulację oraz efektywną organizację projektu. Dzięki warstwom można również stosować różne efekty i style, takie jak cienie, przezroczystości czy gradienty, co pozwala na stworzenie bardziej złożonych i interesujących grafik. Warto również zauważyć, że korzystanie z warstw jest zgodne z najlepszymi praktykami w branży, jako że sprzyja to lepszej organizacji pracy oraz ułatwia wprowadzanie zmian w projekcie. Uczy to również umiejętności przydatnych w pracy zespołowej, gdzie różne osoby mogą pracować nad różnymi warstwami równocześnie, co zwiększa efektywność i kreatywność procesu twórczego.

Pytanie 3

W HTML5 semantycznym znacznikiem, który służy do określenia dwóch sekcji widocznych po prawej stronie na rysunku, zawierających wiadomości oraz aktualności, jest

Ilustracja do pytania
A. <footer>
B. <nav>
C. <article>
D. <main>
Element <article> w HTML5 został stworzony właśnie do oznaczania niezależnych, samodzielnych treści, które mają sens nawet poza kontekstem strony – czyli takich, które można zamieścić np. w RSS, podlinkować czy udostępnić osobno. W praktyce oznacza to np. pojedyncze wpisy na blogu, wiadomości, ogłoszenia czy aktualności – dokładnie tak jak w tym zadaniu. Dzięki użyciu <article>, osoby korzystające z czytników ekranowych czy wyszukiwarek łatwiej rozpoznają strukturę strony, bo semantyka jest czytelna dla maszyn. Z mojego doświadczenia, stosowanie <article> dla wiadomości i aktualności jest też zgodne z dobrą praktyką tworzenia dostępnych stron – Google nawet sugeruje, by tak wyodrębniać własne, kompletne treści. To ma ogromne znaczenie przy pozycjonowaniu (SEO), bo roboty wyszukiwarek potrafią lepiej rozumieć, co jest główną treścią strony. Dodatkowo, używanie odpowiednich znaczników semantycznych poprawia współpracę z różnymi narzędziami, które analizują układ i zawartość strony, a także ułatwia późniejszą przebudowę lub rozwój projektu. Moim zdaniem, nadanie sekcjom z wiadomościami i aktualnościami znacznika <article> to podstawa nowoczesnego kodowania stron internetowych.

Pytanie 4

Jakie są właściwe etapy tworzenia bazy danych?

A. Zdefiniowanie celu, utworzenie relacji, stworzenie tabel, normalizacja
B. Zdefiniowanie celu, stworzenie tabel, utworzenie relacji, normalizacja
C. Zdefiniowanie celu, normalizacja, utworzenie relacji, stworzenie tabel
D. Zdefiniowanie celu, normalizacja, stworzenie tabel, utworzenie relacji
W procesie tworzenia bazy danych kluczowym pierwszym krokiem jest określenie celu, który pozwala zrozumieć, jakie dane będą gromadzone oraz jakie operacje będą na nich wykonywane. Następnie przystępuje się do stworzenia tabel, które stanowią fundamentalne elementy bazy danych. Każda tabela powinna odpowiadać określonym kategoriom danych, a ich struktura powinna być dobrze przemyślana, aby umożliwić efektywne przechowywanie, zarządzanie oraz odczytywanie informacji. Po utworzeniu tabel ważne jest, aby zdefiniować relacje między nimi, co umożliwia integrację danych oraz ich logiczne powiązanie. Na końcu procesu następuje normalizacja, która ma na celu eliminację redundancji danych oraz zwiększenie integralności bazy, co przekłada się na jej wydajność. Przykładem może być stworzenie bazy danych dla systemu zarządzania uczelnią, gdzie tabele odpowiadają za studentów, kursy i wykładowców. Właściwe zdefiniowanie relacji pomoże w zrozumieniu, którzy studenci uczą się na jakich kursach, a normalizacja zabezpieczy przed powielaniem danych.

Pytanie 5

Ustanowienie klucza obcego jest konieczne do stworzenia

A. relacji 1..1
B. transakcji
C. relacji 1..n
D. klucza podstawowego
Zdefiniowanie klucza obcego nie jest związane z tworzeniem transakcji. Transakcje w bazach danych dotyczą grupy operacji, które są wykonane jako jedna jednostka. Klucz obcy odpowiada za relacje między danymi a nie za sposób ich przetwarzania. Nie można również zdefiniować klucza obcego w kontekście relacji 1..1, ponieważ klucz obcy pokazuje powiązanie, gdzie jeden rekord może być związany z wieloma rekordami w innej tabeli. W relacjach 1..1, każdy rekord w jednej tabeli ma dokładnie jeden odpowiadający rekord w drugiej tabeli, co nie wymaga użycia klucza obcego. Ponadto, klucz obcy nie ma nic wspólnego z kluczem podstawowym. Klucz podstawowy (primary key) jest unikalnym identyfikatorem rekordu w tabeli, podczas gdy klucz obcy wskazuje na klucz podstawowy w innej tabeli. W związku z tym, zdefiniowanie klucza obcego ma na celu ustanowienie relacji między różnymi tabelami, a nie transakcji czy relacji 1..1, ani klucza podstawowego.

Pytanie 6

Baza danych MySQL została uszkodzona. Które z poniższych działań nie przyczyni się do jej naprawy?

A. Odtworzenie bazy z kopii zapasowej
B. Próba naprawy za pomocą polecenia REPAIR
C. Wykonanie replikacji bazy danych
D. Utworzenie nowej bazy i przeniesienie do niej tabel
Wykonanie replikacji bazy danych nie pomoże w naprawie uszkodzonej bazy MySQL, ponieważ replikacja jest procesem, który tworzy kopię danych z jednej bazy danych do drugiej. Gdy źródłowa baza danych jest uszkodzona, replikacja jedynie skopiuje te uszkodzone dane do bazy docelowej, co prowadzi do dalszych problemów. Zamiast naprawić uszkodzenia, replikacja może nawet pogorszyć sytuację, ponieważ błędne dane zostaną powielone. W praktyce, zanim podejmie się próbę replikacji, konieczne jest ustalenie, czy źródłowa baza danych jest w dobrym stanie. Warto również zwrócić uwagę na standardy zarządzania bazami danych, które zalecają regularne wykonywanie kopii zapasowych oraz monitorowanie stanu bazy danych. W przypadku uszkodzeń zawsze lepiej jest najpierw spróbować naprawić bazę lub przywrócić ją z kopii zapasowej, zanim podejmie się działania związane z replikacją, aby uniknąć propagacji błędów.

Pytanie 7

Emblemat systemu CMS o nazwie Joomla! to

Ilustracja do pytania
A. Rys. B
B. Rys. A
C. Rys. D
D. Rys. C
Prawidłową odpowiedzią na to pytanie jest Rys. B, który przedstawia logo systemu Joomla!. Joomla! to jeden z najpopularniejszych systemów zarządzania treścią (CMS), używany do tworzenia stron internetowych i aplikacji online. Logo Joomla! składa się z czterech złączonych elementów, które symbolizują społeczność i współpracę, kluczowe wartości tej platformy open source. Joomla! oferuje wiele funkcji takich jak łatwe zarządzanie treścią, rozszerzalność przez moduły i komponenty oraz szerokie wsparcie dla różnych formatów multimedialnych. Platforma ta jest ceniona za elastyczność i możliwość dostosowania do specyficznych potrzeb projektowych, co czyni ją idealnym wyborem dla różnych typów stron, od prostych witryn po skomplikowane portale biznesowe. Wybierając Joomla! zyskujemy dostęp do społeczności deweloperów oraz bogatej bazy zasobów edukacyjnych i wsparcia technicznego. Zrozumienie znaczenia i zastosowania systemów CMS jak Joomla! jest kluczowe dla specjalistów zajmujących się tworzeniem i zarządzaniem stronami internetowymi, ponieważ umożliwia efektywną obsługę i rozwój dynamicznych treści.

Pytanie 8

W języku JavaScript trzeba sformułować warunek, który będzie spełniony, gdy zmienna a będzie dowolną liczbą naturalną dodatnią (więcej niż 0) lub gdy zmienna b będzie dowolną liczbą z przedziału domkniętego od 10 do 100. Wyrażenie logiczne w tym warunku powinno mieć postać

A. (a > 0) && ((b >= 10) || (b <= 100))
B. (a > 0) || ((b >= 10) || (b <= 100))
C. (a > 0) && ((b >= 10) && (b <= 100))
D. (a > 0) || ((b >= 10) && (b <= 100))
Poprawna odpowiedź (a > 0) || ((b >= 10) && (b <= 100)) uwzględnia wymaganie, aby warunek był spełniony, gdy zmienna a jest liczbą naturalną dodatnią bądź zmienna b znajduje się w przedziale od 10 do 100, włącznie. W tym przypadku użycie operatora logicznego '||' (lub) jest kluczowe, ponieważ wystarczy, że jeden z warunków będzie prawdziwy, aby cały warunek był spełniony. Przykładem może być skrypt walidujący dane wejściowe użytkownika: jeśli zmienna a przechowuje wartość 5 (czyli liczbę naturalną dodatnią), to niezależnie od wartości zmiennej b, warunek będzie prawdziwy. Analogicznie, jeśli a wynosi 0, a b = 15, warunek również będzie spełniony, ponieważ b mieści się w wymaganym przedziale. Taka konstrukcja warunku jest zgodna z dobrą praktyką programistyczną, gdyż pozwala na jasne i zrozumiałe określenie, kiedy pewne zasady powinny być stosowane. Zastosowanie operatorów logicznych w taki sposób wspiera tworzenie czytelnych i elastycznych warunków, co jest istotne w kontekście utrzymania kodu i jego przyszłych modyfikacji.

Pytanie 9

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

var imiona = ["Anna", "Jakub", "Iwona", "Krzysztof"];
A. klasy
B. obiektu
C. zbioru
D. tablicy
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 10

Element

<meta charset="utf-8">
służy do definiowania metadanych witryny internetowej związanych z
A. językiem witryny
B. kodowaniem znaków
C. opisem witryny
D. słowami kluczowymi
Element <meta charset="utf-8"> jest kluczowym fragmentem kodu HTML, który definiuje kodowanie znaków używane na stronie internetowej. Ustawienie kodowania na UTF-8 jest obecnie standardem branżowym, który pozwala na prawidłowe wyświetlanie tekstów w różnych językach, a także obsługę różnorodnych znaków specjalnych. Dzięki temu strona będzie renderować się poprawnie niezależnie od używanego języka, co jest szczególnie istotne w kontekście globalizacji i dostępności treści dla szerokiego grona użytkowników. W praktyce, poprawne kodowanie znaków eliminuje problemy z wyświetlaniem polskich znaków diakrytycznych, takich jak ą, ć, ę, ł czy ź. Warto także zauważyć, że błędne ustawienie kodowania może prowadzić do tzw. "krzaków" w treści, co znacząco obniża jakość prezentacji strony oraz jej użyteczność. Dlatego zaleca się zawsze stosować <meta charset="utf-8"> w nagłówku dokumentu HTML, aby zapewnić pełną kompatybilność i poprawność wyświetlania treści w różnych przeglądarkach i systemach operacyjnych.

Pytanie 11

W przypadku zaprezentowanego fragmentu kodu HTML, zdefiniowano zasady CSS dla selektora klasy "menu", aby tło bloku miało kolor zielony. Która z poniższych definicji stylu CSS jest zgodna z tym formatowaniem?

A. div.menu { background-color: green; }
B. div:menu { color: green; }
C. menu { background-color: rgb(0,255,0); }
D. #menu { background-color: rgb(0,255,0); }
Wybór stylu CSS, który nie odnosi się do selektora klasy w sposób prawidłowy, prowadzi do nieprawidłowych rezultatów w stylizacji dokumentów HTML. W przypadku selektora 'div:menu', użycie dwukropka sugeruje pseudo-klasę, co jest niewłaściwe w kontekście definiowania stylów dla klasy. Pseudo-klasy są używane do selekcji elementów w określonym stanie, a nie do wywoływania klas. Z kolei 'menu { background-color: rgb(0,255,0); }' jest błędne, ponieważ nie określa, że odnosi się do elementów HTML, co jest kluczowe w CSS. Selektor sam w sobie bez jakiegokolwiek kontekstu HTML nie ma sensu, ponieważ CSS musi odnosić się do istniejących elementów. Ponadto, użycie '#' wskazuje na identyfikator, a nie klasę, co również prowadzi do pomyłki. Użycie identyfikatora 'menu' sugeruje, że na stronie powinien istnieć element z atrybutem id='menu', co nie ma miejsca w podanym przykładzie. Często popełnianym błędem jest pomijanie kontekstu w selektorach, co prowadzi do nieprawidłowego stylu. Kluczowym jest zrozumienie, że CSS jest hierarchiczne i selektory muszą być używane w sposób, który odzwierciedla rzeczywistą strukturę HTML, aby osiągnąć zamierzony efekt wizualny.

Pytanie 12

Jak nazywa się metoda, która pozwala na nawiązanie asynchronicznego połączenia klienta z serwerem oraz umożliwia wymianę danych bez konieczności przeładowania całej strony WWW?

A. VBScript
B. AJAX
C. PHP
D. XML
Wybór odpowiedzi nieprawidłowych, takich jak PHP, XML czy VBScript, wskazuje na częste nieporozumienia dotyczące funkcji oraz zastosowania tych technologii w kontekście komunikacji klient-serwer. PHP to język skryptowy wykorzystywany głównie do generowania dynamicznej treści na serwerze. Chociaż PHP może być używane do obsługi żądań z AJAX, samo w sobie nie zapewnia asynchroniczności ani nie umożliwia komunikacji bez przeładowania strony. XML, mimo że jest formatem danych, nie jest techniką komunikacyjną. Może być wykorzystywane w AJAX jako format przesyłania danych, ale nie jest to jego główne zastosowanie. VBScript to język skryptowy, który jest przestarzały i nie jest odpowiedni do nowoczesnych aplikacji internetowych. Wybierając te odpowiedzi, można popaść w błąd, sądząc, że różne technologie mają podobne zastosowania, co prowadzi do nieporozumień dotyczących struktury aplikacji internetowych. Ważne jest zrozumienie roli, jaką różne technologie odgrywają w architekturze aplikacji, aby właściwie wykorzystywać ich możliwości w praktyce.

Pytanie 13

Jakie oznaczenie w języku PHP wskazuje na komentarz wieloliniowy?

A. /* */
B. //
C. #
D. <!-- -->
Istnieje wiele błędnych przekonań na temat różnych typów komentarzy w PHP, co może prowadzić do nieprawidłowych wniosków. Opcja // definiuje komentarze jednoliniowe, które są używane do dokumentowania pojedynczych linijek kodu i są ignorowane do końca danej linii. Ten typ komentarzy jest przydatny do krótkich notatek, ale nie nadaje się do bardziej skomplikowanych opisów, które wymagają kilku linii. Z kolei <!-- --> jest składnią HTML i nie jest akceptowany w PHP jako sposób definiowania komentarzy. Używanie tej składni w plikach PHP może prowadzić do nieprzewidywalnych błędów, szczególnie jeśli kod jest interpretowany w kontekście serwera. Ostatnia opcja, #, jest również poprawnym sposobem na definiowanie komentarzy jednoliniowych w PHP, ale nie spełnia wymagań dla komentarzy wieloliniowych, które można zdefiniować wyłącznie przy użyciu /* */. Dobrą praktyką jest stosowanie odpowiednich typów komentarzy w zależności od kontekstu, aby zapewnić przejrzystość i zrozumiałość kodu dla innych programistów. Ważne jest zrozumienie, jakie składnie są dozwolone w danym języku programowania, aby unikać potencjalnych błędów w kodzie oraz nieporozumień w zespole projektowym.

Pytanie 14

Fragment kodu JavaScript, który sumuje dwie liczby, przedstawia się następująco. Aby wykonać dodawanie po kliknięciu przycisku o nazwie dodaj, należy umieścić kod w wykropkowanym miejscu.

Podaj pierwszą liczbę: <input type="text" name="liczba1" />
Podaj drugą liczbę: <input type="text" name="liczba2" />
....
<script>
function dodaj()
{
// ta funkcja realizuje dodawanie i podaje jego wynik
}
</script>
A. <button onselect="return dodaj()">oblicz</button>
B. <button onclick="return dodaj()">dodaj</button>
C. <button onclick="return oblicz()">dodaj</button>
D. <button onselect="return dodaj()">dodaj</button>
W omawianym zadaniu kluczowym aspektem jest prawidłowe przypisanie funkcji do zdarzenia kliknięcia. Atrybut onselect jest nieodpowiedni w tym kontekście, ponieważ dotyczy zdarzeń związanych z zaznaczeniem tekstu, a nie z kliknięciem przycisku. Wprowadzenie onselect jako atrybutu w odpowiedziach 1 i 2 jest błędne, gdyż nie spełnia funkcji wywoływania zdarzenia kliknięcia, które jest wymagane do uruchomienia procesu dodawania. Obsługa zdarzeń w JavaScript bazuje na przypisaniu odpowiednich funkcji do określonych sytuacji interakcji użytkownika z elementami interfejsu. Kliknięcie jest jednym z najczęściej używanych zdarzeń, dlatego poprawne użycie onclick zapewnia zgodność z podstawowymi zasadami projektowania aplikacji webowych. W odpowiedzi 3 atrybut onclick jest użyty poprawnie, jednak nazwa funkcji oblicz() nie jest tożsama z wymaganą funkcją dodaj(), przez co nie spełnia wymogów zadania. Ważne jest, aby nazwa funkcji w atrybucie onclick dokładnie odpowiadała nazwie funkcji, która ma być wykonana. To unikanie niezgodności w kodzie źródłowym pozwala na efektywne zarządzanie funkcjami i zapewnia prawidłowe działanie skryptu. Atrybut onclick powinien być stosowany, gdy chcemy zareagować na bezpośrednie działania użytkownika takie jak kliknięcie przycisku. Dzięki temu możemy tworzyć dynamiczne i interaktywne aplikacje internetowe, które odpowiadają na potrzeby użytkownika w czasie rzeczywistym, co jest jednym z kluczowych celów nowoczesnego projektowania stron internetowych.

Pytanie 15

Jakie są nazwy standardowych instrukcji w języku SQL, które dotyczą wykonywania operacji na danych w SQL DML (np.: dodawanie danych do bazy, usuwanie, wprowadzanie zmian w danych)?

A. DENY, GRANT, REVOKE
B. ALTER, CREATE, DROP
C. SELECT, SELECT INTO
D. DELETE, INSERT, UPDATE
Inne odpowiedzi, czyli ALTER, CREATE, DROP, to komendy, które nie mają nic wspólnego z manipulowaniem danymi w kontekście DML. ALTER zmienia strukturę tabel, na przykład dodaje nowe kolumny, co jest ważne, ale nie wpływa na same dane. CREATE to z kolei tworzenie nowej tabeli lub obiektów w bazie danych, coś, co robimy zanim wprowadzimy jakiekolwiek dane. Natomiast DROP pozwala na usunięcie całej tabeli, co już jest działaniem, które w przypadku pomyłki nie da się cofnąć, więc trzeba na to uważać. SELECT i SELECT INTO to z kolei komendy DQL, czyli Data Query Language, a nie DML. SELECT wybiera dane z tabel, a SELECT INTO tworzy nową tabelę z wynikami. A DENY, GRANT i REVOKE dotyczą też zarządzania uprawnieniami w bazie danych, co jest ważne dla bezpieczeństwa, ale znowu – to nie o manipulacji danymi. Ważne jest, żeby umieć rozróżniać te kategorie, bo błędy w przyporządkowywaniu mogą prowadzić do poważnych problemów w projektowaniu baz danych i aplikacji, które z nich korzystają.

Pytanie 16

Jakie wartości zostaną wypisane po wykonaniu poniższego skryptu?

var x = 1;
var y;
/*0*/ ++y;
/*1*/ document.write(++x);
/*2*/ document.write(" ");
/*3*/ document.write(x--);
/*4*/ document.write(" ");
/*5*/ document.write(x);
A. 1 2 2
B. 1 2 1
C. 2 2 1
D. 2 1 1
Analizując wyniki działania skryptu, warto zwrócić uwagę na różnice wynikające z użycia operatorów preinkrementacji i postdekrementacji. Wiele osób mylnie interpretuje, jak te operatory wpływają na zmienną w danej kolejności operacji. Preinkrementacja (++x) zwiększa wartość zmiennej o 1 przed jej użyciem w wyrażeniu, co oznacza, że każda operacja wykonywana później będzie bazować na już zwiększonej wartości. Z kolei postdekrementacja (x--) najpierw używa bieżącej wartości zmiennej, a dopiero potem ją zmniejsza, co może prowadzić do błędnych założeń, jeśli nie jest się świadomym tej różnicy. Częstym błędem jest założenie, że obie operacje działają jednocześnie, co nie jest prawdą. Różnica ta jest kluczowa, ponieważ ma znaczący wpływ na kolejność wykonania operacji i rezultat końcowy. Przy programowaniu w JavaScript należy zatem nie tylko znać różnice między tymi operatorami, ale także dokładnie rozumieć, jak wpływają one na przepływ sterowania w kodzie. Znajomość tego mechanizmu pozwala unikać typowych błędów, które prowadzą do nieoczekiwanych wyników i problemów z debugowaniem kodu. Jest to nieodzowna wiedza w inżynierii oprogramowania, szczególnie przy optymalizacji i pisaniu efektywnego kodu.

Pytanie 17

W CSS określono styl dla paragrafu, który nada mu poniższe cechy:

background-color: red;
color: blue;
margin: 40px;
A. tło w kolorze niebieskim, tekst w kolorze czerwonym, marginesy zewnętrzne o wartości 40px
B. tło w kolorze czerwonym, tekst w kolorze niebieskim, marginesy zewnętrzne o wartości 40px
C. tło w kolorze czerwonym, tekst w kolorze niebieskim, marginesy wewnętrzne o wartości 40px
D. tło w kolorze niebieskim, tekst w kolorze czerwonym, marginesy wewnętrzne o wartości 40px
W podanym przykładzie z CSS zastosowano trzy kluczowe właściwości stylizujące element HTML: background-color color oraz margin. Właściwość background-color określa kolor tła danego elementu tutaj przyjęto wartość red co oznacza czerwone tło. Właściwość color definiuje kolor tekstu w elemencie który w tym przypadku jest ustawiony na blue czyli niebieski. Ostatnią właściwością jest margin która odpowiada za marginesy zewnętrzne elementu. Marginesy zewnętrzne to przestrzeń wokół elementu od jego krawędzi do sąsiadujących elementów i w tym przykładzie mają wartość 40px. Takie ustawienia są często używane w praktyce aby zapewnić czytelność i estetykę projektu. Używanie marginesów zewnętrznych to dobra praktyka w celu zachowania odpowiednich odstępów w układzie strony. Warto podkreślić że użycie tych właściwości jest zgodne ze standardami CSS zapewniając kompatybilność z większością przeglądarek. Właściwe stosowanie kolorów i marginesów jest kluczowe w projektowaniu przyjaznym dla użytkownika UX oraz estetycznie spójnych interfejsów graficznych.

Pytanie 18

CMYK to zestaw czterech podstawowych kolorów używanych w druku:

A. czerwonego, purpurowego, żółtego, szarego
B. turkusowego, błękitnego, białego, różowego
C. turkusowego, purpurowego, żółtego, czarnego
D. turkusowego, purpurowego, białego, czarnego
Wśród pozostałych odpowiedzi znajdują się kolory, które nie są częścią modelu CMYK. Przykładowo, wykorzystanie białego jako jednego z podstawowych kolorów jest błędne, ponieważ w druku subtraktywnym biały kolor uzyskuje się poprzez brak nałożenia farby, a nie przez jej obecność. Ponadto, odpowiedzi zawierające szary również są niepoprawne, ponieważ szary nie jest podstawowym kolorem w modelu CMYK, a jego uzyskanie wymaga mieszania pozostałych kolorów w odpowiednich proporcjach. W druku istotne jest, aby zrozumieć, że kolory muszą pochodzić z farb o wysokiej czystości, które efektywnie współpracują ze sobą podczas procesu drukowania. Również, obecność turkusowego w tych odpowiedziach jest myląca, ponieważ w kontekście CMYK chodzi o cyjan, który ma zupełnie inną charakterystykę kolorystyczną. Znajomość właściwych terminów i kolorów w druku jest niezbędna, aby unikać pomyłek w projektowaniu oraz druku materiałów, co może prowadzić do znacznych błędów w końcowym produkcie.

Pytanie 19

Wskaż polecenie do iteracji.

A. throw
B. else
C. switch
D. for
Odpowiedzi 'else', 'throw' i 'switch' nie są instrukcjami iteracyjnymi, a ich zastosowanie w programowaniu jest zgoła odmienne. 'Else' jest częścią struktury warunkowej, która pozwala na wykonanie bloku kodu, gdy warunek if nie jest spełniony. Nie ma ona możliwości iteracji, a jedynie warunkowe wykonanie, co czyni ją nieodpowiednią w kontekście tego pytania. Z kolei 'throw' jest kluczowym słowem w zarządzaniu wyjątkami w wielu językach programowania. Umożliwia ono generowanie wyjątków, co jest niezbędne do obsługi błędów, ale również nie ma związku z iteracją. 'Throw' nie powtarza kodu, a jedynie przerywa jego normalny bieg, co również wyklucza tę odpowiedź. Z kolei 'switch' to instrukcja wielokrotnego wyboru, która pozwala na wybór jednego z wielu bloków kodu na podstawie wartości zmiennej. Choć jest przydatna w sytuacjach, gdzie mamy do czynienia z wieloma warunkami, nie zapewnia mechanizmu iteracji i nie pozwala na powtarzanie operacji, jak to ma miejsce w przypadku instrukcji 'for'. Dlatego też, mimo że wszystkie te konstrukcje mają swoje miejsce w programowaniu, nie są one odpowiednie w kontekście pytania o instrukcję iteracyjną.

Pytanie 20

Które zapytanie MySQL należy użyć, aby usunąć jedynie pracowników, którzy zarabiają nie mniej niż 500 i nie więcej niż 1000 zł oraz ich miejsce pracy zawiera frazę tx

A. DELETE FROM pracownicy WHERE pensja IN (500,1000) AND miejsce_pracy LIKE '*tx*';
B. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 AND miejsce_pracy LIKE '%tx%';
C. DELETE FROM pracownicy WHERE pensja > 500 AND pensja < 1000 AND miejsce_pracy LIKE '%tx%';
D. DELETE FROM pracownicy WHERE pensja BETWEEN 500 AND 1000 OR miejsce_pracy LIKE '%tx%';
W tym zadaniu widać kilka typowych pułapek związanych z SQL-em: składnią operatora LIKE, doborem zakresu liczbowego oraz użyciem spójników logicznych AND i OR. Zacznijmy od wzorca tekstowego. W MySQL, zgodnie ze standardową składnią SQL, do dopasowań wzorców używa się znaków % i _. Procent oznacza dowolny ciąg znaków, a podkreślnik pojedynczy znak. Natomiast gwiazdka * nie jest prawidłowym wildcardem w operatorze LIKE, więc zapis typu LIKE '*tx*' po prostu nie zadziała tak, jak większość osób intuicyjnie zakłada. To jest częsty błąd u osób, które mieszają składnię SQL z np. wyrażeniami w stylu systemów plików czy niektórych narzędzi linuksowych. Kolejna sprawa to warunki logiczne. W tym poleceniu chodziło o wybranie rekordów, które spełniają oba kryteria jednocześnie: pensja w określonym przedziale i miejsce pracy zawiera „tx”. Użycie operatora OR całkowicie zmienia znaczenie zapytania, bo wtedy wystarczy, że spełniony jest tylko jeden z warunków. W efekcie można by usunąć osoby, które mają odpowiednią pensję, ale w ogóle nie mają „tx” w miejscu pracy, albo odwrotnie – mają „tx” w miejscu pracy, ale zarabiają dużo mniej lub więcej niż zadany zakres. To klasyczny przykład nieprecyzyjnie dobranego spójnika logicznego, który na produkcyjnej bazie może zakończyć się masowym usunięciem nie tych danych, co trzeba. Trzeci problem dotyczy interpretacji zakresu. Operator IN z wartościami (500,1000) nie wybiera przedziału od 500 do 1000, tylko dokładnie dwie wartości: 500 i 1000. To nie ma nic wspólnego z „między 500 a 1000”, więc zadanie nie byłoby zrealizowane. Z drugiej strony użycie warunku pensja > 500 AND pensja < 1000 wyklucza wartości graniczne, czyli 500 i 1000, co jest sprzeczne z opisem „nie mniej niż 500 i nie więcej niż 1000”. Z mojego doświadczenia najczęściej takie błędy wynikają z pośpiechu i nieprzeczytania dokładnie treści zadania. Dobra praktyka jest taka, żeby zawsze świadomie decydować, czy zakres ma być domknięty (BETWEEN) czy otwarty (>, <) oraz żeby testować zapytanie w wersji SELECT przed wykonaniem operacji DELETE albo UPDATE. To pozwala od razu zauważyć, że warunki logiczne albo wzorzec LIKE nie działają tak, jak zakładaliśmy w głowie.

Pytanie 21

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

A. zarządzanie plikami na nośniku
B. wykonywanie wszelkich operacji na serwerze oraz posiadanie praw do każdej bazy
C. zarządzanie zabezpieczeniami systemu
D. tworzenie, aktualizowanie, usuwanie oraz przywracanie bazy danych
Odpowiedź nr 3 jest poprawna, ponieważ rola dbcreator w MS SQL Server umożliwia użytkownikowi tworzenie, modyfikowanie, usuwanie oraz odzyskiwanie baz danych. Użytkownik z tą rolą ma prawo do pełnej kontroli nad bazami danych, co jest istotne w kontekście zarządzania i utrzymania infrastruktury danych. Przykład praktyczny to sytuacja, w której administrator bazy danych potrzebuje utworzyć nową bazę dla aplikacji. Dzięki roli dbcreator może to zrobić bez dodatkowych uprawnień. Rola ta jest zgodna z najlepszymi praktykami w zakresie zarządzania dostępem, gdzie ogranicza się uprawnienia do niezbędnego minimum, ale jednocześnie umożliwia wykonanie kluczowych zadań związanych z zarządzaniem bazą danych. Warto zaznaczyć, że nadmierne przyznawanie uprawnień może prowadzić do problemów związanych z bezpieczeństwem, dlatego istotne jest przydzielanie ról zgodnie z zasadą najmniejszych uprawnień (Least Privilege Principle). Użytkownicy z rolą dbcreator powinni być odpowiednio przeszkoleni i świadomi swoich działań, aby nie wprowadzać niezamierzonych zmian w środowisku produkcyjnym.

Pytanie 22

Grafika powinna być zapisana w formacie GIF, jeśli

A. istnieje potrzeba zapisu obrazu w formie bez kompresji
B. jest to grafika wektorowa
C. konieczne jest zapisanie obrazu lub animacji
D. jest to obraz w technologii stereoskopowej
Format GIF (Graphics Interchange Format) jest powszechnie wykorzystywany do przechowywania obrazów oraz animacji. Dzięki obsłudze przezroczystości oraz możliwości tworzenia prostych animacji, GIF stał się standardem w przypadku grafiki na stronach internetowych. Jego ograniczenie do 256 kolorów sprawia, że idealnie nadaje się do prostych grafik, takich jak logo czy ikony, gdzie nie jest wymagana pełna gama kolorów, co ma miejsce w formatach takich jak JPEG czy PNG. W przypadku animacji, GIF umożliwia zapis wielu klatek w jednym pliku, co pozwala na odtwarzanie sekwencji obrazu bez potrzeby korzystania z dodatkowego oprogramowania. Praktyczne zastosowanie GIF-a można zaobserwować w mediach społecznościowych, gdzie animowane obrazki są często wykorzystywane do wyrażania emocji, a także na stronach internetowych do przedstawiania logo w ruchu. Używanie formatu GIF w kontekście animacji jest zgodne z dobrą praktyką w branży, ponieważ pozwala na efektywne zarządzanie zasobami wizualnymi oraz zwiększa atrakcyjność treści wizualnych.

Pytanie 23

W HTML-u, aby połączyć w poziomie dwie sąsiednie komórki w danym wierszu tabeli, należy wykorzystać atrybut

A. cellpadding
B. cellspacing
C. colspan
D. rowspan
Atrybut colspan w języku HTML jest kluczowym narzędziem do scalania komórek w tabeli w poziomie. Umożliwia on połączenie dwóch lub więcej sąsiednich komórek w jednym wierszu, co pozwala na bardziej elastyczne i estetyczne układanie danych. Przykładowo, jeśli mamy tabelę z informacjami o produktach, a jeden z produktów ma długą nazwę, możemy użyć atrybutu colspan, aby ta nazwa zajmowała miejsce w dwóch lub więcej komórkach, co poprawia czytelność tabeli. Dobre praktyki w projektowaniu tabel wskazują, że należy unikać nadmiarowych komórek i skomplikowanych układów, gdyż obniża to przejrzystość danych. Zamiast tego, właściwe użycie atrybutów takich jak colspan pozwala na lepsze zorganizowanie informacji. Warto również pamiętać, że poprawne stosowanie atrybutu colspan powinno być zgodne z ogólnymi zasadami projektowania responsywnego, co oznacza, że tabela powinna dobrze się prezentować na różnych urządzeniach. Dodatkowo, atrybut colspan ma swoje zastosowanie także w kontekście dostępności, gdyż odpowiednie użycie tej funkcji pozwala na lepszą nawigację i zrozumienie struktury tabeli przez osoby korzystające z technologii asystujących.

Pytanie 24

W firmie zajmującej się technologiami informacyjnymi otwarta jest rekrutacja na stanowisko administratora e-sklepu. Do jego zadań należy instalacja i konfiguracja systemu zarządzania treścią, który jest przeznaczony jedynie dla sklepu internetowego, zmiana szablonów wizualnych oraz dostosowanie grafiki. Jakie umiejętności powinien posiadać nowy pracownik?

A. Photoshop, Gimp, JavaScript
B. HTML, CSS, Photoshop
C. CMS PrestaShop, CSS, Gimp
D. CMS WordPress, HTML, Gimp
Podczas analizy innych odpowiedzi można zauważyć, że każda z nich zawiera nieodpowiednie elementy, które nie odpowiadają wymaganiom pracy administratora sklepu internetowego. W przypadku odpowiedzi zawierających Photoshop, Gimp oraz JavaScript, chociaż umiejętności graficzne są ważne, JavaScript nie jest priorytetowy w kontekście zarządzania treścią w systemach e-commerce, takich jak PrestaShop. JavaScript głównie służy do tworzenia dynamicznych interfejsów użytkownika, co może być mniej istotne, gdyż wiele funkcjonalności jest już zintegrowanych w CMS. Z kolei Photoshop i Gimp, choć przydatne, nie są kluczowe w administracji samego systemu. Ponadto, odpowiedzi związane z CMS WordPress, HTML i Gimp również mijają się z celem, ponieważ WordPress nie jest dedykowany wyłącznie do e-commerce, podczas gdy PrestaShop został stworzony specjalnie dla sklepów internetowych. HTML jest użyteczny, ale nie jest wystarczający dla administratora, który musi również znać specyfikę CMS-a. W rezultacie, brak pełnego zrozumienia różnic między platformami oraz ich zastosowaniami prowadzi do błędnych wniosków o wymaganych umiejętnościach, co podkreśla znaczenie dokładnej analizy potrzeb w kontekście danej roli zawodowej.

Pytanie 25

W języku JavaScript stworzono fragment kodu. Po uruchomieniu skryptu zmienna x

<script>
  var x = 10;
  x++;
  console.log(x);
</script>
A. Będzie równa 10 i zostanie wypisana w dokumencie HTML
B. Będzie równa 10 i zostanie wypisana w głównym oknie przeglądarki internetowej
C. Będzie równa 11 i zostanie wypisana w konsoli przeglądarki internetowej
D. Będzie równa 11 i zostanie wypisana w oknie popup
W zaprezentowanym fragmencie kodu JavaScript zmienna x jest najpierw inicjalizowana wartością 10. Następnie operator inkrementacji x++ zwiększa tę wartość o 1, co skutkuje przypisaniem zmiennej wartości 11. Operator postinkrementacji w JavaScript działa w ten sposób że najpierw zwraca aktualną wartość zmiennej a następnie ją zwiększa. W tym przypadku operacja x++ skutkuje zwiększeniem wartości x do 11. W konsoli przeglądarki wywołanie console.log(x) powoduje wyświetlenie obecnej wartości zmiennej x która wynosi 11. Użycie console.log jest standardową praktyką debugowania w JavaScript i jedną z głównych metod wyświetlania informacji w środowisku przeglądarki. Konsole przeglądarek internetowych są potężnym narzędziem dla deweloperów front-endowych umożliwiającym interaktywną pracę z kodem monitorowanie błędów oraz wydajności aplikacji. Jako najlepsza praktyka zaleca się stosowanie console.log do tymczasowego debugowania i unikanie pozostawiania tych wywołań w produkcyjnych wersjach kodu co może prowadzić do zbędnego obciążenia aplikacji i ujawnienia niepotrzebnych informacji użytkownikom końcowym. Warto również wspomnieć że zmienne deklarowane za pomocą var mają zasięg funkcyjny co oznacza że są dostępne w całej funkcji w której zostały zadeklarowane.

Pytanie 26

Kaskadowe arkusze stylów są tworzone w celu

A. zwiększenia szybkości ładowania grafiki na stronie internetowej
B. ulepszenia nawigacji dla użytkownika
C. określenia metod formatowania elementów na stronie internetowej
D. dodania na stronie internetowej treści tekstowych
Kaskadowe arkusze stylów (CSS) są kluczowym elementem w projektowaniu stron internetowych, ponieważ umożliwiają one definiowanie sposobu formatowania i prezentacji elementów na stronie. CSS pozwala na oddzielenie treści od formy, co oznacza, że programiści mogą skupić się na tworzeniu struktury dokumentu HTML, podczas gdy stylistyka i układ są kontrolowane przez arkusze stylów. Przykładem zastosowania CSS jest stylizacja nagłówków, paragrafów czy list, gdzie można dostosować czcionki, kolory, marginesy oraz inne właściwości wizualne. Dzięki użyciu selektorów i reguł CSS, twórcy stron mają pełną kontrolę nad tym, jak każdy element będzie wyglądał, co pozwala na tworzenie responsywnych i estetycznych interfejsów. Ponadto, CSS obsługuje kaskadowość, co oznacza, że reguły mogą być dziedziczone i nadpisywane, co zwiększa elastyczność i wydajność procesu stylizacji. Warto również zwrócić uwagę na standardy W3C, które definiują najlepsze praktyki i zalecenia dotyczące użycia CSS, co przyczynia się do poprawy dostępności i zgodności stron internetowych.

Pytanie 27

Określ słowo kluczowe w języku C++, które umieszcza się przed wbudowanym typem danych, aby ograniczyć zakres do liczb wyłącznie nieujemnych.

A. const
B. long
C. unsigned
D. short
Słowo 'unsigned' w C++ to naprawdę ważna rzecz, bo mówi kompilatorowi, że dany typ może trzymać tylko liczby dodatnie. Kiedy dodasz 'unsigned' przed takim typem jak 'int', 'short' albo 'long', to zakres wartości się zmienia. Na przykład, 'unsigned int' może mieć wartości od 0 do 4 294 967 295, a 'int' to od -2 147 483 648 do 2 147 483 647. Dzięki temu programiści mogą korzystać z większej ilości wartości, co jest super przy takich rzeczach jak liczniki czy indeksy w tablicach. Kiedy używasz 'unsigned', to twój kod jest nie tylko bardziej efektywny, ale też bezpieczniejszy, bo unikasz pomyłek z liczbami, które nie powinny być ujemne. Z mojego doświadczenia, warto czasem sięgnąć po to słowo kluczowe w odpowiednich sytuacjach, bo naprawdę poprawia przejrzystość i jakość kodu.

Pytanie 28

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. łączenia
B. projekcji
C. selekcji
D. sumowania
Zapytanie SQL, które przedstawiłeś, jest naprawdę świetnym przykładem selekcji. Dzięki niemu można wyciągnąć konkretne dane z tabeli 'oceny'. Selekcja to nic innego jak filtracja danych według ustalonych kryteriów, a w tym przypadku chodzi o to, że 'ocena' musi być większa niż 2. Użycie klauzuli WHERE w SQL pozwala na efektywne wyodrębnienie danych spełniających te wymagania. A jak dodasz do tego klauzulę ORDER BY, to możesz posortować wyniki według wybranej kolejności, co jest naprawdę przydatne w różnych analizach. Takie operacje są kluczowe w pracy z bazami danych, bo dzięki nim zdobywasz konkretną wiedzę bez przeszukiwania całej bazy. W praktyce widać to w raportach, gdzie często potrzebne są tylko konkretne dane, przykładowo żeby sprawdzić, którzy studenci osiągnęli określony poziom ocen. Selekcja daje ci możliwość efektywnego zarządzania danymi, a to według mnie bardzo ważne, zwłaszcza w analizach.

Pytanie 29

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. określenie systemu kodowania znaków w bazie
C. sprawdzenie integralności bazy oraz ewentualna jej naprawa
D. weryfikacja, czy baza działa wystarczająco efektywnie
Zdefiniowanie systemu kodowania znaków w bazie, chociaż istotne dla prawidłowego przechowywania i przetwarzania danych, nie jest bezpośrednio związane z czynnością przygotowawczą przed wykonaniem kopii bezpieczeństwa. Właściwe kodowanie znaków jest kluczowe dla zapewnienia, że wszystkie znaki są poprawnie interpretowane przez bazę danych, jednakże nie ma wpływu na integralność samych danych w momencie tworzenia backupu. Nadanie uprawnień do przeglądania bazy dla Administratora, choć ważne z punktu widzenia bezpieczeństwa i zarządzania dostępem, również nie jest czynnością, która zapewnia prawidłowe działanie operacji backupowych. Uprawnienia powinny być zarządzane na etapie projektowania bazy danych, a nie bezpośrednio przed tworzeniem kopii zapasowej. Sprawdzenie wydajności bazy danych jest istotnym elementem zarządzania systemem, jednak nie ma bezpośredniego wpływu na integralność danych. Optymalizacja wydajności ma na celu poprawę czasu odpowiedzi i efektywności zapytań, ale nie gwarantuje, że dane są poprawne, co czyni to krokiem drugorzędnym w kontekście bezpieczeństwa danych. Wszystkie te czynności mogą być częścią ogólnej strategii zarządzania bazą danych, ale nie powinny zastępować kluczowego sprawdzenia integralności przed wykonaniem kopii bezpieczeństwa.

Pytanie 30

Jaką maksymalną ilość znaczników <td> można zastosować w tabeli składającej się z trzech kolumn i trzech wierszy, w której nie ma złączeń komórek ani wiersza nagłówkowego?

A. 3
B. 6
C. 12
D. 9
Wybór 3 jako liczby znaczników <td> jest niewłaściwy, ponieważ nie uwzględnia pełnej struktury tabeli. W przypadku tabeli o trzech kolumnach i trzech wierszach, każdy wiersz powinien zawierać wszystkie kolumny, co skutkuje 3 komórkami w każdym wierszu. To oznacza, że w sumie powstaje 3 x 3 = 9 komórek. Odpowiedź 6 mogłaby być mylona z sytuacją, w której w rozważanym układzie zredukowano by liczbę wierszy lub kolumn, lecz nie jest to zgodne z treścią pytania. Wybierając 12, sugeruje się zrozumienie, że można zwiększyć liczbę kolumn lub wierszy, co w tym kontekście nie jest możliwe, gdyż pytanie jednoznacznie określa ich liczbę. Błędne odpowiedzi mogą wynikać z niepełnego zrozumienia struktury tabel w HTML oraz ich zasady działania. Ważne jest, aby pamiętać, że każda tabela powinna być projektowana z myślą o przejrzystości i dostępności danych, a liczba znaczników <td> musi odzwierciedlać rzeczywiste dane, które mają być prezentowane. W praktyce, błędy te mogą prowadzić do chaosu w prezentacji danych, co utrudnia zarówno użytkownikom, jak i innym systemom, takich jak wyszukiwarki, właściwe zrozumienie struktury strony.

Pytanie 31

Jak określa się metodę sortowania, która polega na podziale na n przedziałów o równej długości, w których odbywa się sortowanie, a następnie posortowane zawartości przedziałów są analizowane i prezentowane?

A. Sortowanie przez wybór
B. Sortowanie bąbelkowe
C. Sortowanie szybkie
D. Sortowanie kubełkowe
Sortowanie kubełkowe to metoda, która dzieli zbiór danych na mniejsze, jednakowe przedziały (kubełki), co pozwala na efektywniejsze sortowanie. Po umieszczeniu elementów w odpowiednich kubełkach, każdy kubełek jest sortowany osobno, zazwyczaj przy użyciu prostszej metody sortowania, takiej jak sortowanie bąbelkowe lub przez wybór. Następnie, posortowane kubełki są łączone w jeden uporządkowany zbiór. Taka strategia jest szczególnie skuteczna, gdy dane są równomiernie rozłożone i idealnie nadaje się do sortowania dużych zbiorów danych, na przykład w aplikacjach analitycznych czy w systemach rekomendacji. W praktyce, sortowanie kubełkowe może znacząco zwiększyć wydajność w porównaniu do tradycyjnych metod sortowania, zwłaszcza w kontekście danych o znanym zakresie. To podejście jest szeroko stosowane w informatyce, w tym w algorytmach sortowania i przetwarzania danych, co czyni je istotnym elementem w optymalizacji algorytmów.

Pytanie 32

Witryna internetowa zawiera poziome menu w formie listy punktowanej. Aby elementy tej listy mogły być wyświetlane w jednej linii, należy przypisać selektorowi li właściwość

A. position
B. outline
C. display
D. text-align
Wybór opcji 'outline' jako właściwości do ustawienia dla selektora 'li' w kontekście wyświetlania elementów listy w jednej linii jest błędny, ponieważ 'outline' dotyczy jedynie rysowania konturów wokół elementu, nie wpływa natomiast na ich układ. Przykładowo, 'outline' jest często używane w celu poprawy dostępności elementów interaktywnych, takich jak przyciski, ale nie ma żadnego wpływu na ich położenie w dokumencie. Z kolei 'position' jest używane do określenia sposobu pozycjonowania elementów, co również nie wpływa na ich wyświetlanie w jednej linii. Choć 'position: relative;' lub 'absolute;' mogą zmienić sposób, w jaki elementy są rozmieszczone w stosunku do siebie, to jednak nie jest to odpowiednie narzędzie do uzyskania efektu poziomego menu. Natomiast 'text-align' jest właściwością, która ustala sposób wyrównania tekstu wewnątrz bloku, ale również nie dotyczy samego wyświetlania elementów listy. Używanie takich podejść może prowadzić do nieporozumień i błędów w projektach, gdzie kluczowe jest zrozumienie, że różne właściwości CSS mają swoje specyficzne zastosowania i nie mogą być zamieniane. Zrozumienie tego aspektu jest kluczowe dla prawidłowego tworzenia układów w stronach internetowych i unikania typowych błędów w stylizacji.

Pytanie 33

Którego formatu należy użyć do zapisu zdjęcia z kompresją stratną?

A. JPEG
B. PNG
C. PCX
D. GIF
Wybór formatu GIF, PNG lub PCX zamiast JPEG wskazuje na niepełne zrozumienie różnic między typami kompresji stosowanymi w grafice rastrowej. GIF (Graphics Interchange Format) jest formatem, który obsługuje kompresję bezstratną, co oznacza, że ​​nie traci jakości przy zapisywaniu, ale jest ograniczony do 256 kolorów. Z tego powodu nie jest odpowiedni do zapisu złożonych obrazów lub zdjęć, gdzie wymagane są szersze gamy kolorów. Z kolei PNG (Portable Network Graphics) również stosuje kompresję bezstratną, co sprawia, że ​​jest idealny dla obrazów z przezroczystością oraz dla grafik, w których każdy szczegół jest istotny, na przykład w przypadku logotypów. Jednak PNG nie jest optymalnym wyborem do przechowywania zdjęć ze względu na większe rozmiary plików w porównaniu do JPEG. Co więcej, format PCX, będący starszym formatem graficznym, jest rzadko używany w nowoczesnych aplikacjach i ma ograniczone wsparcie dla kolorów oraz kompresji, co czyni go mało praktycznym rozwiązaniem. Kluczowym błędem jest brak zrozumienia, że JPEG został stworzony z myślą o zastosowaniach, w których rozmiar pliku ma kluczowe znaczenie, a niewielka utrata jakości jest akceptowalna. W sytuacjach wymagających zachowania pełnej jakości obrazu lepszym wyborem mogą być formaty bezstratne, ale nie są one odpowiednie dla zadań, gdzie kompresja i szybkość są kluczowe.

Pytanie 34

Fragment kodu w języku PHP ma następującą postać: Zakładając, że zmienne: a, b, c przechowują wartości numeryczne, wynikiem działania warunku będzie wypisanie liczby

if ($a > $b && $a > $c)   echo $a;
else if ($b > $c)   echo $b;
else   echo $c;
A. największej.
B. najmniejszej.
C. parzystej.
D. nieparzystej.
Dobrze zrozumiałeś działanie warunków logicznych w języku PHP! Fragment kodu prezentowany na zdjęciu rzeczywiście wypisuje wartość największej zmiennej. Jest to wynik skumulowanego działania kilku warunków if oraz else if, które porównują wartości zmiennych a, b, c. Najpierw, warunek sprawdza, czy zmienna a jest większa od pozostałych. Jeśli tak, wartość a jest wypisywana. Jeżeli nie, przechodzi do kolejnego warunku, gdzie sprawdza, czy b jest większe od c. Jeżeli tak, wypisuje b, jeżeli nie - wypisze c. W ten sposób kod zawsze wypisze największą wartość. Zrozumienie tej logiki jest kluczowe w programowaniu, szczególnie w kontekście operacji porównania, które są podstawą wielu bardziej skomplikowanych algorytmów. To ważny fragment wiedzy, który pomaga w budowaniu efektywnych i optymalnych rozwiązań kodowych.

Pytanie 35

Baza danych zawiera tabelę artykuły z kolumnami: nazwa, typ, producent, cena. Aby wypisać wszystkie nazwy artykułów jedynie typu pralka, których cena mieści się w zakresie od 1000 PLN do 1500 PLN, należy użyć zapytania

A. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR 1500
B. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500
C. SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND 1500
D. SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND 1500
Błędne odpowiedzi opierają się na nieporozumieniach dotyczących składni SQL oraz logicznych błędach w użyciu operatorów. W pierwszym przypadku, użycie 'cena FROM 1000 TO 1500' jest niepoprawne, ponieważ składnia SQL nie wspiera takiego zapisu. Poprawne podejście wymagałoby użycia operatora 'BETWEEN'. Drugie podejście używa operatora 'OR', co skutkuje zwróceniem artykułów, które są typu 'pralka' lub mają cenę w podanym przedziale, a to jest niezgodne z wymaganiem, które wymaga obu warunków jednocześnie. Trzecia opcja z 'BETWEEN' jest bliska poprawnej, ale przez użycie operatora 'OR' dla ceny również nie spełnia wymagań. Ostatnia odpowiedź, która stosuje 'OR' w kontekście ceny, jest błędna, ponieważ nie można używać 'OR' w ten sposób przy definiowaniu zakresu. Typowe błędy myślowe, które mogą prowadzić do takich nieporozumień, obejmują mylenie operatorów logicznych oraz niewłaściwe rozumienie składni SQL. W rezultacie, kluczowe jest zrozumienie, że do filtrowania danych używamy 'AND' dla warunków, które muszą być spełnione jednocześnie oraz 'BETWEEN' do określenia zakresu wartości.

Pytanie 36

Funkcja
fun1(a,b) {
  if(a % 2 != 0) a++;
  for(let n = a; n <= b; n+=2) document.write(n);
}
ma na celu

A. wypisanie wszystkich liczb w przedziale od a do b
B. zwrócenie parzystych wartości liczb od a do b
C. wypisanie liczb parzystych w zakresie od a do b
D. sprawdzenie, czy liczba a jest nieparzysta; w przypadku pozytywnej odpowiedzi, jej wypisanie
W przypadku pierwszej błędnej odpowiedzi, najważniejszy błąd to myślenie, że funkcja zwraca wartości parzyste jak zwykły wynik. W rzeczywistości funkcja wypisuje te liczby na stronie za pomocą document.write(), więc to jest kluczowy szczegół. Druga niepoprawna odpowiedź jest na dobrej drodze, ale myli się w interpretacji 'wypisania liczb parzystych z przedziału od a do b'. Funkcja nie tylko wypisuje liczby parzyste, ale też sprawdza, czy a jest nieparzyste, i wtedy zmienia tę wartość. Co do trzeciej błędnej odpowiedzi, sugeruje ona, że funkcja wypisuje wszystkie liczby między a a b, co jest zupełnie błędne, bo pętla for zwiększa n o 2, więc tylko parzyste liczby się pojawią. Rozumienie jak działa pętla for oraz operator modulo jest kluczowe, żeby dobrze zrozumieć tę funkcję. Jeśli nie ogarniasz tych podstaw, ciężko będzie analizować kod w JavaScript i pisać lepsze programy.

Pytanie 37

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. sumy.
C. wykluczenia.
D. części wspólnej.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów. Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna. Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 38

Tabela odlotów zawiera dane przedstawione na ilustracji. Wykonanie zapytania SQL spowoduje zwrócenie informacji:

SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%';
idsamoloty_idnr_rejsukierunekczasdzienstatus_lotu
11FR1646Neapol09:20:002019-07-25wystartowal
21FR1327ALICANTE09:10:002019-07-25Opóźniony 10 min
32W63425Warszawa09:45:002019-07-25odprawa
43LX5647Londyn LT10:03:002019-07-25odprawa
53LX5673Malta10:06:002019-07-25opoznienie 20 min
63LX5622Wieden10:13:002019-07-25
74LH9821Berlin10:16:002019-07-25
84LH9888Hamburg10:19:002019-07-25
A. 3; 5; 8
B. zbiór pusty
C. 4; 5; 6; 7; 8
D. 5; 8
Podczas analizy zapytania SELECT id FROM odloty WHERE samoloty_id > 2 AND kierunek LIKE '_a%' istotne jest zrozumienie działania operatora LIKE i warunków filtrujących w SQL. Warunek samoloty_id > 2 oznacza, że poszukujemy rekordów, gdzie wartość w kolumnie samoloty_id jest większa niż 2. Oznacza to, że rekordy z samoloty_id równym 1 lub 2 nie zostaną uwzględnione w wyniku zapytania. Drugi warunek kierunek LIKE '_a%' wykorzystuje operator LIKE, który umożliwia wyszukiwanie z użyciem symboli wieloznacznych. W tym przypadku znak podkreślenia '_' reprezentuje jeden dowolny znak, a wzorzec '_a%' oznacza, że w kolumnie kierunek szukamy wartości, które mają 'a' na drugim miejscu. Jest to specyficzne dopasowanie, które eliminuje wszelkie inne wzorce, które nie mają 'a' jako drugiego znaku. W tym kontekście błędne zrozumienie warunku LIKE może doprowadzić do niepoprawnego założenia, że szuka on dowolnego ciągu zawierającego literę 'a', co nie jest zgodne z rzeczywistością. Typowe błędy myślowe mogą wynikać z pomylenia znaku '%' z '_', gdzie pierwszy oznacza dowolną liczbę dowolnych znaków, a drugi tylko jeden dowolny znak. Takie nieporozumienia są powszechne, ale zrozumienie poprawnej składni i mechanizmu działania operatora LIKE jest kluczowe dla skutecznego wykorzystania tego narzędzia w SQL. Dodatkowo, nieuwzględnienie warunku samoloty_id > 2 prowadzi do niewłaściwego zrozumienia, które rekordy powinny zostać uwzględnione w końcowym wyniku zapytania. Takie sytuacje podkreślają znaczenie dokładnej analizy warunków i wzorców w zapytaniach SQL, aby uzyskać oczekiwane rezultaty bez błędów interpretacyjnych.

Pytanie 39

Które z poniższych zdań poprawnie opisuje utworzoną tabelę?

CREATE TABLE dane (kolumna INTEGER(3));
A. Tabela o nazwie dane składa się z trzech kolumn typu całkowitego
B. Kolumny tabeli dane są nazwane: kolumna1, kolumna2, kolumna3
C. Tabela zawiera jedną kolumnę, która przechowuje trzyelementowe tablice
D. Tabela o nazwie dane ma jedną kolumnę typu całkowitego
W tym zadaniu bardzo łatwo wpaść w pułapkę skojarzeń z programowaniem w innych językach, gdzie nawias przy typie sugeruje rozmiar tablicy albo liczbę elementów. W SQL, a szczególnie w składni zbliżonej do MySQL, zapis `INTEGER(3)` nie tworzy trzech kolumn ani trzyelementowej tablicy, tylko opisuje jedną kolumnę typu liczbowego. Nawias w tym miejscu oznacza co najwyżej szerokość wyświetlania albo pewne ograniczenie prezentacji, a nie ilość powtórzeń typu. Dlatego interpretacja, że tabela ma trzy kolumny typu całkowitego, jest po prostu przeniesieniem logiki z np. C lub Java na SQL, co jest częstym, ale błędnym nawykiem. Podobnie mylenie `INTEGER(3)` z tablicą trzyelementową wynika z tego, że w wielu językach zapis z nawiasami kwadratowymi czy okrągłymi kojarzy się z kolekcją. W relacyjnych bazach danych pojedyncza kolumna przechowuje pojedynczą wartość skalarnej dziedziny (liczba, tekst, data), a nie tablicę, chyba że używamy bardzo specyficznych typów, jak np. ARRAY w PostgreSQL – ale to wygląda zupełnie inaczej w definicji. Kolejny błąd to założenie, że skoro przy typie pojawia się liczba 3, to kolumny zostaną automatycznie nazwane `kolumna1`, `kolumna2`, `kolumna3`. Silniki SQL niczego takiego nie robią. Nazwy kolumn muszą być jawnie podane w definicji tabeli, oddzielone przecinkami, np. `kolumna1 INTEGER, kolumna2 INTEGER, kolumna3 INTEGER`. Jeżeli w nawiasie przy CREATE TABLE jest tylko jeden wpis `kolumna INTEGER(3)`, to mamy dokładnie jedną kolumnę o nazwie `kolumna`. Moim zdaniem dobrym nawykiem jest zawsze patrzeć na przecinki: ile jest elementów oddzielonych przecinkami w nawiasie po nazwie tabeli, tyle jest kolumn. Liczby w nawiasach przy typach (np. VARCHAR(50), DECIMAL(10,2), INT(3)) opisują parametry typu, a nie liczbę kolumn. To podstawowa, ale bardzo ważna zasada przy projektowaniu schematów baz danych i unikaniu dziwnych, mylących interpretacji.

Pytanie 40

Informacje o ciasteczkach są przechowywane w tablicy

A. $_SERVER
B. $_GET
C. $_POST
D. $_COOKIE
Odpowiedź $_COOKIE jest prawidłowa, ponieważ to właśnie ten superglobalny zbiór w PHP przechowuje dane ciasteczek w postaci tablicy asocjacyjnej. Ciasteczka są małymi plikami danych, które są przechowywane na komputerze użytkownika przez przeglądarkę internetową. Umożliwiają one stronom internetowym przechowywanie informacji na temat sesji użytkownika, preferencji lub stanu logowania. W praktyce, aby uzyskać wartość konkretnego ciasteczka, można użyć składni $_COOKIE['nazwa_ciasteczka']. Na przykład, jeśli mamy ciasteczko o nazwie 'user', możemy uzyskać jego wartość przez $_COOKIE['user']. Warto pamiętać, że ciasteczka są limitowane do 4KB danych oraz mają różne daty wygaśnięcia, co czyni je elastycznym narzędziem do zarządzania sesjami i preferencjami użytkowników w aplikacjach webowych. Dobre praktyki mówią, aby nie przechowywać w ciasteczkach informacji wrażliwych, a zamiast tego stosować mechanizmy szyfrowania, aby zwiększyć bezpieczeństwo przechowywanych danych.