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: 27 kwietnia 2026 21:07
  • Data zakończenia: 27 kwietnia 2026 21:28

Egzamin zdany!

Wynik: 20/40 punktów (50,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

Na przedstawionej grafice znajduje się struktura sekcji dla witryny internetowej. Przyjmując, że blok5 nie ma przypisanej szerokości, a bloki są określone w dokumencie HTML w kolejności ich numeracji, jak powinno wyglądać zdefiniowanie opływania?

Ilustracja do pytania
A. bloki 1, 2, 4 float: left; blok 3 float: right; blok 5 clear: both;
B. blok 1 float: left; bloki 2, 4 float: center; blok 3 float: right; blok 5 clear: both;
C. bloki 1, 2, 3, 4 float: right; blok 5 clear: right;
D. bloki 1, 2, 4 float: left; blok 3, 5 float: right;
Właściwe użycie float w CSS jest kluczowe do tworzenia układów stron. W pierwszej propozycji zastosowano float: left; dla bloków 1, 2, 4 oraz float: right; dla bloków 3 i 5, co jest niepoprawne, ponieważ blok 5 powinien być odseparowany od pozostałych poprzez clear: both;, aby zająć całą szerokość strony. W drugiej odpowiedzi, chociaż float: right; dla bloków 1, 2, 3, 4 może wydawać się poprawne dla niektórych stylów, blok 5 z clear: right; nie będzie działał, ponieważ nie uwzględnia float: left, które ma zastosowanie w układzie. Ostatnia odpowiedź używa float: center;, co jest nieprawidłowe, ponieważ w CSS nie istnieje taka właściwość. Elementy można centrować za pomocą innych metod, ale nie za pomocą float. Ponadto, przypisanie clear dla bloku 5 jest poprawne, ale pozostałe ustawienia float dla bloków są błędne i niezgodne z przedstawionym układem. Konsekwentne błędy często wynikają z braku zrozumienia, jak właściwości float i clear współdziałają w kontekście modelu pudełkowego w CSS.

Pytanie 2

W tabeli o nazwie pracownicy zdefiniowano klucz główny w typie INTEGER z atrybutami NOT NULL oraz AUTO_INCREMENT. Dodatkowo zdefiniowane zostały pola imie oraz nazwisko. W przypadku wykonania podanej kwerendy SQL, która dodaje dane i pomija pole klucza, w bazie danych MySQL nastąpi

INSERT INTO pracownicy (imie, nazwisko)
VALUES ('Anna', 'Nowak');
A. zignorowanie polecenia, tabela nie ulegnie zmianie
B. błąd związany z niewłaściwą liczbą pól
C. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana wartość NULL
D. dodanie rekordu do tabeli, dla klucza głównego zostanie przypisana kolejna wartość naturalna
W kontekście baz danych MySQL wprowadzenie rekordu z pominięciem pola klucza głównego z atrybutem AUTO_INCREMENT nie prowadzi do błędu ani pozostawienia pola z wartością NULL, ponieważ mechanizm AUTO_INCREMENT automatycznie przypisuje kolejną wartość liczbową. Niepoprawne jest myślenie, że pole klucza mogłoby pozostać puste lub z wartością NULL, gdyż oznaczałoby to naruszenie zasady unikalności, co jest sprzeczne z ideą klucza głównego, który musi mieć unikalną wartość. Kolejną błędną koncepcją jest przekonanie, że polecenie SQL mogłoby zostać zignorowane pozostawiając tabelę bez zmian. Taka sytuacja mogłaby mieć miejsce jedynie w przypadku wystąpienia błędu składniowego lub naruszenia spójności danych, ale nie w tym wypadku. Często spotykanym błędem jest też wyobrażenie, że wystąpi błąd nieprawidłowej liczby pól, co miałoby miejsce, gdyby liczba wymienionych pól w instrukcji INSERT nie zgadzała się z liczbą wartości, które chcemy wprowadzić. Prawidłowe zrozumienie mechanizmu AUTO_INCREMENT jest kluczowe, by unikać tych typowych błędów i w pełni korzystać z możliwości, jakie daje ten mechanizm w kontekście automatyzacji i ułatwienia zarządzania kluczami głównymi w bazach danych.

Pytanie 3

W kodzie HTML zdefiniowano formularz, który wysyła dane do pliku formularz.php. Po naciśnięciu przycisku typu submit przeglądarka przechodzi do poniższego adresu:

../formularz.php?imie=Anna&nazwisko=Kowalska
Na podstawie podanego adresu można stwierdzić, że dane do pliku formularz.php zostały przesłane metodą:
A. SESSION
B. POST
C. COOKIE
D. GET
Wybrana przez ciebie odpowiedź jest nieprawidłowa. Wybrałeś metodę POST, COOKIE lub SESSION jako sposób przesyłania danych do pliku formularz.php, ale na podstawie widocznego adresu URL, który zawiera parametry przekazane po znaku zapytania (?), odpowiedź jest GET. Metoda POST jest również popularna w przesyłaniu danych, ale różni się od GET tym, że dane są przesyłane w ciele żądania, nie są widoczne w pasku adresu. COOKIE to mechanizm, który pozwala na przechowywanie danych na stronie klienta, nie jest to metoda przesyłania danych do serwera. SESSION to technika, która pozwala na przechowywanie informacji po stronie serwera, która jest powiązana z konkretnym użytkownikiem za pomocą identyfikatora sesji. Żadna z tych technik (POST, COOKIE, SESSION) nie powoduje, że parametry są widoczne w adresie URL, co jest charakterystyczne dla metody GET.

Pytanie 4

Aby w tabeli praca, tworzonej w języku SQL, dodać do kolumny stawka warunek, który wymusza, aby przyjmowane były jedynie wartości dodatnie, a jednocześnie mniejsze niż 50, należy zastosować zapis

A. … stawka foat CHECK (stawka>0 AND stawka<50.00)
B. … stawka foat CHECK (stawka IN (0, 50.00))
C. … stawka foat CHECK (stawka>0 OR stawka<50.00)
D. … stawka foat CHECK (stawka BETWEEN 0 AND 50.00)
Poprawna odpowiedź to zapis '… stawka foat CHECK (stawka>0 AND stawka<50.00)', ponieważ warunek ten precyzyjnie określa, że wartość w kolumnie 'stawka' musi być większa od zera oraz mniejsza od 50, co oznacza, że akceptowane będą tylko rzeczywiste wartości dodatnie mieszczące się w tym przedziale. Zastosowanie warunku CHECK jest kluczowym elementem w zapewnieniu integralności danych w bazach danych. Dzięki temu, przy wstawianiu lub aktualizacji danych w tabeli 'praca', system zablokuje wszelkie operacje, które nie spełniają tego kryterium, co z kolei zapobiega wprowadzaniu błędnych danych. W praktyce, stosowanie takich warunków w definicji kolumn w SQL jest zgodne z dobrymi praktykami projektowania baz danych, które kładą nacisk na walidację danych już na poziomie schematu bazy. Przykładowo, jeżeli chcemy zapewnić, aby stawka wynagrodzenia pracowników nie przekraczała określonego limitu, stosowanie CHECK z warunkiem 'stawka<50.00' stanowi efektywny sposób na wymuszenie tej zasady. Tego rodzaju rozwiązania nie tylko poprawiają jakość danych, ale również ułatwiają przyszłe analizy statystyczne oraz raportowanie.

Pytanie 5

Efekt AutoDuck w obróbce dźwięku jest stosowany do

A. wyrównania głośności całej ścieżki dźwiękowej.
B. ściszenia dźwięku w tle, gdy pojawia się dźwięk pierwszoplanowy.
C. eliminacji szumów pochodzących z dźwięków w tle.
D. ocieplenia głosu i dźwięków pochodzących z tła.
W obróbce dźwięku łatwo pomylić różne efekty, bo większość z nich w jakiś sposób wpływa na głośność lub charakter brzmienia. AutoDuck jednak ma bardzo konkretne zastosowanie: automatyczne ściszanie tła, gdy pojawia się dźwięk pierwszoplanowy, najczęściej głos. To nie jest efekt „upiększający” czy „naprawiający” brzmienie, tylko typowo użytkowy mechanizm sterowania poziomem głośności między dwoma ścieżkami. Częsty błąd myślowy polega na tym, że wszystko, co „robi coś z głośnością”, wrzuca się do jednego worka. Ocieplenie głosu kojarzy się raczej z korekcją barwy (equalizer – podbicie niskich i niższych średnich częstotliwości) albo z delikatną kompresją, ewentualnie z efektami typu saturacja czy emulacja lampowa. AutoDuck niczego nie „ociepla”, on tylko zmniejsza poziom innej ścieżki, reagując na sygnał pierwszoplanowy. Podobnie z wyrównywaniem głośności całej ścieżki – od tego są kompresory, limitery, normalizacja czy tzw. loudness matching zgodny z normami EBU R128 lub ITU-R BS.1770. Te narzędzia analizują lub przetwarzają pojedynczą ścieżkę, żeby jej poziom był bardziej równy w czasie. AutoDuck działa relacyjnie: jedna ścieżka kontroluje głośność drugiej. Jeśli chodzi o eliminację szumów, tym zajmują się zupełnie inne algorytmy: redukcja szumów, bramki szumów (noise gate), filtry dolno- lub górnoprzepustowe, narzędzia typu DeNoise. Szum się tam analizuje i usuwa lub tłumi, najczęściej w oparciu o profil szumu albo próg głośności. AutoDuck nie rozpoznaje szumu ani nie czyści nagrania, tylko mechanicznie ścisza tło, gdy pojawia się ważniejszy sygnał. W produkcji multimediów na strony WWW czy do e-learningu dobrą praktyką jest łączenie kilku technik: najpierw oczyszczenie głosu z szumów i ustawienie jego stałego poziomu kompresją, a dopiero potem zastosowanie duckingu na muzyce w tle. Dzięki temu materiał brzmi profesjonalnie, a słuchacz nie musi walczyć z niedosłyszalnym komentarzem przykrytym za głośną muzyką.

Pytanie 6

Jaki program jest wykorzystywany do edycji dźwięku?

A. Inkscape
B. CorelDRAW
C. Audacity
D. GIMP
Audacity to naprawdę fajny program do obróbki dźwięku, który jest używany przez wielu, zarówno hobbystów, jak i profesjonalistów. Jest to open-source, więc można go ściągnąć za darmo. Dzięki niemu możesz nagrywać dźwięki z mikrofonu lub z innych źródeł, co jest super przydatne. Możliwości edytowania ścieżek dźwiękowych są ogromne – masz różne efekty, jak kompresja, EQ czy reverb, które naprawdę mogą wzbogacić Twoje nagrania. Obsługuje też wiele formatów plików, jak WAV, MP3 czy OGG, co sprawia, że jest wszechstronny. Sam z niego korzystam do nagrywania podcastów i muszę przyznać, że dobrze się sprawdza. Ważne, żeby pamiętać, że Audacity jest popularne w branży, bo pozwala na solidną pracę z dźwiękiem, co jest kluczowe, jeśli planujesz coś profesjonalnego. Jest też duża społeczność użytkowników, więc program ciągle się rozwija i aktualizuje. To na pewno coś, czego warto spróbować!

Pytanie 7

Aby przywrócić uszkodzoną tabelę w MySQL, jakie polecenie należy wykonać?

A. FIX TABLE
B. REPAIR TABLE
C. RESOLVE TABLE
D. CHECK TABLE
Aby naprawić uszkodzoną tabelę w MySQL, należy użyć polecenia REPAIR TABLE, które jest dedykowane do przywracania integralności i usuwania problemów z danymi w tabelach MyISAM. Kiedy tabela jest uszkodzona, na przykład wskutek awarii systemu lub błędów dysku, REPAIR TABLE analizuje strukturę tabeli i podejmuje się jej naprawy. Proces ten może przywrócić usunięte wiersze oraz naprawić inne ograniczenia. Przykładowe użycie polecenia to: REPAIR TABLE nazwa_tabeli; Warto zaznaczyć, że REPAIR TABLE nie działa na tabelach InnoDB, które wymagają innych procedur naprawczych. W przypadku MyISAM, to polecenie jest często pierwszą metodą diagnostyczną, gdy pojawiają się problemy z danymi. Zgodnie z dokumentacją MySQL, REPAIR TABLE jest jednym z podstawowych narzędzi do zarządzania integralnością danych, a jego prawidłowe użycie może uratować istotne dane przed ich całkowitą utratą. Z tego powodu znajomość tego polecenia jest kluczowa dla administratorów baz danych.

Pytanie 8

Jednostka ppi (pixels per inch) odnosi się do rozdzielczości?

A. określa rozdzielczość obrazów rastrowych
B. jest miarą rozdzielczości skanerów, definiującą częstotliwość próbkowania obrazu
C. jest wskaźnikiem definiującym rozdzielczość cyfrowych urządzeń dokonujących pomiarów
D. określa rozdzielczości obrazów wytwarzanych przez drukarki oraz plotery
Zrozumienie pojęcia PPI (pixels per inch) jest kluczowe dla efektywnego zarządzania grafiką cyfrową, a podawanie PPI jako parametru odniesienia do rozdzielczości innych urządzeń, takich jak skanery lub drukarki, jest mylne. PPI odnosi się ściśle do rozdzielczości obrazów rastrowych, które są tworzone z pikseli. Pojęcia, takie jak rozdzielczość skanerów, odnoszą się do innej jednostki miary, zazwyczaj określanej w DPI (dots per inch), która określa liczbę kropli tuszu lub punktów, jakie maszyna może nałożyć na cal. To prowadzi do nieporozumień w interpretacji, ponieważ DPI i PPI, mimo że są używane w kontekście jakości obrazu, służą różnym celom. W przypadku rozdzielczości generowanej przez drukarki i plotery, ich wydajność nie jest bezpośrednio związana z PPI, lecz raczej z DPI, co ma kluczowe znaczenie w kontekście technik druku oraz jakości uzyskiwanych wydruków. W praktyce, błędne zrozumienie tych jednostek może prowadzić do zaprojektowania grafiki, która nie spełnia oczekiwań jakościowych, co jest szczególnie istotne w sytuacjach, gdy precyzja i szczegółowość są kluczowe, takich jak w projektach reklamowych czy publikacjach. Dlatego istotne jest, aby zawsze odnosić się do właściwych jednostek miary w zależności od kontekstu zastosowania, co umożliwia optymalne wykorzystanie zasobów i osiągnięcie zamierzonych rezultatów w projektowaniu graficznym.

Pytanie 9

W algebrze relacji działanie selekcji polega na

A. usunięciu pustych wierszy
B. wybór krotek, które spełniają określone warunki
C. wybór krotek, które nie zawierają wartości NULL
D. usunięciu krotek z powtórzonymi polami
W algebrze relacji operacja selekcji, określana również jako filtracja, polega na wydobywaniu krotek z relacji (tabel), które spełniają określone warunki. Selekcja jest kluczowym narzędziem w zarządzaniu bazami danych, ponieważ umożliwia przetwarzanie i analizowanie dużych zbiorów danych poprzez skupienie się tylko na istotnych informacjach. Na przykład, w bazie danych zawierającej informacje o pracownikach, można zastosować selekcję, aby wyodrębnić jedynie tych pracowników, którzy mają wynagrodzenie powyżej określonej kwoty. W praktyce, operator selekcji jest często reprezentowany przez symbol sigma (σ) w notacji algebry relacji. Zgodnie z normami SQL, operacja ta odpowiada klauzuli WHERE, co pozwala na precyzyjne określenie kryteriów, według których krotki są wybierane. Selekcja nie zmienia struktury tabeli, lecz tworzy nową relację, która zawiera jedynie te krotki, które spełniają dane warunki. Przykładem może być zapytanie SQL, które zwraca dane o studentach, którzy uzyskali ocenę powyżej 4.0. Selekcja jest fundamentalnym elementem w projektowaniu baz danych, umożliwiającym efektywne przetwarzanie danych oraz wsparcie dla analizy danych w różnych aplikacjach biznesowych.

Pytanie 10

Który z poniższych formatów NIE umożliwia zapis plików animowanych?

A. ACE
B. SWF
C. SVG
D. GIF
Wybór formatu SWF sugeruje, że użytkownik myli zastosowania różnych formatów plików. SWF, czyli Shockwave Flash, to format, który był powszechnie używany do tworzenia animacji i interaktywnych aplikacji internetowych. Jest on oparty na wektorowej grafice i obsługuje dźwięk oraz skrypty, co czyni go idealnym do tworzenia złożonych animacji. Z kolei SVG, czyli Scalable Vector Graphics, to format oparty na XML, który pozwala na tworzenie grafiki wektorowej i również obsługuje animacje przy użyciu CSS oraz JavaScript. Poprzez błędne przypisanie funkcji animacyjnych do ACE, użytkownik może nie dostrzegać, jak różne formaty są projektowane z myślą o określonych zastosowaniach. GIF to format, który od lat jest popularny w sieci do prezentacji prostych animacji, zwłaszcza w mediach społecznościowych. Użytkownicy często mylą różne zastosowania formatów i mogą nie być świadomi, że istnieją formaty, które są specjalnie zaprojektowane do obsługi animacji, podczas gdy inne służą zupełnie innym celom, jak kompresja danych. Właściwe zrozumienie tych różnic jest kluczowe dla efektywnego projektowania treści multimedialnych oraz optymalizacji ich działania w różnych środowiskach.

Pytanie 11

Która z zasad walidacji strony internetowej jest nieprawidłowa?

A. Jeżeli w poleceniu występuje kilka atrybutów, ich kolejność powinna być uporządkowana alfabetycznie np. ```<img alt="..." src="/.."/>```
B. Tagi, poza samozamykającymi się, funkcjonują do momentu ich wyłączenia znakiem "/", np. ```<p> ..</p>```
C. W tagach nie jest brana pod uwagę różnica między dużymi a małymi literami, np. ```<p>``` i ```<P>``` to ten sam tag.
D. Wyłączanie tagów musi następować w odwrotnej sekwencji do ich włączenia, np. ```<p> ... <big>...</big></p>```
Koncepcje zawarte w niepoprawnych odpowiedziach są oparte na błędnym zrozumieniu zasad działania znaczników HTML. W kontekście wyłączania znaczników, ważne jest, aby pamiętać, że znacznik startowy powinien być zawsze zamknięty odpowiednim znacznikiem końcowym, co oznacza, że struktura dokumentu musi być prawidłowo zagnieżdżona. Zasada dotycząca wyłączania znaczników w odwrotnej kolejności jest nieprawidłowa, ponieważ znaczniki nie są stosowane w taki sposób, a ich zamykanie powinno być zgodne z ich zagnieżdżeniem. Rozumienie tej zasady jest kluczowe dla tworzenia poprawnej struktury dokumentu HTML. Warto również zauważyć, że HTML nie rozróżnia wielkich i małych liter w znacznikach, co jest istotnym uproszczeniem, ale nie oznacza, że można je mieszać w sposób dowolny. Zastosowanie spójnych konwencji nazewnictwa, takich jak używanie małych liter, jest wskazane dla zachowania czytelności kodu. Rozumienie tych zasad jest kluczowe dla efektywnego projektowania stron internetowych oraz dla utrzymania wysokiej jakości kodu. W przypadku, gdy znacznik nie jest poprawnie zamknięty, może to prowadzić do błędów w renderowaniu strony oraz problemów z jej dostępnością. Dlatego kluczowe jest stosowanie się do zasad poprawności kodu i jego semantyki.

Pytanie 12

Aby utworzyć styl strony responsywnej dla ekranów o szerokości od 600 px do 800 px należy zastosować regułę CSS

A. @media screen and (max-width: 800px) and (min-width: 600px){/*style css*/}
B. @media (max-width: 800px) (min-width: 600px){/*style css*/}
C. @media screen (min-width: 800px) and (max-width: 600px){/*style css*/}
D. @media (min-width: 800px){/*style css*/}
W tym zadaniu cała trudność kręci się wokół poprawnego zapisania media queries i zrozumienia, jak działają warunki min-width oraz max-width. Wiele osób intuicyjnie czuje, o co chodzi z responsywnością, ale potyka się na szczegółach składni, a przeglądarka niestety jest bardzo „zero-jedynkowa” i najmniejszy błąd powoduje, że reguła po prostu nie zadziała. Jedno z podejść polega na użyciu tylko min-width, np. @media (min-width: 800px){...}. Taki zapis oznacza jednak: stosuj te style dla szerokości 800 px i większych, czyli w górę, bez żadnej górnej granicy. To jest typowy breakpoint dla większych ekranów, np. laptopów, a nie dla przedziału 600–800 px. To nie jest logicznie to, o co chodziło w pytaniu, bo nie ma tu żadnego ograniczenia od góry. Inny typ błędu to próba połączenia max-width i min-width bez słowa and, jak w @media (max-width: 800px) (min-width: 600px){...}. Taka składnia jest po prostu niepoprawna z punktu widzenia specyfikacji CSS – między warunkami musi wystąpić operator logiczny and, not lub only. Bez tego parser traktuje zapis jako błąd, więc reguła zostanie zignorowana. Kolejna pułapka to pomieszanie kolejności i logiki warunków, np. @media screen (min-width: 800px) and (max-width: 600px){...}. Tutaj po pierwsze brakuje and po słowie screen, więc typ medium nie jest poprawnie połączony z warunkami, a po drugie zakres jest nielogiczny: min-width: 800px i max-width: 600px tworzą zestaw warunków, którego żaden ekran nie spełni, bo nie może mieć jednocześnie szerokości co najmniej 800 px i maksymalnie 600 px. W praktyce oznacza to media query, które nigdy się nie aktywuje. To zresztą typowy błąd: ktoś zna pojęcia min i max, ale nie zastanawia się nad realnym przedziałem wartości. Dobra praktyka w responsywnym projektowaniu to zawsze sprawdzić: czy zakres ma sens matematyczny, czy składnia zawiera wszystkie konieczne słowa kluczowe (screen, and), oraz czy zapis jest spójny z resztą kodu. Wtedy media queries stają się przewidywalne i łatwiejsze do debugowania w narzędziach deweloperskich przeglądarki.

Pytanie 13

W dostępnej tabeli o nazwie przedmioty znajdują się pola: ocena oraz uczenID. Jakie zapytanie należy wykonać, aby obliczyć średnią ocenę ucznia z ID równym 7?

A. AVG SELECT ocena FROM przedmioty WHERE uczenID = 7;
B. SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;
C. SELECT COUNT(ocena) FROM przedmioty WHERE uczenID = 7;
D. COUNT SELECT ocena FROM przedmioty WHERE uczenID = 7;
Odpowiedź "SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7;" jest poprawna, ponieważ zastosowanie funkcji agregującej AVG pozwala na obliczenie średniej wartości ocen dla ucznia o konkretnym identyfikatorze. W SQL, funkcje agregujące, takie jak AVG, COUNT, SUM, MIN i MAX, są kluczowymi narzędziami do analizy i przetwarzania danych. W tym przypadku, AVG oblicza średnią wartość pól 'ocena' w tabeli 'przedmioty', gdzie spełniony jest warunek 'uczenID = 7'. To podejście jest zgodne z najlepszymi praktykami w SQL, które zalecają ograniczenie zbioru danych przed zastosowaniem funkcji agregujących, aby wyniki były precyzyjne i użyteczne. Przykładowo, jeśli w przyszłości chcielibyśmy obliczyć średnią ocen dla innych uczniów, moglibyśmy zmieniać wartość 'uczenID', co czyni to zapytanie bardzo elastycznym. Ponadto, umiejętność korzystania z funkcji agregujących jest niezbędna w kontekście analizy danych w systemach baz danych, co czyni tę wiedzę fundamentalną w pracy z SQL.

Pytanie 14

Które z poniższych poleceń przywróci funkcjonalność uszkodzonej tabeli w SQL?

A. REGENERATE TABLE tbl_name
B. OPTIMIZE TABLE tbl_name
C. REPAIR TABLE tbl_name
D. ANALYZE TABLE tbl_name
Polecenie REPAIR TABLE tbl_name jest używane w systemach zarządzania bazami danych, takich jak MySQL, do naprawy uszkodzonych tabel. Kiedy tabela ulega uszkodzeniu, na przykład z powodu błędów podczas zapisu danych, utraty zasilania lub problemów z dyskiem, REPAIR TABLE analizuje strukturę tabeli i podejmuje próby przywrócenia jej do stanu operacyjnego. Działanie to jest szczególnie przydatne w przypadku tabel typu MyISAM, które mogą być bardziej podatne na uszkodzenia niż inne silniki, takie jak InnoDB. Użycie tego polecenia jest stosunkowo proste: wystarczy wykonać zapytanie w formacie REPAIR TABLE nazwa_tabeli. W praktyce, aby zwiększyć bezpieczeństwo danych, zaleca się regularne wykonywanie kopii zapasowych oraz monitorowanie logów serwera bazy danych, co pozwala na wczesne wykrywanie problemów i minimalizowanie ryzyka utraty danych. Dodatkowo, dokumentacja MySQL podkreśla znaczenie tego polecenia jako narzędzia do utrzymania integralności baz danych, co czyni go nieocenionym w pracy administratora baz danych.

Pytanie 15

Który z przedstawionych ciągów znaków nie pasuje do wzorca wyrażenia regularnego określonego poniżej?

(([A-ZŁŻ][a-ząęóźżćńś]{2,})(-[A-ZŁŻ][a-ząęóźżćńś]{2,})?)
A. Nowakowska-Kowalska
B. Kowalski
C. Kasprowicza
D. Jelenia Góra
Wyrażenie regularne jest narzędziem do precyzyjnego przeszukiwania i manipulowania tekstem zgodnie z określonymi wzorcami. W podanym wzorcu, (([A-ZŁŻ][a-ząęóźżćńś]{2,})(-[A-ZŁŻ][a-ząęóźżćńś]{2,})?)?, szukamy ciągów rozpoczynających się dużą literą, następujących po niej przynajmniej dwóch małych liter, z możliwością oddzielenia myślnikiem i kolejną sekwencją podobnego formatu. Odpowiedź Jelenia Góra nie pasuje do tego wzorca, ponieważ zawiera spację, co łamie ciągłość wzorca. Wyrażenia regularne są kluczowe w przetwarzaniu danych tekstowych i walidacji, ponieważ pozwalają na dynamiczne określanie struktury danych. Przykłady zastosowania obejmują filtrowanie danych wejściowych w formularzach czy analizowanie logów serwerowych. W praktyce, stosując wyrażenia regularne, można skutecznie odróżniać i przetwarzać skomplikowane struktury tekstowe zgodnie z wymaganymi kryteriami, co jest standardem w branżach opartych na danych. Zrozumienie, jak działa taki wzorzec, pomaga w wielu zadaniach związanych z przetwarzaniem tekstu, w tym w programowaniu i analizie danych.

Pytanie 16

Który efekt został zaprezentowany na filmie?

A. Przenikanie zdjęć.
B. Zmniejszenie kontrastu zdjęcia.
C. Zwiększenie ostrości zdjęcia.
D. Zmiana jasności zdjęć.
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 17

DOM oferuje metody oraz właściwości, które w języku JavaScript umożliwiają

A. przesyłanie danych formularzy bezpośrednio do bazy danych
B. manipulację łańcuchami zdefiniowanymi w kodzie
C. pobieranie i zmianę elementów strony, która jest wyświetlana przez przeglądarkę
D. przeprowadzanie operacji na zmiennych zawierających liczby
Dobra robota! Odpowiedź jest poprawna, bo to właśnie DOM, czyli Document Object Model, pozwala programistom na zmianę struktury i stylu dokumentów HTML i XML. Dzięki DOM w JavaScript można na bieżąco zmieniać treść i układ strony bez konieczności jej przeładowania. Weźmy na przykład taki przypadek: chcemy zmienić tekst w elemencie <h1>. Robimy to, wybierając ten element metodą `document.getElementById()` i przypisując nową wartość do `innerHTML`. Standardy W3C mówią, jak to wszystko ma działać, dzięki czemu DOM jest uznawany w branży. Umiejętność manipulacji DOM jest mega ważna przy tworzeniu interaktywnych aplikacji webowych, jak różne formularze, które pozwalają użytkownikom dodawać i edytować dane. Dobrze wykorzystany DOM sprawia, że aplikacje są szybsze i bardziej responsywne, co jest kluczowe w nowoczesnym programowaniu front-end.

Pytanie 18

Definicja stylu w CSS, którą zaprezentowano, dotyczy odsyłacza, który

a:visited {color: orange;}
A. był wcześniej odwiedzany
B. posiada niepoprawny adres URL
C. jeszcze nigdy nie został odwiedzony
D. ma wskaźnik myszy umieszczony nad sobą
Pseudoklasa :visited w CSS jest używana do stylizowania odsyłaczy, które zostały już odwiedzone przez użytkownika. Oznacza to, że przeglądarka zapisuje informacje o odwiedzonych stronach w historii przeglądania i na tej podstawie zmienia styl odsyłacza. W przykładzie a:visited {color: orange;} zmienia kolor tekstu odwiedzonych linków na pomarańczowy. Jest to powszechna praktyka stosowana w projektowaniu stron internetowych, która pomaga użytkownikom wizualnie odróżniać odwiedzone odsyłacze od nieodwiedzonych, co poprawia ich orientację na stronie. Dobre praktyki projektowania zakładają tworzenie intuicyjnych interfejsów użytkownika i użycie mechanizmu :visited do poprawy użyteczności. Ważne jest, aby unikać stosowania bardziej zaawansowanych stylów w :visited, takich jak zmiana rozmiaru czcionki czy dodawanie obrazów tła, ze względu na ograniczenia bezpieczeństwa przeglądarek, które chronią prywatność użytkowników. Korzystanie z :visited w sposób świadomy i zgodny ze standardami W3C zwiększa efektywność nawigacji i jest istotnym elementem przyjaznego projektowania stron WWW

Pytanie 19

W języku PHP stwórz warunek, który będzie prawdziwy, gdy zmienna

$a 
będzie jakąkolwiek liczbą całkowitą mniejszą niż -10 lub gdy zmienna
$b 
będzie liczbą z zakresu (25, 75). Wyrażenie logiczne w tym warunku powinno mieć postać
A. ($a < -10) or (($b > 25) or ($b < 75))
B. ($a < -10) or (($b > 25) and ($b < 75))
C. ($a < -10) and (($b > 25) and ($b < 75))
D. ($a < -10) and (($b > 25) or ($b < 75))
Wyrażenie logiczne ($a < -10) or (($b > 25) and ($b < 75)) jest poprawne, ponieważ spełnia warunki określone w treści zadania. Warunek ten sprawdza, czy zmienna $a jest mniejsza od -10 lub czy zmienna $b mieści się w przedziale od 25 do 75, co oznacza, że musi być większa niż 25 oraz mniejsza niż 75 jednocześnie. Takie podejście jest zgodne z zasadami logiki i jest typowe w programowaniu w PHP. Praktycznym zastosowaniem tego typu warunków może być filtrowanie danych użytkowników na podstawie wieku lub kwot transakcji, gdzie istotne jest spełnienie kilku kryteriów. Warto również zauważyć, że użycie operatora 'or' w tym przypadku jest kluczowe, gdyż pozwala na spełnienie przynajmniej jednego z warunków, co jest istotne w kontekście przyjmowania danych. Dobre praktyki w programowaniu sugerują, aby zawsze dokładnie definiować warunki logiczne oraz unikać nadmiarowych złożoności, co czyni kod bardziej czytelnym i łatwiejszym w utrzymaniu.

Pytanie 20

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. unsigned
B. long
C. short
D. const
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 21

W języku JavaScript, w celu przekształcenia specjalnie przygotowanego tekstu w tablicę, można wykorzystać metodę

A. trim()
B. slice()
C. split()
D. replace()
Użycie metod takich jak trim(), replace() czy slice() w kontekście zamiany tekstu na tablicę jest nieprawidłowe z kilku powodów. Metoda trim() służy do usuwania białych znaków (spacji, tabulatorów itp.) z początku i końca ciągu znaków. Choć jest to przydatne w wielu sytuacjach, nie ma ona żadnego wpływu na strukturę samego tekstu, a tym samym nie może być używana do przekształcania ciągu w tablicę. Z kolei replace() jest metodą, która zastępuje podciąg w łańcuchu, ale nie dzieli go na elementy. Na przykład, użycie replace() na ciągu "Jan,Kasia,Piotr" z celem uzyskania tablicy spowoduje, że nadal będziemy mieć jeden łańcuch, w którym nie będą mogły wystąpić oddzielne elementy. Natomiast metoda slice() służy do wycinania określonej części łańcucha, co również nie prowadzi do generowania tablicy. Powszechnym błędem myślowym jest założenie, że te metody mogą spełniać funkcję podziału tekstu, podczas gdy ich rzeczywiste zastosowanie jest zupełnie inne. W praktyce, stosując metody, które nie są przeznaczone do dzielenia tekstu, programiści mogą napotkać problemy z wydajnością i czytelnością kodu, co jest sprzeczne z zasadami dobrego programowania. Zrozumienie różnicy między tymi metodami oraz ich odpowiednim zastosowaniem jest kluczowe dla efektywnej pracy z danymi tekstowymi i zapewnia, że procesy przetwarzania informacji w aplikacjach są zarówno efektywne, jak i łatwe do utrzymania.

Pytanie 22

W języku JavaScript właściwie zdefiniowana zmienna to

A. imie2
B. imię2
C. #imie
D. imię%
W języku JavaScript, poprawne nadawanie zmiennych jest kluczowym elementem programowania, który opiera się na zdefiniowanych zasadach dotyczących identyfikatorów. Zmienna musi zaczynać się od litery, znaku podkreślenia (_) lub znaku dolara ($), a następnie może zawierać litery, cyfry, znaki podkreślenia oraz znaki dolara. W przypadku odpowiedzi 'imie2', zaczyna się ona od litery i zawiera literę oraz cyfrę, co czyni ją poprawnym identyfikatorem. Zgodnie ze standardem ECMAScript, identyfikatory są rozróżniane na wielkie i małe litery, co oznacza, że 'Imie2' i 'imie2' będą traktowane jako różne zmienne. Praktycznym przykładem poprawnego użycia takiej zmiennej może być zapis: let imie2 = 'Jan'; console.log(imie2);. W wyniku tego, konsola wyświetli 'Jan'. Można również zauważyć, że zgodnie z zasadami, zmienne mogą być oznaczone jako let, const lub var, co dodaje elastyczności podczas deklaracji zmiennych w kodzie JavaScript.

Pytanie 23

Kod JavaScript aktywowany przez kliknięcie przycisku ma na celu ``` ```

A. zamienić obraz1.gif na obraz2.gif
B. zmienić styl obrazu o id i1
C. ukryć obraz2.gif
D. pokazać obraz2.gif obok obraz1.gif
Kod JavaScript w przedstawionym przykładzie został zaprogramowany w celu zamiany źródła obrazu na nowe po naciśnięciu przycisku. Gdy użytkownik kliknie na przycisk, wywołuje on funkcję, która zmienia atrybut 'src' elementu <img> z 'obraz1.gif' na 'obraz2.gif'. Jest to typowy sposób manipulacji elementami DOM w JavaScript, co jest fundamentalnym elementem programowania interakcji na stronach internetowych. Takie podejście jest zgodne z najlepszymi praktykami w zakresie programowania front-end, ponieważ pozwala na dynamiczne zmiany na stronie bez konieczności przeładowania całej strony. Przykładem praktycznego zastosowania może być użycie tego typu kodu w aplikacjach webowych, gdzie użytkownik może interaktywnie zmieniać widok, na przykład w galeriach zdjęć, grach przeglądarkowych czy aplikacjach do nauki. Zrozumienie tej techniki jest kluczowe dla każdego programisty front-end, ponieważ efektywne wykorzystanie JavaScript do manipulacji DOM jest jednym z podstawowych narzędzi w budowie nowoczesnych aplikacji webowych.

Pytanie 24

Na tabeli muzyka, przedstawionej na schemacie, wykonano następującą kwerendę SQL. Co zostanie zwrócone przez tę zapytanie? SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';

Ilustracja do pytania
A. Czesław, Czechowski
B. pusty wynik
C. Czesław
D. Czesław, Niemen
Analiza błędnych odpowiedzi prowadzi do zrozumienia, dlaczego nie można ich uznać za poprawne w kontekście przedstawionego zapytania SQL. Odpowiedź 'Czesław' sugeruje, że zapytanie zwróci wykonawcę o takim imieniu. W rzeczywistości zapytanie SQL używa wzorca 'C%w', co oznacza, że szuka wykonawców, których imię i nazwisko zaczynają się na 'C' i kończą na 'w'. W tabeli nie ma wykonawcy spełniającego ten warunek. 'Czesław Niemen' mimo poprawnego początku nazwy, nie kończy się na 'w', co wyklucza tę odpowiedź. Podobnie, odpowiedzi sugerujące parę wykonawców, takie jak 'Czesław, Niemen' czy 'Czesław, Czechowski', również nie spełniają kryteriów wzorca, ponieważ żadne z nazwisk nie kończy się na 'w'. Typowym błędem myślowym przy takich zadaniach jest nieuwzględnienie pełnego warunku wzorca i skupienie się tylko na jego części początkowej. Użycie operatora LIKE z symbolem '%' wymaga zrozumienia, że jest to znak wieloznaczny, który pozwala na dowolną liczbę znaków między określonymi literami. Zlekceważenie tego aspektu prowadzi do błędnych wniosków. W praktyce, umiejętność poprawnego formułowania zapytań SQL i zrozumienie działania operatorów takich jak LIKE ma zasadnicze znaczenie dla pracy z bazami danych, szczególnie w kontekście wyszukiwania i filtrowania danych według określonych kryteriów. Prawidłowe wykorzystanie tych umiejętności pozwala na efektywną obsługę dużych zbiorów danych i jest kluczowym elementem skutecznego zarządzania informacją w przedsiębiorstwach i organizacjach.

Pytanie 25

Kod umieszczony w ramce tworzy tabelę, która zawiera

Ilustracja do pytania
A. jeden wiersz i dwa słupki
B. dwa wiersze i jeden słupek
C. jeden wiersz i jeden słupek
D. dwa wiersze i dwa słupki
Podany kod HTML tworzy tabelę z jednym wierszem i dwoma kolumnami ponieważ w strukturze tabeli element <tr> definiuje wiersz a element <td> definiuje komórkę w tym wierszu. W tym przypadku kod zawiera jeden element <tr> co wskazuje na pojedynczy wiersz oraz dwa elementy <td> co oznacza że w tym wierszu znajdują się dwie kolumny. Tego typu struktura jest powszechnie wykorzystywana do przedstawiania danych w formie tabelarycznej co jest standardową praktyką w web developmencie. Tabele HTML są kluczowym elementem w projektowaniu stron internetowych gdyż pozwalają na uporządkowane prezentowanie informacji często używane do tworzenia harmonogramów porównań czy formularzy. Ważne jest aby pamiętać o poprawnym zamykaniu znaczników oraz przestrzeganiu hierarchii struktury tabeli co zapewnia jej poprawne wyświetlanie w przeglądarkach. Dobrą praktyką jest również stosowanie zewnętrznych arkuszy CSS do stylizacji tabel co pozwala na oddzielenie struktury od prezentacji i ułatwia zarządzanie wyglądem strony. Znajomość i umiejętność tworzenia tabel jest niezbędna dla każdego web dewelopera ponieważ tabele stanowią fundamentalny element organizacji danych w HTML.

Pytanie 26

Jaką wartość zwróci funkcja w języku C++, jeśli parametry wynoszą a = 4 oraz b = 3?

long int fun1(int a, int b)
{
long int wynik = 1;
for (int i = 0; i < b; i++)
wynik *= a;
return wynik;
}
A. 1
B. 16
C. 12
D. 64
Rozpatrując niepoprawne odpowiedzi należy zauważyć że błędne zrozumienie działania pętli for oraz operacji w niej zawartych może prowadzić do niepoprawnych wyników. Niektórzy mogą błędnie zakładać że funkcja wykonuje dodawanie a nie mnożenie co prowadzi do odpowiedzi takich jak 12 lub 16. W rzeczywistości pętla for w tej funkcji przemnaża wartość zmiennej wynik przez a dla każdej iteracji co oznacza że wynik końcowy jest a podniesione do potęgi b. Błąd polegający na uznaniu że wynik to 12 może wynikać z pomyłki i traktowania operacji jak klasycznego dodawania zamiast przemnożenia a z kolei wynik 16 mógłby wynikać z błędnego wnioskowania że pętla wykonuje inną liczbę iteracji niż w rzeczywistości. Kolejnym częstym błędem jest nieprawidłowe przypisanie wartości początkowej do wyniku albo niezrozumienie że pętla zaczyna od 0 i iteruje do b-1. Takie błędne założenia mogą wynikać z niezrozumienia podstawowej składni i logicznych kroków algorytmu. Zrozumienie tego jak działa pętla for oraz jak operacje na zmiennych zmieniają ich wartości w trakcie iteracji jest kluczowe aby poprawnie przewidzieć wynik działania funkcji. Kluczem do poprawnego rozwiązania jest metodyczne sprawdzenie każdego kroku algorytmu co pozwoli uniknąć podobnych błędów w przyszłości. Zasady te są fundamentalne dla każdego programisty a ich zrozumienie ma zastosowanie w szerokim zakresie zagadnień programistycznych i algorytmicznych zapewniając nie tylko poprawność ale również efektywność pisanych programów. Poprawne zrozumienie tych podstaw umożliwia tworzenie bardziej złożonych i wydajnych algorytmów co jest kluczowe w środowisku zawodowym.

Pytanie 27

W języku HTML5 do wypełniania podpowiedzią kontrolki pola edycyjnego stosuje się atrybut

A. autofocus
B. pattern
C. required
D. placeholder
Poprawny atrybut to "placeholder". W HTML5 ten atrybut służy do wyświetlania tymczasowej podpowiedzi wewnątrz pola tekstowego, zanim użytkownik cokolwiek wpisze. Przeglądarka pokazuje ten tekst jaśniejszym kolorem i znika on automatycznie w momencie rozpoczęcia edycji. Z mojego doświadczenia to jest podstawowe narzędzie do delikatnego sugerowania użytkownikowi, czego dokładnie oczekujemy w danym polu. Przykład praktyczny: <input type="text" name="email" placeholder="np. [email protected]"> Tutaj placeholder pokazuje przykładowy format adresu e-mail, ale nie jest to domyślna wartość formularza – ten tekst nie zostanie wysłany na serwer, jeśli użytkownik nic nie wpisze. To ważne: placeholder to tylko wskazówka wizualna, nie zastępuje etykiety <label> ani walidacji. Dobre praktyki mówią, żeby używać placeholdera do krótkich, konkretnych podpowiedzi: format danych, przykład wpisu, skrócona instrukcja. Nie powinno się tam wrzucać długich opisów, bo użytkownik i tak ich nie zapamięta. W standardach dostępności (WCAG) podkreśla się też, że placeholder nie może zastępować labelki, bo osoby z niektórymi niepełnosprawnościami mogą mieć problem z jego odczytaniem. W realnych projektach stosuje się więc układ: opis pola w <label>, a w placeholderze tylko przykład, np. "123-456-789" dla telefonu albo "2024-12-31" dla daty. Taki sposób użycia jest uznawany za poprawny i profesjonalny.

Pytanie 28

Z ilustracji można odczytać, że użytkownik bazy danych posiada uprawnienia do:

Ilustracja do pytania
A. wyświetlania, aktualizacji i usuwania danych.
B. wyświetlania, dodawania i usuwania danych.
C. wyświetlania, dodawania i aktualizacji danych.
D. dodawania, aktualizacji i usuwania danych.
Na ilustracji widać listę uprawnień do bazy danych w typowym narzędziu administracyjnym (bardzo podobne okno można spotkać np. w phpMyAdminie). Zaznaczone są pola SELECT, UPDATE i DELETE, a niezaznaczone INSERT oraz FILE. W praktyce oznacza to, że użytkownik może odczytywać dane (SELECT), modyfikować istniejące rekordy (UPDATE) oraz je usuwać (DELETE), ale nie ma prawa dodawać nowych wierszy (INSERT) ani operować na plikach na serwerze (FILE). Dlatego poprawna odpowiedź to: „wyświetlania, aktualizacji i usuwania danych”. SELECT odpowiada za wyświetlanie/odczyt danych, UPDATE za aktualizację rekordów, a DELETE za kasowanie danych w tabelach. W administracji bazą danych takie precyzyjne rozróżnienie uprawnień jest jedną z podstawowych dobrych praktyk bezpieczeństwa: użytkownik powinien mieć dokładnie takie prawa, jakich potrzebuje do pracy (zasada najmniejszych uprawnień – least privilege). Na przykład: typowy użytkownik aplikacji raportującej potrzebuje zwykle tylko SELECT, bo ma jedynie oglądać dane. Pracownik działu obsługi klienta może mieć SELECT i UPDATE, aby poprawiać błędne dane klientów, ale niekoniecznie DELETE, żeby przypadkiem nie usuwać rekordów. Z kolei konto techniczne używane przez skrypty migracyjne albo instalator systemu może mieć pełen zestaw: SELECT, INSERT, UPDATE, DELETE. Moim zdaniem warto od razu kojarzyć te nazwy z typowymi poleceniami SQL, bo później, przy pisaniu zapytań w kodzie (PHP, JavaScript z backendem, itp.), dokładnie te same słowa kluczowe pojawiają się w instrukcjach. Jeśli system pokazuje uprawnienia tak jak na obrazku, zawsze patrz najpierw, które checkboxy są zaznaczone, i od razu tłumacz je sobie na: odczyt, dodawanie, zmiana, usuwanie danych.

Pytanie 29

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. podawać liczbę wierszy, które są w wynikach zapytania
B. oddawać następny rekord z wyników zapytania
C. zwracać rekord, którego numer został przekazany jako parametr funkcji
D. przyporządkować numery rekordom w bazie danych
Wszystkie pozostałe odpowiedzi są niepoprawne z kilku kluczowych powodów. Pierwsza z niepoprawnych odpowiedzi sugeruje, że funkcja mysql_num_rows ma na celu ponumerowanie rekordów w bazie danych. Takie podejście jest mylące, ponieważ mysql_num_rows nie modyfikuje ani nie przechowuje żadnych danych w bazie, a jedynie zwraca informację o liczbie wierszy w zestawie wyników, co w żaden sposób nie wiąże się z ich numerowaniem. Kolejna błędna odpowiedź wskazuje, że funkcja miałaby zwracać kolejny rekord z wynikami zapytania. W rzeczywistości, mysql_num_rows nie zwraca danych samych w sobie, lecz jedynie informację o ich liczbie, co czyni tę odpowiedź zupełnie nietrafioną. Ostatnia niepoprawna odpowiedź sugeruje, że funkcja zwraca rekord na podstawie numeru podanego w jej parametrze. Znowu, taka interpretacja jest nieprawidłowa, ponieważ mysql_num_rows nie przyjmuje parametrów odnoszących się do konkretnych rekordów, a jedynie do zmiennej wynikowej, która zawiera efekty zapytania SQL. W związku z tym, każde z tych stwierdzeń nieodzwierciedla rzeczywistej funkcji mysql_num_rows i jej zastosowania w kontekście zarządzania i przetwarzania danych w PHP.

Pytanie 30

Zapis koloru w formacie #ff00e0 jest równoważny reprezentacji

A. rgb(255, 0, 224)
B. rgb(ff, 0, e0)
C. rgb(f, 0, e0)
D. rgb(255, 0, 128)
Odpowiedzi rgb(f, 0, e0) oraz rgb(ff, 0, e0) zawierają błędy dotyczące formatu wartości RGB. W przypadku formatu RGB, wartości składowych koloru muszą być liczbami całkowitymi w przedziale od 0 do 255. W pierwszym przypadku 'f' i 'e0' nie są poprawnymi wartościami, ponieważ 'f' nie reprezentuje liczby w systemie dziesiętnym, a 'e0' nie zostało przeliczone na wartość dziesiętną, co czyni tę odpowiedź niezgodną ze standardami definiowania kolorów. Z kolei druga odpowiedź, rgb(ff, 0, e0), również nie przekształca wartości szesnastkowych na format dziesiętny. Standard RGB wymaga, aby wartości były zrozumiałe dla silnika renderującego, dlatego niepoprawne są wartości, które nie są liczbami całkowitymi. Pojawiają się też koncepcje dotyczące odczytywania wartości szesnastkowych, gdzie podstawowym błędem jest brak znajomości konwersji między tymi systemami liczbowymi. Wartości szesnastkowe trzeba zamieniać na dziesiętne, aby prawidłowo interpretować kolory. W przypadku rgb(255, 0, 128), wartość niebieska została błędnie określona jako 128, co jest znacznie niższe niż 224, co prowadzi do błędnej interpretacji koloru. Używanie błędnych wartości w definicji kolorów może skutkować niezgodnością wizualną w projektach graficznych i webowych.

Pytanie 31

Która z reguł dotyczących sekcji w HTML jest właściwa?

A. W sekcji <head> znajduje się sekcja <body>
B. W sekcji <head> można definiować szablon strony przy użyciu znaczników <div>
C. W sekcji <head> mogą znajdować się znaczniki <meta>, <title>, <link>
D. W sekcji <head> nie można umieszczać kodu CSS, tylko odwołanie do pliku CSS
Sekcja <head> w HTML bardzo często bywa mylona z miejscem na wszystko, czego akurat nie chcemy pokazać użytkownikowi, i stąd biorą się różne dziwne pomysły na jej wykorzystanie. Tymczasem zgodnie ze specyfikacją HTML <head> służy do umieszczania metadanych o dokumencie, a nie właściwej struktury layoutu czy treści. Pojawia się czasem przekonanie, że w <head> nie wolno umieszczać kodu CSS, a jedynie odwołanie do zewnętrznego pliku. To nie jest prawda: jak najbardziej można stosować znacznik <style> z osadzonym CSS-em wewnętrznym. Po prostu w praktyce branżowej częściej używa się <link rel="stylesheet" href="...">, bo rozdzielenie HTML i CSS ułatwia utrzymanie kodu i ponowne wykorzystanie stylów. To jest kwestia dobrych praktyk, a nie twardego zakazu. Kolejne nieporozumienie to pomysł, że w <head> znajduje się sekcja <body>. Struktura dokumentu HTML jest jasno zdefiniowana: <head> i <body> są rodzeństwem, obydwa bezpośrednio w <html>. <body> nie może być zagnieżdżony w <head>, bo łamie to standard i prowadzi do nieprzewidywalnego zachowania przeglądarki, które co najwyżej próbuje „naprawić” taki dokument po swojemu. Równie mylące jest traktowanie <head> jako miejsca na „szablon” strony z użyciem znaczników <div>. Cały układ, kontenery, kolumny, nagłówki, sekcje itp. powinny znajdować się w <body>, bo to są elementy treściowe lub strukturalne widoczne dla użytkownika. W <head> trzymamy tylko informacje opisujące dokument, jak <meta>, <title>, <link>, ewentualnie <script> czy <style>, ale nie semantyczny layout. Typowy błąd myślowy polega na mieszaniu pojęcia „nagłówek strony” (np. baner z logo) z „nagłówkiem dokumentu” HTML, czyli sekcją <head>. Ten pierwszy jest zwykle tworzony w <body> za pomocą <header> i <div>, a ten drugi to czysto techniczna część dokumentu przeznaczona dla przeglądarki, wyszukiwarek i innych narzędzi, a nie dla bezpośredniej prezentacji użytkownikowi.

Pytanie 32

Jakim słowem kluczowym można zestawić wyniki dwóch zapytań SELECT, które operują na różnych tabelach, aby utworzyć jeden zbiór danych?

A. UNION
B. JOIN
C. AS
D. DISTINCT
Odpowiedzi takie jak JOIN, DISTINCT i AS są niepoprawne w kontekście łączenia wyników kwerend SELECT z różnych tabel w jeden zbiór. JOIN jest używane do łączenia rekordów z dwóch tabel na podstawie powiązania między nimi, co oznacza, że wymaga istnienia relacji między danymi, co nie jest przypadkiem w każdym scenariuszu, w którym chcemy połączyć wyniki. INCLUDES, które może być naturalnym skojarzeniem z łączeniem danych, nie pasuje do sytuacji, gdy kwerendy SELECT są niezależne od siebie. DISTINCT natomiast jest używane do eliminowania duplikatów z wyników jednej kwerendy, ale nie służy do łączenia wyników z różnych źródeł. Wreszcie, AS jest używane głównie do nadawania aliasów kolumnom lub tabelom, co nie ma zastosowania w kontekście łączenia wyników kwerend. Typowym błędem myślowym jest zakładanie, że każde słowo kluczowe związane z SELECT może być użyte do łączenia wyników, podczas gdy każde z nich ma swoje specyficzne zastosowanie i ograniczenia. Zrozumienie tych różnic jest kluczowe dla prawidłowego stosowania SQL w praktyce i tworzenia efektywnych zapytań, które zwracają oczekiwane wyniki.

Pytanie 33

Który z linków ma poprawną formę?

A. <a href='mailto:adres'>tekst</a>
B. <a href="mailto:adres">tekst</a>
C. <a href='http://:adres'>tekst</a>
D. <a href="http://adres">tekst</a>
Pierwsza z niepoprawnych odpowiedzi wykorzystuje pojedyncze cudzysłowy w atrybucie 'href' oraz niepoprawny format adresu e-mail. Chociaż pojedyncze cudzysłowy są dozwolone, w kontekście standardów HTML zaleca się stosowanie podwójnych cudzysłowów. Druga odpowiedź przedstawia nieprawidłowy format adresu URL z dodatkowym dwukropkiem po 'http://', co czyni go niekompletnym i niezgodnym z zasadami tworzenia linków w HTML. Taki błąd uniemożliwia prawidłowe załadowanie strony internetowej oraz może prowadzić do niepoprawnego działania linków. Trzecia odpowiedź używa nietypowych cudzysłowów (\"\" zamiast standardowych podwójnych cudzysłowów), co nie jest zgodne z konwencjami kodowania w HTML i może prowadzić do problemów z interpretacją przez przeglądarki. Użycie odpowiednich cudzysłowów jest kluczowe dla prawidłowego działania kodu HTML i zapobiega potencjalnym błędom w renderowaniu strony. Wszelkie niezgodności z przyjętymi standardami mogą negatywnie wpłynąć na jakość i funkcjonalność strony internetowej, co ma znaczenie również z perspektywy SEO.

Pytanie 34

Instrukcję for można zastąpić inną instrukcją

A. continue
B. case
C. switch
D. while
Instrukcja `while` jest poprawnym zamiennikiem dla instrukcji `for` w kontekście iteracji, ponieważ obie służą do powtarzania bloków kodu, dopóki spełniony jest określony warunek. Główna różnica polega na sposobie deklaracji warunków iteracji. W instrukcji `for` często używamy jej do iteracji po znanym zakresie, np. od 0 do n, co jest typowe w wielu zastosowaniach, takich jak przetwarzanie elementów tablicy. Natomiast `while` idealnie nadaje się do sytuacji, gdzie liczba iteracji jest nieznana na początku i zależy od dynamicznie ocenianych warunków. Przykładem może być przetwarzanie danych, gdzie pętla `while` kontynuuje działanie, aż do momentu, gdy nie napotka na wartość końcową, co jest szczególnie przydatne w algorytmach przetwarzania strumieni danych. Ponadto, od strony wydajnościowej, wybór między `for` a `while` powinien być uzależniony od contextu, w jakim są używane. Dobrą praktyką jest dopasowanie rodzaju pętli do specyfiki problemu, co zwiększa czytelność i efektywność kodu.

Pytanie 35

Kaskadowe arkusze stylów są tworzone w celu

A. nadpisywania wartości znaczników, które już funkcjonują na stronie
B. blokowania wszelkich zmian w wartościach znaczników już przypisanych w pliku CSS
C. ułatwienia formatowania strony
D. połączenia struktury dokumentu strony z odpowiednią formą jego wyświetlania
Wszystkie pozostałe odpowiedzi nie odzwierciedlają prawidłowego zrozumienia roli, jaką pełnią kaskadowe arkusze stylów w procesie tworzenia stron internetowych. Nadpisywanie wartości znaczników już ustawionych na stronie jest jednym z aspektów działania CSS, ale nie jest to jego główny cel. CSS pozwala na nadpisanie stylów, jednak kluczowym elementem jest możliwość łatwego zarządzania oraz modyfikacji wyglądu całej witryny poprzez centralne arkusze, a nie jedynie lokalne zmiany. Połączenie struktury dokumentu z formą jego prezentacji to w rzeczy samej cel CSS, ale nie jest to odpowiednia odpowiedź, ponieważ bardziej odnosi się do ogólnej koncepcji tworzenia stron internetowych niż do konkretnej funkcji CSS. Ostatnia z propozycji, czyli blokowanie zmian w wartościach znaczników, jest mylna, ponieważ CSS ma na celu umożliwienie, a nie blokowanie, wprowadzania zmian. Rola CSS polega na tym, że dzięki niemu można swobodnie modyfikować wygląd strony bez wpływania na samą strukturę HTML, co czyni go niezwykle elastycznym narzędziem w rękach web deweloperów.

Pytanie 36

W relacyjnych bazach danych dane zapisywane są w

A. wektorach.
B. kolejkach.
C. listach.
D. tabelach.
W relacyjnych bazach danych dane są przechowywane w tabelach, bo cały model relacyjny opiera się właśnie na pojęciu tabeli (relacji). Tabela to po prostu uporządkowany zbiór wierszy i kolumn: kolumny opisują strukturę danych (np. id, imię, nazwisko, email), a wiersze przechowują konkretne rekordy, czyli pojedyncze wpisy. Każda kolumna ma określony typ danych, np. INTEGER, VARCHAR, DATE, co pozwala silnikowi bazy danych kontrolować poprawność zapisów i optymalizować zapytania. Tak to działa w typowych systemach jak MySQL, PostgreSQL, SQL Server czy Oracle – wszędzie podstawową jednostką przechowywania danych użytkownika jest tabela. W praktyce, kiedy projektujesz bazę dla sklepu internetowego, tworzysz tabele takie jak users, products, orders, order_items. Potem za pomocą języka SQL wykonujesz na tych tabelach operacje SELECT, INSERT, UPDATE, DELETE. Klucze główne i obce też odnoszą się do tabel – klucz główny jednoznacznie identyfikuje wiersz w tabeli, a klucz obcy wskazuje na wiersz w innej tabeli, tworząc relację między nimi. To właśnie dzięki tabelom i relacjom możesz łączyć dane z wielu miejsc, np. pobrać zamówienia wraz z danymi klienta jednym zapytaniem. Moim zdaniem warto od początku myśleć o tabeli jak o odpowiedniku arkusza w Excelu, tylko z dużo bardziej rygorystycznymi zasadami i możliwością zaawansowanych zapytań. Standard SQL zakłada, że operujemy na relacjach, a w implementacjach relacja = tabela. Dlatego odpowiedź „tabelach” jest zgodna zarówno z teorią modelu relacyjnego, jak i z praktyką codziennej pracy z bazami danych.

Pytanie 37

Utworzono bazę danych z tabelą mieszkańcy, która zawiera pola: nazwisko, imię oraz miasto. Następnie przygotowano poniższe zapytanie do bazy:
SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' UNION ALL SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Kraków';
Wskaż zapytanie, które zwróci takie same dane.

A. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto BETWEEN 'Poznań' OR 'Kraków';
B. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto HAVING 'Poznań' OR 'Kraków';
C. SELECT nazwisko, imie FROM mieszkańcy AS 'Poznań' OR 'Kraków';
D. SELECT nazwisko, imie FROM mieszkańcy WHERE miasto='Poznań' OR miasto='Kraków';
Wybór błędnych odpowiedzi wynika z nieprawidłowego zrozumienia podstawowych zasad użycia operatorów w SQL oraz sposobu, w jaki warunki filtracji danych powinny być konstruowane. Zapytanie, które wykorzystuje BETWEEN, jest stosowane do porównywania wartości w określonym zakresie, ale w tym przypadku nie jest możliwe wskazanie dwóch różnych wartości, jak w przypadku miast. Operator OR w kontekście BETWEEN nie ma zastosowania, co sprawia, że ta koncepcja jest fundamentalnie błędna. Z drugiej strony, użycie HAVING jest niewłaściwe, ponieważ służy do filtrowania wyników po agregacji danych, a nie do bezpośredniej filtracji na podstawie wartości. Dodatkowo, konstrukcja SELECT z aliasem 'Poznań' OR 'Kraków' jest syntaktycznie niepoprawna, ponieważ operator OR nie może być użyty w tym kontekście. Typowym błędem w myśleniu jest mylenie operatorów logicznych i ich zastosowania w różnych kontekstach zapytań SQL. Zrozumienie, kiedy używać WHERE, HAVING oraz jak działa składnia zapytań, jest kluczowe dla poprawnego pisania i optymalizacji zapytań baz danych.

Pytanie 38

W języku JavaScript zadeklarowano funkcję.
function absValue(f) {
    return Math.abs(f);
}

A. zwrócić wartość przeciwną do f
B. zwrócić wartość bezwzględną z f
C. wypisać wartość bezwzględną z f
D. wypisać wartość przeciwną do f
Poprawna odpowiedź to „zwrócić wartość bezwzględną z f”. Funkcja absValue(f) korzysta z wbudowanej metody Math.abs(), która zwraca wartość bezwzględną liczby przekazanej jako argument. Oznacza to, że jeśli liczba f jest ujemna, zostanie zamieniona na dodatnią, a jeśli dodatnia — pozostanie bez zmian. Funkcja nie wypisuje wartości, lecz zwraca wynik, który można następnie wykorzystać w dalszych obliczeniach. Takie podejście jest często stosowane w programowaniu, gdy chcemy operować na wielkościach zawsze nieujemnych, np. przy obliczaniu różnic, odległości lub w analizie danych numerycznych.

Pytanie 39

W SQL, po wykonaniu przedstawionych poleceń GRANT, prawo do edytowania struktury tabeli oraz jej usunięcia zostanie przyznane

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@'localhost';
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Adamowi i Annie
B. Tomaszowi i Adamowi
C. tylko Annie
D. Tomaszowi i Annie
SQL jest językiem służącym do zarządzania bazami danych a przydzielanie uprawnień jest kluczowym aspektem utrzymania ich bezpieczeństwa i integralności. W powyższym kontekście niepoprawne odpowiedzi wynikają z błędnego zrozumienia mechanizmu przydzielania uprawnień. W przypadku Tomasza polecenie GRANT SELECT INSERT UPDATE ON firmy odnosi się do uprawnień które nie obejmują zmiany struktury tabeli czy jej usuwania. SELECT INSERT i UPDATE to operacje które dotyczą przetwarzania danych wewnątrz tabeli a nie jej struktury. Podobnie przydzielenie uprawnień tylko Annie nie obejmowałoby pełnego zestawu uprawnień do wszystkich operacji które Adam otrzymuje poprzez GRANT ALL. W praktyce często spotyka się błędne założenie że przydzielenie wszystkich uprawnień jednemu użytkownikowi jest optymalnym rozwiązaniem jednak w rzeczywistości wiąże się to z potencjalnym ryzykiem związanym z bezpieczeństwem dlatego właściwe zarządzanie uprawnieniami wymaga głębokiego zrozumienia i przemyślanej strategii. Dzięki zrozumieniu różnicy między tymi uprawnieniami można lepiej planować bezpieczeństwo i zarządzanie dostępem do bazy danych w organizacji co jest zgodne z najlepszymi praktykami branżowymi.

Pytanie 40

Zaprezentowano kod dla tabeli 3x2. Jaką modyfikację należy wprowadzić w drugim wierszu, aby tabela przypominała tę z obrazka, gdzie wiersz jest niewidoczny?

<table>
    <tr>
        <td style="border: solid 1px;">Komórka 1</td>
        <td style="border: solid 1px;">Komórka 2</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 3</td>
        <td style="border: solid 1px;">Komórka 4</td>
    </tr>
    <tr>
        <td style="border: solid 1px;">Komórka 5</td>
        <td style="border: solid 1px;">Komórka 6</td>
    </tr>
</table>
/efekt jest na obrazie - nie dołączam - nie analizuj/
Ilustracja do pytania
A. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"clear: none"</span>&gt;</pre>
B. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: none"</span>&gt;</pre>
C. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"display: table-cell"</span>&gt;</pre>
D. <pre class="code-block">&lt;tr <span class="code-text">style=</span><span class="code-string">"visibility: hidden"</span>&gt;</pre>
Zastosowanie niewłaściwych właściwości CSS w tabelach może prowadzić do niezamierzonych efektów wizualnych i funkcjonalnych. 'Display: none' usunąłby wiersz z układu dokumentu, co skutkowałoby przesunięciem w górę wierszy poniżej. To podejście jest użyteczne, gdy element powinien być całkowicie usunięty z przestrzeni wizualnej i układu, ale nie spełniałoby celu przedstawionego w pytaniu, gdzie układ ma pozostać niezmieniony. Z kolei 'clear: none' jest właściwością CSS dotyczącą floatów, a nie widoczności, co oznacza, że nie miałoby żadnego wpływu na wyświetlanie wiersza tabeli. Jest to typowy błąd polegający na myleniu właściwości CSS w kontekście ukrywania elementów. Właściwość 'display: table-cell' jest stosowana dla elementów traktowanych jako komórki tabeli, co nie jest odpowiednie dla wierszy tabeli. Wybierając tę właściwość, użytkownik mógłby mylnie sądzić, że ma to wpływ na widoczność, podczas gdy w rzeczywistości zmienia jedynie sposób renderowania elementu. Prawidłowe rozumienie różnic między 'visibility' a 'display' jest kluczowe w tworzeniu przewidywalnych i stabilnych interfejsów użytkownika, co jest jednym z fundamentów dobrego projektowania front-endu. Wybór niewłaściwego podejścia do ukrywania elementów może prowadzić do niepożądanych zmian w interfejsie, co wpływa na użyteczność i estetykę strony.