Wyniki egzaminu

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

Egzamin zdany!

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

W regule CSS h1 { color: blue } czym jest h1?

A. wartością
B. selektorem
C. klasą
D. deklaracją
W regule h1 { color: blue } element h1 przed nawiasem klamrowym to SELEKTOR - wskazuje, których elementów dotyczy styl (tu wszystkich nagłówków <h1>). Dlatego h1 jest selektorem.

Pytanie 2

W tabeli podzespoly należy zaktualizować wartość pola URL na "toshiba.pl" dla wszystkich wierszy, gdzie producent to TOSHIBA. W SQL zapis tej modyfikacji będzie wyglądać następująco:

A. UPDATE podzespoly SET URL = 'toshiba.pl' WHERE producent = 'TOSHIBA';
B. UPDATE podzespoly.producent = 'TOSHIBA' SET URL = 'toshiba.pl';
C. UPDATE podzespoly SET URL = 'toshiba.pl'
D. UPDATE producent = 'TOSHIBA' SET URL = 'toshiba.pl';
Wszystkie zaproponowane odpowiedzi, z wyjątkiem pierwszej, są błędne z kilku powodów. Po pierwsze, w drugiej odpowiedzi próbujesz ustawić wartość 'TOSHIBA' dla producenta, co jest niewłaściwe, ponieważ nie określasz, na jakiej tabeli to ma być wykonane. W SQL, składnia UPDATE wymaga wskazania tabeli przed wskazaniem, co ma być zmienione. Ponadto, nie może być tak, że producent jest aktualizowany bez kontekstu tabeli, w której się znajduje. W trzeciej odpowiedzi brakuje klauzuli WHERE, co oznacza, że jeśli komenda zostanie wykonana, to URL dla wszystkich rekordów w tabeli 'podzespoly' zostanie zmieniony na 'toshiba.pl', co jest niepożądane w przypadku chęci aktualizacji tylko niektórych rekordów. Czwarta odpowiedź również jest błędna przez to, że próbuje ustawić producenta jako parametr w kontekście polecenia UPDATE, co nie ma sensu w SQL. Kluczowe znaczenie ma właściwe zrozumienie struktury zapytań SQL oraz ich składni, aby uniknąć typowych problemów związanych z modyfikacją danych. W pracy z bazami danych istotne jest również, by zawsze testować zapytania na mniejszych zbiorach danych lub w środowiskach testowych przed ich wdrożeniem w produkcji, aby zminimalizować ryzyko błędów i utraty danych. Zrozumienie tych elementów jest kluczowe dla poprawnego zarządzania bazami danych.

Pytanie 3

Którą wartość atrybutu name znacznika <meta> wykorzystuje się do kontrolowania obszaru widzialnego na różnych urządzeniach, na których jest wyświetlana strona internetowa?

A. keywords
B. description
C. viewport
D. generator
Poprawnie wskazana została wartość „viewport”. W praktyce właśnie meta name="viewport" służy do kontrolowania tzw. obszaru widzialnego (ang. viewport) na urządzeniach mobilnych i desktopowych. Przeglądarka mobilna domyślnie zakłada szeroką stronę i sztucznie ją pomniejsza, żeby „zmieściła się” na ekranie telefonu. Dopiero meta viewport mówi jej: potraktuj szerokość ekranu urządzenia jako bazową szerokość strony.
Najczęściej spotykana, zgodna z dobrymi praktykami konstrukcja to: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Parametr width=device-width ustawia szerokość obszaru widzialnego na szerokość ekranu urządzenia, a initial-scale=1.0 definiuje początkowe powiększenie. Dzięki temu layout responsywny oparty na media queries w CSS działa poprawnie, bez dziwnych przeskalowań i zbyt małej czcionki.
W nowoczesnym front-endzie przyjmuje się, że każda strona, która ma być używalna na telefonach, tabletach i laptopach, powinna mieć prawidłowo ustawiony meta viewport. Moim zdaniem to jest absolutna podstawa RWD, zaraz obok poprawnego użycia jednostek względnych (np. %, vw, em) i zaprojektowania siatki w CSS. Warto też pamiętać, żeby nie przesadzać z blokowaniem powiększania (np. user-scalable=no), bo to pogarsza dostępność strony dla osób słabiej widzących i jest uznawane za złą praktykę. Podsumowując: jeśli chcesz mieć stronę, która naprawdę „żyje” na różnych ekranach, meta name="viewport" to obowiązkowy element w sekcji <head>.

Pytanie 4

Zapis CSS

margin: auto;
wskazuje, że marginesy są
A. dziedziczone z elementu nadrzędnego dla danego obiektu
B. równe domyślnym wartościom marginesów elementu, do którego są przypisane
C. stałe dla konkretnej przeglądarki, niezależnie od rozmiaru jej okna
D. obliczane przez przeglądarkę w taki sposób, aby element został wyśrodkowany poziomo
Wybór odpowiedzi, że marginesy są odziedziczone po elemencie rodzica, jest niepoprawny, ponieważ w CSS marginesy nie są dziedziczone tak jak inne właściwości, takie jak kolor tekstu czy czcionka. Marginesy są zazwyczaj stosowane jako zewnętrzna przestrzeń wokół elementów, a ich wartości są określane niezależnie od elementów rodzicielskich. Wartości marginesów są zdefiniowane dla danego elementu, a nie dziedziczone, co oznacza, że każde wystąpienie marginesu jest osobno specyficzne dla swojego elementu. Ponadto, stwierdzenie, że marginesy są stałe dla danej przeglądarki, niezależnie od rozmiaru jej okna, również jest błędne. CSS pozwala na elastyczne dopasowywanie marginesów i innych właściwości w zależności od układu strony i rozmiaru okna przeglądarki. Z kolei twierdzenie, że marginesy są równe domyślnym wartościom marginesów elementu, jest mylące, ponieważ domyślne wartości mogą różnić się w zależności od przeglądarki, a także są często nadpisywane przez style CSS. Typowym błędem myślowym jest zakładanie, że wszystkie właściwości CSS są dziedziczne, co prowadzi do nieporozumień w implementacji i projektowaniu układów stron. Warto zapoznać się z dokumentacją i standardami CSS, aby lepiej zrozumieć, jak działa model pudełkowy oraz właściwości marginesów.

Pytanie 5

Jaką wartość przyjmie zmienna $a po wykonaniu poniższej sekwencji poleceń w języku PHP?

$a = 1; $a++; $a += 10; --$a;
A. 12
B. 10
C. 1
D. 11
Gratulacje, Twoja odpowiedź jest prawidłowa. Instrukcje wykonane w kodzie PHP prowadzą do osiągnięcia wartości 11 przez zmienną 'a'. Proces ten jest realizowany w czterech krokach. Najpierw zmienna 'a' jest inicjowana wartością 1. Następnie wartość ta jest zwiększana o 1, co daje nam 2. Do tej wartości dodawane jest 10, co daje nam łącznie 12. Na końcu, wartość ta jest zmniejszana o 1, co daje nam ostateczną wartość 11. Warto przypomnieć, że w języku programowania PHP, tak jak w większości języków, operacje są wykonywane od lewej do prawej. To jest ważne do zapamiętania, gdy mamy do czynienia z bardziej skomplikowanymi sekwencjami operacji.

Pytanie 6

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

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

Pytanie 7

Który z przedstawionych obrazów został przetworzony przy użyciu podanego stylu CSS?

Ilustracja do pytania
A. Rys. A
B. Rys. C
C. Rys. B
D. Rys. D
Analizując inne odpowiedzi, możemy zidentyfikować kluczowe błędy wynikające z niezrozumienia bądź błędnej interpretacji właściwości CSS zastosowanych w stylu. Należy zwrócić uwagę na rozbieżności między oczekiwanym efektem a rzeczywistym wyglądem obrazów. W przypadku Rys. B, obraz nie posiada żadnego marginesu ani zaokrąglonych rogów, co świadczy o nieobecności zastosowanego stylu border-radius oraz padding. Ten brak zaokrąglenia sugeruje pominięcie istotnego aspektu estetycznego, jakim jest border-radius w CSS, który jest często używany do poprawienia odbioru wizualnego. Rys. C z kolei może mieć prawidłowy kolor obramowania, ale brak zaokrąglonych rogów również sygnalizuje, że styl nie został w pełni zastosowany zgodnie z założeniami CSS. Natomiast Rys. D wykazuje zastosowanie obramowania przerywanego, co wskazuje na nieodpowiednie użycie właściwości border-style, która w zadaniu powinna być ustawiona na solid. To błędne użycie stylu obramowania pokazuje złą interpretację specyfikacji CSS, gdzie ciągła linia jest wymagana. Podsumowując, wybór innej niż Rys. A odpowiedzi wskazuje na pominięcie kluczowych cech stylu CSS, takich jak padding i border-radius, które są istotne dla poprawnego renderowania wizualnego elementów interfejsu w zgodności z projektowymi standardami i praktykami branżowymi.

Pytanie 8

Który z formatów to format grafiki WEKTOROWEJ?

A. PNG
B. SVG
C. JPG
D. GIF
Pozostałe formaty są RASTROWE - przechowują obraz jako siatkę pikseli, więc przy powiększaniu tracą ostrość. JPG kompresuje stratnie (zdjęcia), PNG bezstratnie (z przezroczystością), a GIF obsługuje proste animacje. Wektorowy z tej listy jest tylko SVG.

Pytanie 9

Który format NIE służy do publikacji grafiki lub animacji w internecie?

A. PNG
B. SWF
C. SVG
D. AIFF
Pozostałe formaty wykorzystywano w sieci do obrazów lub animacji. PNG to rastrowy format graficzny z przezroczystością, SVG to grafika wektorowa opisywana w XML, a SWF to dawny format animacji Flash. Tylko AIFF przechowuje dźwięk, więc to on nie należy do formatów graficznych.

Pytanie 10

Który fragment definicji dwukolumnowej tabeli odpowiada efektowi scalenia komórki 1 i 3, przedstawionemu na ilustracji?

Ilustracja do pytania
A. <td rowspan="2">komórka1+3</td>
B. <td rowspan="3">komórka1+3</td>
C. <td colspan="3">komórka1+3</td>
D. <td colspan="2">komórka1+3</td>
Poprawnie wskazałeś fragment z atrybutem rowspan, czyli: <td rowspan="2">komórka1+3</td>. W HTML atrybut rowspan służy do scalania komórek tabeli w pionie, czyli wzdłuż wierszy. W tym przykładzie tabela ma dwie kolumny, a komórka „komórka1+3” zajmuje miejsce pierwszej komórki w pierwszym wierszu oraz pierwszej komórki w drugim wierszu. Dlatego właśnie wartość rowspan musi być równa 2 – ta jedna komórka rozciąga się na dwa wiersze. Gdy przeglądarka widzi taki zapis, rezerwuje dla tej komórki obszar dwóch komórek pod sobą, a w kodzie HTML w kolejnym wierszu pomijamy już odpowiednią liczbę komórek w tej kolumnie. Z mojego doświadczenia wynika, że przy projektowaniu tabel dobrze jest sobie najpierw „narysować” układ na kartce: ile wierszy, ile kolumn, które komórki się łączą. Potem łatwo dobrać czy potrzebujemy colspan (łączenie w poziomie – kolumny), czy rowspan (łączenie w pionie – wiersze). W specyfikacji HTML Living Standard dokładnie tak to jest opisane: rowspan określa, na ile wierszy rozciąga się dana komórka. W praktyce scalanie komórek przydaje się np. przy tworzeniu nagłówków tabel z opisami grup kolumn, przy harmonogramach, planach lekcji, cennikach, gdzie jedna pozycja obowiązuje przez kilka wierszy. Warto też pamiętać o semantyce: tam gdzie to możliwe, dla nagłówków stosujemy <th> z rowspan lub colspan, a dla zwykłych danych <td>. Taki porządek w kodzie ułatwia późniejsze stylowanie CSS i poprawia dostępność, bo czytniki ekranu lepiej rozumieją strukturę tabeli.

Pytanie 11

Przedstawiony styl generuje pojedyncze obramowanie, które posiada następujące właściwości:

border: solid 1px;
border-color: red blue green yellow;
A. krawędź prawa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź lewa w odcieniu zielonym, krawędź górna w kolorze żółtym
B. krawędź górna ma kolor czerwony, krawędź lewa w kolorze niebieskim, krawędź dolna w odcieniu zielonym, krawędź prawa w kolorze żółtym
C. krawędź lewa ma kolor czerwony, krawędź dolna w kolorze niebieskim, krawędź prawa w odcieniu zielonym, krawędź górna w kolorze żółtym
D. krawędź górna jest koloru czerwonego, krawędź prawa koloru niebieskiego, krawędź dolna koloru zielonego, krawędź lewa koloru żółtego
Prawidłowa odpowiedź wynika z użycia właściwości CSS border-color z czterema wartościami przypisanymi kolejno do górnej prawej dolnej i lewej krawędzi elementu. W tym przypadku border-color: red blue green yellow; przypisuje kolor czerwony do górnej krawędzi kolor niebieski do prawej zielony do dolnej i żółty do lewej. Jest to powszechna praktyka w stylizacji stron internetowych gdzie cztery wartości podane dla border-color definiują odpowiednio kolory górnej prawej dolnej i lewej krawędzi. Taki styl umożliwia projektantom tworzenie wizualnie interesujących i wyróżniających się elementów poprzez łatwe manipulowanie kolorami i szerokościami obramowań. Zastosowanie tego w praktyce może być wykorzystane do zaznaczenia ważnych sekcji strony lub wyróżnienia określonych elementów. Tego rodzaju technika stylizacji jest zgodna z dobrymi praktykami i standardami CSS co pozwala na uzyskanie estetycznego i funkcjonalnego interfejsu użytkownika. Wiedza o przypisaniu kolorów do poszczególnych krawędzi jest kluczowa w projektowaniu elastycznych i responsywnych układów stron.

Pytanie 12

Formularze do zarządzania bazami danych są tworzone w celu

A. tworzenia powiązań w relacyjnych bazach danych
B. ułatwienia wprowadzania, edytowania i usuwania danych
C. generowania raportów z danych
D. wyszukiwania rekordów, które spełniają określone kryteria
Formularze do obsługi baz danych odgrywają kluczową rolę w procesie zarządzania danymi, pozwalając na wygodne wprowadzanie, edytowanie oraz usuwanie informacji. Są one interfejsem, który umożliwia użytkownikom interakcję z bazą danych w sposób bardziej intuicyjny niż bezpośrednie operacje na tabelach. Dzięki formularzom można zminimalizować ryzyko błędów, które mogą wystąpić podczas ręcznego wprowadzania danych, a także zautomatyzować proces weryfikacji. Przykładem może być formularz rejestracji użytkownika, w którym wszystkie dane są wprowadzane w zorganizowanej formie, co pozwala na szybkie i efektywne przetwarzanie. Formularze mogą być powiązane z regułami walidacji, co zapewnia, że jedynie poprawne dane są wprowadzane do bazy. Przykładowo, można ustawić ograniczenia na pola tekstowe, aby akceptowały jedynie określone formaty danych, takie jak adresy e-mail czy numery telefonów. Standardy, takie jak SQL i normy dotyczące projektowania baz danych, wskazują na znaczenie formularzy w kontekście utrzymania integralności danych oraz ułatwienia ich obsługi.

Pytanie 13

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od 0 do x-1
B. kolejne liczby od x do 0
C. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
D. losowe liczby z przedziału (0, x)
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 14

Co sprawdzić przed wykonaniem kopii zapasowej bazy, aby dało się ją potem poprawnie odtworzyć?

A. poprawność składni zapytań
B. możliwość udostępnienia bazy
C. prawa dostępu do serwera
D. spójność bazy danych
Pozostałe rzeczy nie decydują o przydatności kopii. Możliwość udostępnienia bazy i prawa dostępu do serwera dotyczą uprawnień, a nie jakości zapisanych danych. Poprawność składni zapytań odnosi się do kodu aplikacji, nie do stanu bazy. Przed kopią weryfikuje się spójność danych.

Pytanie 15

Który zapis w dokumencie HTML połączy stronę z zewnętrznym arkuszem stylów style.css?

A.
<a src="/style.css">
B.
<a href="/style.css">
C.
<link rel="stylesheet' src="/style.css">
D.
<link rel="stylesheet" href="/style.css">
Pozostałe zapisy są błędne. <link> używa atrybutu href, a nie src (do tego w jednym wariancie jest niedomknięty cudzysłów). <a> tworzy hiperłącze, a nie dołącza arkusza stylów. Arkusz podłącza <link rel="stylesheet" href="/style.css">.

Pytanie 16

W katalogu www znajdują się podkatalogi html oraz styles, w których umieszczone są pliki o rozszerzeniu html oraz pliki z rozszerzeniem css. Aby dołączyć styl.css do pliku HTML, należy zastosować

A. <link rel=" Stylesheet" type="text/css" href="www/style/styl. css" />
B. <link rel="Stylesheet" type="text/css" href="/style/styl.css" />
C. <link rel="Stylesheet" type="text/css" href="../style/styl.css" />
D. <link rel="Stylesheet" type="text/css" href="styl.css" />
Przy analizie pozostałych odpowiedzi można dostrzec pewne powszechne błędy w rozumieniu ścieżek do zasobów w dokumentach HTML. W pierwszej odpowiedzi, użycie ścieżki 'www/style/styl.css' sugeruje, że autor zakłada, że jest to pełna ścieżka dostępu, co jest mylące, ponieważ taka ścieżka nie jest względna w kontekście pliku HTML znajdującego się w folderze 'html'. Ponadto, użycie dużych liter w atrybucie 'rel' (np. 'Stylesheet') jest niepoprawne, ponieważ HTML jest językiem case-insensitive, lecz konwencjonalnie zaleca się używanie małych liter. Druga odpowiedź, wskazująca na '/style/styl.css', implikuje, że 'style' jest umiejscowione w katalogu głównym serwera, co również jest błędne w kontekście podanej struktury folderów. Takie podejście jest typowym błędem przy zrozumieniu relatywnych i bezwzględnych ścieżek URL. Ostatnia odpowiedź, 'styl.css', zakłada, że plik CSS znajduje się w tym samym folderze co plik HTML, co nie odpowiada rzeczywistości w przedstawionym układzie folderów. Wszyscy, którzy pracują nad projektami webowymi, muszą zrozumieć, jak ważne jest precyzyjne określenie lokalizacji zasobów, ponieważ błędy te mogą prowadzić do ładowania nieprawidłowych plików, co w efekcie negatywnie wpływa na wygląd i funkcjonalność strony. Wiedza na temat struktury folderów oraz umiejętność nawigacji po nich jest kluczowym elementem w pracy programisty.

Pytanie 17

Jakie jest zastosowanie certyfikatu SSL?

A. odszyfrowywania przesyłanych danych
B. określenia właściciela domeny
C. zapobiegania złośliwemu oprogramowaniu na stronie
D. przechowywania informacji o sesjach tworzonych na stronie
Certyfikat SSL, czyli Secure Sockets Layer, jest naprawdę ważnym elementem, jeśli chodzi o bezpieczeństwo w sieci. Dzięki niemu możemy mieć pewność, że strona, którą odwiedzamy, jest tym, za co się podaje. Wyobraź sobie, że logujesz się do swojego banku. Dzięki certyfikatowi SSL wiesz, że łączysz się z prawdziwą stroną, a nie z jakimś oszustem. To daje spokój, prawda? Co więcej, ten certyfikat szyfruje dane, które są przesyłane między klientem a serwerem, co jest kluczowe, zwłaszcza kiedy chodzi o nasze prywatne informacje. Z tego, co wiem, certyfikaty SSL są zgodne z normami, które ustala IETF oraz CA/Browser Forum, dlatego są dość powszechnie akceptowane w branży internetowej.

Pytanie 18

Na podstawie relacji przedstawionej na ilustracji, można stwierdzić, że jest to relacja

Ilustracja do pytania
A. jeden do wielu, gdzie kluczem obcym jest pole w tabeli kadra
B. wiele do wielu pomiędzy kluczami głównymi obu tabel
C. jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi
D. jeden do jednego, gdzie obie tabele mają przypisane klucze obce
Relacja jeden do wielu, gdzie kluczem obcym jest pole w tabeli uslugi, jest poprawna, ponieważ reprezentuje typową praktykę w projektowaniu baz danych, gdzie wiele rekordów w jednej tabeli (uslugi) jest powiązanych z jednym rekordem w innej tabeli (kadra). W tym przypadku, kolumna kadra_id w tabeli uslugi pełni rolę klucza obcego, który wskazuje na klucz główny (id) w tabeli kadra. Takie podejście jest szeroko stosowane w zarządzaniu relacjami pomiędzy danymi, umożliwiając efektywne przechowywanie i odwoływanie się do powiązanych rekordów. Przykładowo, w systemie usługowym, jedna osoba może być odpowiedzialna za wiele różnych usług, co jest wizualizowane przez tę konstrukcję. W praktyce pozwala to na łatwe aktualizacje danych kadry bez konieczności zmian w tabeli usług, co jest zgodne z zasadami normalizacji danych i zwiększa spójność oraz integralność danych. Tego typu relacje są fundamentem dla operacji typu JOIN w SQL, które umożliwiają łączenie danych z różnych tabel na podstawie wspólnych wartości kluczy obcych, co jest kluczowe dla wydajnego przetwarzania zapytań w relacyjnych bazach danych.

Pytanie 19

Które zapytanie SQL wybiera nazwiska z tabeli klient, które mają co najmniej jedną literę i zaczynają się na literę Z?

A. SELECT nazwisko FROM klient WHERE nazwisko='Z?'
B. SELECT nazwisko FROM klient WHERE nazwisko='Z_?'
C. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z%'
D. SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%'
Zastosowanie zapytań, które nie wykorzystują operatora LIKE w odpowiedni sposób, prowadzi do błędnych wniosków i nieprawidłowych wyników. Na przykład, użycie zapytania SELECT nazwisko FROM klient WHERE nazwisko='Z_?'; i SELECT nazwisko FROM klient WHERE nazwisko='Z?'; jest mylące, ponieważ w tych przypadkach znak podkreślenia (_) jest interpretowany jako znak zastępczy reprezentujący dokładnie jeden dowolny znak. Oznacza to, że te zapytania będą szukały nazwisk, które zaczynają się na Z, ale mają łącznie tylko dwa lub trzy znaki, co nie spełnia wymogu przynajmniej jednoliterowego nazwiska. Tego rodzaju nieścisłości mogą wynikać z niepełnego zrozumienia działania operatorów w SQL. Kolejnym błędem jest zapytanie SELECT nazwisko FROM klient WHERE nazwisko LIKE 'Z_%';, które również ogranicza wynik do nazwisk składających się przynajmniej z trzech znaków, co nie spełnia wymagań zadania. W praktyce, takie pomyłki mogą prowadzić do nieefektywnego wyszukiwania i obniżenia jakości aplikacji, co skutkuje frustracją użytkowników i zwiększonymi kosztami rozwoju. Kluczowe jest zrozumienie, jak działają różne znaki wieloznaczne oraz ich zastosowanie w kontekście konkretnych zadań, aby skutecznie i precyzyjnie przeszukiwać dane w bazie.

Pytanie 20

Która z list jest interpretacją pokazanego kodu?

Ilustracja do pytania
A. Odpowiedź D
B. Odpowiedź C
C. Odpowiedź B
D. Odpowiedź A
Odpowiedź C jest prawidłowa, ponieważ odpowiada strukturze listy zagnieżdżonej w HTML. W kodzie źródłowym użyto listy uporządkowanej <ol>, co oznacza, że elementy listy będą numerowane. Każdy element <li> w tej liście może zawierać dodatkowe listy nieuporządkowane <ul>, które są oznaczane jako lista punktowana. W przypadku kodu przedstawionego na rysunku mamy dwie główne pozycje 'muzyka' i 'filmy' zawarte w liście uporządkowanej, stąd 1. muzyka i 2. filmy. Pod pozycjami 'muzyka' i 'filmy' znajdują się listy zagnieżdżone nieuporządkowane, zawierające wpisy 'Wpis1', 'Wpis2', 'Wpis3' i 'Wpis4'. Dobre praktyki w projektowaniu stron sugerują użycie list zagnieżdżonych do klarownego przedstawienia hierarchii informacji. Wykorzystanie list uporządkowanych i nieuporządkowanych jest standardem w semantycznym HTML, co wpływa na dostępność stron internetowych oraz ich zgodność z różnymi urządzeniami i technologiami wspomagającymi. Taka struktura ułatwia również nawigację wśród treści dla użytkowników i algorytmów indeksujących wyszukiwarek internetowych.

Pytanie 21

W tabeli programiści znajdują się kolumny: id, nick, ilosc_kodu, ocena. W kolumnie ilosc_kodu zapisano liczbę linii kodu, które programista napisał w danym miesiącu. Jakie zapytanie umożliwi obliczenie całkowitej liczby linii kodu stworzonych przez wszystkich programistów?

A. SELECT MAX(ilosc_kodu) FROM programisci
B. SELECT SUM(ilosc_kodu) FROM programisci;
C. SELECT SUM(ocena) FROM ilosc_kodu;
D. SELECT COUNT(programisci) FROM ilosc_kodu;
Wybór polecenia 'SELECT SUM(ocena) FROM ilosc_kodu;' jest nieprawidłowy, ponieważ w tym zapytaniu występuje kilka fundamentalnych błędów w rozumieniu struktury bazy danych oraz funkcji agregujących. Po pierwsze, pole 'ocena' nie jest odpowiednie do zsumowania linii kodu, ponieważ zawiera dane dotyczące ocen programistów, a nie ilości linii kodu, co całkowicie mija się z celem poszukiwania sumy linii kodu. Ponadto, tabela 'ilosc_kodu' nie istnieje jako samodzielna jednostka w kontekście tego pytania; 'ilosc_kodu' jest jedynie kolumną w tabeli 'programisci', co oznacza, że nie możemy bezpośrednio z niej tworzyć zapytań. To podkreśla ważny aspekt projektowania baz danych oraz ich strukturalnych zależności. Podczas pisania zapytań SQL należy zawsze mieć na uwadze, w której tabeli znajdują się interesujące nas dane oraz jakie kolumny są dostępne w tej tabeli. Inne nieprawidłowe odpowiedzi, takie jak 'SELECT COUNT(programisci) FROM ilosc_kodu;' również wskazują na misunderstanding, ponieważ użycie COUNT w tym kontekście nie odnosi się do sumowania linii kodu, a jedynie liczenia wierszy, co w tym przypadku nie jest celem. Ponadto, 'SELECT MAX(ilosc_kodu) FROM programisci;' ma zupełnie inną funkcję, polegającą na znalezieniu maksymalnej liczby linii kodu napisanych przez jednego programistę, co również nie jest zgodne z pierwotnym pytaniem. Wniosek jest taki, że kluczowe jest zrozumienie struktury bazy danych oraz logiczne podejście do formułowania zapytań SQL, aby uzyskiwać prawidłowe i użyteczne wyniki.

Pytanie 22

Która zasada dotycząca sekcji <head> w HTML jest POPRAWNA?

A. w sekcji <head> buduje się szablon strony znacznikami <div>
B. w sekcji <head> mogą wystąpić <meta>, <title>, <link>
C. w sekcji <head> zawiera się sekcja <body>
D. w sekcji <head> nie wolno umieszczać kodu CSS, tylko odwołanie do pliku
Sekcja <head> zawiera metadane i powiązania dokumentu - typowo <meta> (kodowanie, opis), <title> (tytuł karty) i <link> (np. arkusz CSS). Dlatego poprawne jest stwierdzenie o <meta>, <title> i <link>.

Pytanie 23

Efekt przedstawiony w filmie powinien być zdefiniowany w selektorze

A. tr:hover { background-color: Pink; }
B. td, th { background-color: Pink; }
C. tr { background-color: Pink; }
D. tr:active { background-color: Pink; }
Poprawny selektor to tr:hover { background-color: Pink; }, bo dokładnie opisuje sytuację pokazaną na filmie: efekt pojawia się dopiero po najechaniu kursorem na cały wiersz tabeli. Pseudo-klasa :hover w CSS służy właśnie do definiowania stylów w momencie, gdy użytkownik „najeżdża” myszką na dany element. Jeśli więc chcemy, żeby podświetlał się cały rząd tabeli, logiczne i zgodne z dobrymi praktykami jest przypięcie efektu do znacznika tr, a nie do pojedynczych komórek.

W praktyce taki zapis stosuje się bardzo często w interfejsach webowych: w panelach administracyjnych, listach zamówień, tabelach z uczniami, produktami, logami systemowymi itd. Dzięki temu użytkownik łatwiej śledzi, który wiersz właśnie ogląda. To niby detal, ale z punktu widzenia UX robi sporą różnicę. Z mojego doświadczenia to jeden z tych prostych trików CSS, które od razu poprawiają „odczuwalną” jakość strony.

Ważne jest też to, że :hover jest częścią standardu CSS (opisane m.in. w specyfikacji CSS Selectors Level 3/4) i działa w praktycznie wszystkich współczesnych przeglądarkach. Nie trzeba do tego żadnego JavaScriptu, żadnych skomplikowanych skryptów – czysty CSS. Dobrą praktyką jest również używanie bardziej stonowanych kolorów niż Pink w prawdziwych projektach, np. #f5f5f5 albo lekki odcień niebieskiego, tak żeby kontrast był czytelny i nie męczył wzroku. Warto też pamiętać, że podobny mechanizm możesz zastosować na innych elementach: np. a:hover dla linków, button:hover dla przycisków czy nawet div:hover dla całych kafelków w layoutach. Kluczowe jest to, żeby pseudo-klasa :hover była przypięta dokładnie do tego elementu, który ma reagować na interakcję użytkownika.

Pytanie 24

W zaprezentowanym fragmencie zapytania SQL, instrukcja SELECT ma za zadanie zwrócić

SELECT COUNT(wartosc) FROM ...
A. średniej w kolumnie wartosc
B. średniej wartości tabeli
C. suma w kolumnie wartosc
D. liczby rekordów
Komenda SELECT COUNT w języku SQL jest używana do zwracania liczby wierszy w rezultacie zapytania. Użycie funkcji COUNT z nazwą kolumny, jak w przykładzie SELECT COUNT(wartosc), pozwala policzyć wszystkie niepuste wartości w danej kolumnie wartosc w tabeli. Jest to przydatne w przypadkach, gdy chcemy zrozumieć, ile danych spełnia określone kryteria, lub gdy interesuje nas liczba wierszy zawierających wartości w konkretnej kolumnie. Funkcja COUNT jest jedną z podstawowych funkcji agregujących w SQL, co oznacza, że podsumowuje dane w określony sposób. Stosowanie tej funkcji jest zgodne z najlepszymi praktykami w projektowaniu baz danych, gdzie często potrzebujemy analizować dane w sposób ilościowy. Przykładowo, jeśli prowadzimy bazę danych klientów, możemy użyć SELECT COUNT(id) FROM klienci, aby dowiedzieć się, ilu mamy zarejestrowanych klientów. Ta funkcja jest także kluczowym elementem w optymalizacji zapytań, ponieważ pozwala na szybkie uzyskanie informacji o liczbie rekordów bez konieczności przetwarzania wszystkich danych z tabeli. Zrozumienie działania COUNT i jego zastosowań jest kluczowe dla efektywnego przetwarzania danych i tworzenia wydajnych zapytań w języku SQL.

Pytanie 25

Wskaż zapis warunku w języku JavaScript, który ma na celu sprawdzenie, czy spełniony jest przynajmniej jeden z poniższych przypadków:
1) dowolna liczba naturalna a jest liczbą trzycyfrową
2) dowolna liczba całkowita b ma wartość ujemną

A. ((a > 99) || (a < 1000)) && (b < 0)
B. ((a > 99) && (a < 1000)) || (b < 0)
C. ((a > 99) || (a < 1000)) || (b < 0)
D. ((a > 99) && (a < 1000)) && (b < 0)
Analizując pozostałe odpowiedzi, można zauważyć, że mają one istotne błędy w logice. W przypadku odpowiedzi, które używają operatora AND (&&) w obu częściach warunków, czyli ((a > 99) && (a < 1000)) && (b < 0), cały warunek będzie spełniony tylko wtedy, gdy zarówno liczba 'a' będzie trzycyfrowa, jak i liczba 'b' będzie ujemna. To podejście nie spełnia wymogu, aby chociaż jeden z warunków był prawdziwy – w praktyce oznacza to, że jeśli jedna z liczb nie spełnia swojego warunku, cały wyrażenie zwróci fałsz. Alternatywnie, odpowiedzi, które stosują operator OR w niewłaściwy sposób, na przykład ((a > 99) || (a < 1000)) || (b < 0), również są błędne, ponieważ pierwsza część warunku z założenia zawsze będzie prawdziwa dla dowolnej liczby naturalnej, co sprawia, że sprawdzenie liczby 'a' staje się bezsensowne. Typowe błędy w myśleniu, które mogą prowadzić do takich niepoprawnych wniosków, obejmują niepoprawne rozumienie zastosowania operatorów logicznych oraz błędne założenia dotyczące zakresów wartości. W programowaniu istotne jest, by warunki były jasno określone, aby uniknąć niejednoznaczności i potencjalnych błędów w działaniu aplikacji.

Pytanie 26

Tabele Klienci oraz Zgłoszenia są ze sobą połączone relacją jeden do wielu. W celu uzyskania jedynie opisu zgłoszenia oraz odpowiadającego mu nazwiska klienta dla zgłoszenia o numerze 5, należy wykonać polecenie

Ilustracja do pytania
A. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5
B. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci WHERE Klienci.id = 5
C. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Klienci.id = 5
D. SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.id WHERE Zgłoszenia.id = 5
Odpowiedź jest poprawna, ponieważ uwzględnia właściwe połączenie między tabelami Klienci i Zgłoszenia za pomocą klucza obcego Klienci_id w tabeli Zgłoszenia. W relacyjnych bazach danych, gdy chcemy pobrać dane z dwóch tabel powiązanych relacją klucz główny-klucz obcy, używamy klauzuli JOIN. W tym przypadku Klienci_id w tabeli Zgłoszenia odnosi się do kolumny id w tabeli Klienci. Zapytanie SELECT opis, nazwisko FROM Zgłoszenia JOIN Klienci ON Klienci.id = Zgłoszenia.Klienci_id WHERE Zgłoszenia.id = 5; precyzyjnie pobiera kolumny opis i nazwisko z odpowiednich tabel, filtrując wyniki, aby dotyczyły jedynie zgłoszenia o id równym 5. Takie podejście jest zgodne z dobrymi praktykami projektowania relacyjnych baz danych, gdzie separacja danych na tabele pozwala na efektywne zarządzanie związkami między danymi. Korzystając z JOIN, integrujemy te dane w logiczny sposób, co jest fundamentem wydajnych i skalowalnych systemów bazodanowych. Praktyczne zastosowanie tego podejścia można znaleźć w projektowaniu systemów CRM, gdzie dane o klientach i ich zgłoszeniach są regularnie łączone w celu analizy i raportowania.

Pytanie 27

Automatyczna weryfikacja właściciela witryny udostępnianej przez protokół HTTPS jest możliwa dzięki:

A. danym whois
B. kluczom prywatnym
C. certyfikatowi SSL
D. danym kontaktowym na stronie
HTTPS opiera się na certyfikacie SSL/TLS, który serwer przedstawia przeglądarce. Certyfikat wydaje zaufany urząd certyfikacji (CA) po sprawdzeniu, że wnioskodawca kontroluje daną domenę, a często i tożsamości podmiotu. Przeglądarka automatycznie weryfikuje go i pokazuje kłódkę. Dlatego potwierdzenie właściciela witryny umożliwia certyfikat SSL.

Pytanie 28

Zaprezentowano poniżej obsługę

if (!isset($_COOKIE[$nazwa]))
  echo "nie ustawiono!";
else
  echo "ustawiono: " . $_COOKIE[$nazwa];
A. bazy danych
B. ciasteczek
C. zmiennych tekstowych
D. sesji
Obsługa ciasteczek jest kluczowym elementem w zarządzaniu stanem w aplikacjach webowych. Ciasteczka, czyli małe pliki tekstowe przechowywane w przeglądarce użytkownika, pozwalają na śledzenie aktywności użytkownika między stronami i sesjami. W kodzie powyżej widzimy użycie globalnej tablicy PHP $_COOKIE do sprawdzania, czy ciasteczko o określonej nazwie zostało ustawione. Funkcja isset() sprawdza, czy zmienna jest zdefiniowana i nie jest null. Jeśli ciasteczko istnieje, jego wartość jest wyświetlana. Ciasteczka są powszechnie używane do zarządzania sesjami, personalizacji treści czy śledzenia zachowań użytkowników. W praktyce, zabezpieczenia są ważnym aspektem zarządzania ciasteczkami. Powinny być szyfrowane i oznaczone jako HttpOnly oraz Secure, aby zminimalizować ryzyko kradzieży informacji przez ataki XSS. Programiści powinni także stosować polityki prywatności zgodnie z regulacjami RODO, informując użytkowników o użyciu ciasteczek. Zrozumienie tych mechanizmów jest fundamentalne dla budowy bezpiecznych i funkcjonalnych aplikacji webowych.

Pytanie 29

Funkcja agregująca MIN w języku SQL ma na celu określenie

A. liczby wierszy zwróconych przez kwerendę
B. średniej wartości kolumny obserwowanej w wyniku zapytania
C. wartości minimalnej z kolumny zwróconej przez kwerendę
D. liczby znaków w rekordach zwróconych przez kwerendę
Funkcja agregująca MIN w języku SQL służy do wyznaczania wartości minimalnej w zadanej kolumnie, co jest kluczowym aspektem analizy danych w bazach danych. Przykładowo, gdy korzystasz z zapytania SELECT MIN(wiek) FROM pracownicy, otrzymasz najniższy wiek pracownika w tabeli. To narzędzie jest niezwykle przydatne w raportowaniu oraz przy podejmowaniu decyzji opartych na danych, gdyż pozwala na szybkie określenie najniższych wartości w zestawieniach, takich jak najstarszy pracownik w firmie, najniższa cena produktu, czy najkrótszy czas realizacji zamówienia. W praktyce, używanie funkcji MIN pomaga organizacjom w identyfikacji problemów oraz w optymalizacji procesów. Stosowanie funkcji agregujących, takich jak MIN, jest zgodne z najlepszymi praktykami w zakresie analizy danych, ponieważ umożliwia efektywne przetwarzanie dużych zbiorów informacji i wyciąganie z nich wartościowych wniosków, co jest kluczowe w zarządzaniu danymi i tworzeniu raportów analitycznych.

Pytanie 30

W dokumencie HTML stworzono formularz. Jakie działanie kodu zostanie pokazane przez przeglądarkę, jeśli w drugie pole użytkownik wprowadzi tekst „ala ma kota”?

Ilustracja do pytania
A. Efekt 4
B. Efekt 1
C. Efekt 2
D. Efekt 3
Efekt 2 jest poprawny ponieważ kod HTML przedstawia formularz zawierający element select oraz pole input typu password. Element select pozwala na wybór jednej z trzech opcji Kraków Poznań i Szczecin co widzimy w efekcie 2. Pole input typu password zasłania wpisywane przez użytkownika znaki co jest zgodne z przedstawionym obrazem gdzie w miejscu drugiego pola widoczne są zamaskowane znaki. To zabezpieczenie jest standardem w formularzach internetowych chroniącym dane przed nieuprawnionym dostępem. Przeglądarki internetowe interpretują typ password zamieniając wprowadzone znaki na symbole najczęściej kropki lub gwiazdki. Dla programistów webowych jest to istotne przy projektowaniu interfejsów użytkownika zapewniając zarówno funkcjonalność jak i bezpieczeństwo. Ważne jest również aby pamiętać o odpowiednim zarządzaniu danymi wprowadzonymi w polach password po stronie serwera zapewniając szyfrowanie i bezpieczne przechowywanie. Stosowanie elementu select w połączeniu z input type=password jest popularne w formularzach rejestracyjnych gdzie użytkownik wybiera opcję a następnie wprowadza hasło. Dobre praktyki obejmują również walidację danych po stronie klienta i serwera aby zapewnić poprawność i bezpieczeństwo wprowadzanych informacji.

Pytanie 31

Aby stworzyć stronę internetową, która będzie odpowiadać załączonej ilustracji, konieczne jest użycie semantycznych znaczników sekcji w języku HTML5. Jakim znacznikiem należy określić sekcję menu?

A. div
B. nav
C. header
D. aside
Znacznik <div> jest często używany do ogólnego grupowania elementów w HTML, ale nie niesie ze sobą semantycznego znaczenia, co oznacza, że nie informuje technologii wspomagających ani wyszukiwarek o roli, jaką pełni zawartość. W kontekście semantycznego HTML5, poleganie na znaczniku <div> nie wykorzystuje potencjału nowych standardów, które poprawiają dostępność i strukturę dokumentów. Znacznik <aside> jest zwykle używany do grupowania treści pobocznej, takiej jak reklamy czy linki powiązane, dlatego nie jest on odpowiedni do definiowania sekcji menu. <header> jest z kolei stosowany do elementów nagłówkowych, takich jak tytuły stron czy sekcje wstępne, co również nie pasuje do kontekstu sekcji nawigacyjnej. Właściwe wykorzystanie semantycznych znaczników pomaga nie tylko w lepszej organizacji kodu, ale także wspiera dostępność oraz optymalizację SEO, co jest kluczowe w nowoczesnym projektowaniu stron internetowych.

Pytanie 32

W zaprezentowanym fragmencie dokumentu HTML ustalono stylowanie CSS dla selektora klasy "menu", aby kolor tła tego elementu był zielony. Które z poniższych określeń stylu CSS odpowiada temu stylowaniu?

<div class="menu"></div>
A. #menu { background-color: rgb(0,255,0); }
B. menu { background-color: rgb(0,255,0); }
C. div:menu { color: green; }
D. div.menu { background-color: green; }
Odpowiedź div.menu { background-color: green; } jest prawidłowa, ponieważ odnosi się do selektora klasy w języku CSS. W HTML, atrybut class jest używany do przypisywania elementom jednej lub wielu klas, które mogą być następnie stylizowane w CSS. Selektor klasy jest definiowany przez poprzedzenie nazwy klasy kropką, co pozwala na stylizację wszystkich elementów używających tej klasy. W przypadku selektora div.menu, stylizacja dotyczy wszystkich elementów div z klasą menu. Użycie właściwości background-color z wartością green ustawia zielone tło dla zdefiniowanego elementu. Taki sposób definiowania stylów jest zgodny z dobrymi praktykami, które zalecają użycie klas do stylizacji wielokrotnego użytku w celu zwiększenia elastyczności i czytelności kodu. Ponadto używanie nazw klas i odpowiednich selektorów pozwala na łatwe zarządzanie stylistyką większych projektów, co jest kluczowe w rozwoju współczesnych stron internetowych. Warto zauważyć, że stosowanie klas zamiast identyfikatorów jest bardziej elastyczne, ponieważ jedna klasa może być przypisana do wielu elementów, podczas gdy identyfikator musi być unikalny w całym dokumencie.

Pytanie 33

Które stwierdzenie na temat funkcji fun1 zapisanej w języku JavaScript jest prawdziwe?

var x = fun1(3, 24, "Mnożymy");

function fun1(a, b, c) {
    return a * b;
}
A. Ma dwa parametry liczbowe i zwraca wartość typu napisowego.
B. Przyjmuje trzy parametry, lecz nie zwraca wartości.
C. Zwraca dwie wartości przechowywane w zmiennych a i b.
D. Ma trzy parametry wejściowe, w tym jeden typu napisowego, i zwraca wartość numeryczną.
Niestety, Twoja odpowiedź jest niepoprawna, ale nie zmartw się - przeanalizujmy to razem. Funkcja w JavaScript nie musi zwracać wartości, ale w przypadku funkcji fun1, zwraca ona wynik mnożenia dwóch pierwszych parametrów, co jest wartością numeryczną. Istotne jest zrozumienie, że funkcje w JavaScript mogą przyjmować dowolną liczbę argumentów, a także różne typy argumentów. Co więcej, zamiast zwracać wiele wartości, funkcje w JavaScript zwykle zwracają jedną wartość lub obiekt zawierający wiele wartości. Z tego powodu, stwierdzenie, że fun1 zwraca dwie wartości przechowywane w zmiennych a i b, jest błędne. Podobnie, twierdzenie, że fun1 nie zwraca żadnej wartości, też jest nieprawdziwe. Wybór odpowiedzi sugerującej, że fun1 ma dwa parametry liczbowe i zwraca wartość typu napisowego, jest również niewłaściwy, ponieważ fun1 przyjmuje trzy parametry, w tym jeden typu napisowego, i zwraca wartość numeryczną. Pamiętaj, że zrozumienie struktury i działania funkcji jest kluczowe dla efektywnego kodowania w JavaScript.

Pytanie 34

Który atrybut HTML wyświetla podpowiedź (dymek) pokazywaną po najechaniu kursorem na element?

A.
id
B.
alt
C.
title
D.
src
Atrybut title można dodać do niemal każdego znacznika; przeglądarka pokazuje jego treść jako mały dymek (tooltip) po zatrzymaniu kursora nad elementem. Służy do krótkiej dodatkowej podpowiedzi, np. wyjaśnienia odnośnika czy ikony. Dlatego dymek z podpowiedzią wyświetla atrybut title.

Pytanie 35

Który znacznik HTML jest elementem BLOKOWYM?

A.
<img>
B.
<span>
C.
<strong>
D.
<p>
Pozostałe znaczniki są LINIOWE (inline). <span> oznacza fragment tekstu, <strong> pogrubia, a <img> wstawia obraz w linii - nie wymuszają nowej linii. Elementem blokowym jest <p>.

Pytanie 36

Dla przedstawionego fragmentu dokumentu HTML:

<div class="menu"></div>
zdefiniowano formatowanie CSS selektora klasy "menu" tak, aby kolor tła bloku był zielony. Która definicja stylu CSS odpowiada temu formatowaniu?
A. div:menu { color: green; }
B. menu { background-color: rgb(0,255,0); }
C. div.menu { background-color: green; }
D. #menu { background-color: rgb(0,255,0); }
Podstawowy problem w niepoprawnych odpowiedziach wynika z mylenia różnych rodzajów selektorów CSS: typu, klasy i identyfikatora, a także pseudo-klas. W HTML mamy wyraźnie wskazany element `<div class="menu"></div>`. Atrybut `class` mówi wprost, że do stylowania należy użyć selektora klasy, czyli zapisu z kropką: `.menu` lub bardziej precyzyjnie `div.menu`. Użycie dwukropka w zapisie `div:menu` wygląda jak próba zastosowania pseudo-klasy, ale `menu` nie jest żadną standardową pseudo-klasą CSS. Pseudo-klasy to np. `:hover`, `:active`, `:first-child`. Przeglądarka taki selektor po prostu zignoruje, więc styl się nie zastosuje.
Kolejnym typowym nieporozumieniem jest zamiana klasy na identyfikator. Znak `#` w CSS oznacza selektor id, więc `#menu` pasowałby do elementu `<div id="menu">`, a nie do `<div class="menu">`. Id i klasa to dwie różne rzeczy: id powinno być unikalne w całym dokumencie, a klasę można stosować wielokrotnie. W realnych projektach front-endowych mieszanie tych dwóch mechanizmów prowadzi do chaosu w kodzie i trudnych do wykrycia błędów, dlatego warto od początku rozróżniać `.` od `#` bardzo świadomie.
Pojawia się też zapis `menu { background-color: rgb(0,255,0); }`. Taki selektor odnosi się do znacznika HTML o nazwie `menu`, czyli do `<menu>...</menu>`. Istnieje taki tag w HTML5, ale w pytaniu nie ma go w ogóle, jest zwykły `<div>`. Sam fakt, że klasa nazywa się „menu”, nie oznacza, że selektor typu `menu` będzie pasował. CSS nie „zgaduje” naszych intencji, tylko ściśle dopasowuje selektor do struktury dokumentu. To częsty błąd myślowy: patrzymy na nazwę klasy i podświadomie traktujemy ją jak nazwę znacznika.
Moim zdaniem kluczowa lekcja z tego pytania jest taka: najpierw patrzymy na HTML i dokładnie identyfikujemy, czy mamy do czynienia z klasą (`class`), identyfikatorem (`id`), czy konkretnym tagiem (`div`, `p`, `nav` itd.). Dopiero potem dobieramy odpowiedni selektor CSS: `.` dla klasy, `#` dla id, samą nazwę znacznika dla selektora typu. Takie systematyczne podejście bardzo ułatwia dalszą pracę z arkuszami stylów i pomaga budować czytelne, skalowalne style zgodnie z dobrymi praktykami branżowymi.

Pytanie 37

Według zasad walidacji HTML5, jakie jest prawidłowe użycie znacznika hr?

A. &lt;/ hr&gt;
B. &lt;/ hr /&gt;
C. &lt;/hr?&gt;
D. &lt;hr&gt;
Znacznik <hr> to taki prosty element w HTML5, który robi poziomą linię na stronie. Używa się go często do oddzielania różnych sekcji w tekście, co sprawia, że wszystko wygląda bardziej przejrzyście. Co ciekawe, to znacznik samodzielny, więc nie potrzebuje zamknięcia, a dodatkowo w HTML5 nie musimy dodawać znaku '/' na końcu, co czyni go lżejszym w użyciu. Jak użyjemy <hr>, to przeglądarki wiedzą, co z tym zrobić, a to ważne, żeby strona wyglądała spójnie. Moim zdaniem, świetnie działa w artykułach, bo gdy oddziela różne części, to czytelnik łatwiej się w tym odnajduje. No i nie zapominajmy o dostępności – ludzie, którzy korzystają z technologii wspomagających, też lepiej zrozumieją, co się dzieje na stronie dzięki takim znacznikom.

Pytanie 38

Na tabeli muzyka, przedstawionej na rysunku, zostało wykonane następujące zapytanie SQL. Jaki wynik zwróci ta kwerenda?

SELECT wykonawca FROM `muzyka` WHERE wykonawca LIKE 'C%w';
IDtytul_plytywykonawcarok_nagraniaopis
1Czas jak rzekaCzeslaw Niemen2005Przyjdz W Taka Noc itd.
2IkonaStan Borys2014
3AerolitCzeslaw Niemen2017Winylowa reedycja płyty „Aerolit”.
4JourneyMikolaj Czechowski2013
A. Czeslaw, Czechowski
B. pusty wynik
C. Czeslaw, Niemen
D. Czeslaw
Dobrze, wybrałeś prawidłową odpowiedź. Zapytanie SQL, które widzimy w tym pytaniu, zostało sformułowane w taki sposób, że wyszukuje ono wszystkich wykonawców (kolumna 'wykonawca' w tabeli 'muzyka'), których nazwy zaczynają się na literę 'C' i kończą na literę 'w'. Składnia LIKE 'C%w' w warunku WHERE zapytania SQL jest używane do dopasowania wzorca, gdzie '%' oznacza dowolny ciąg znaków, a 'C' i 'w' to konkretne litery na początku i końcu nazwy. Jednak w tabeli 'muzyka' nie ma żadnego wykonawcy, który spełniałby ten warunek. Dlatego wynik zapytania jest pusty. Jest to dobra praktyka, aby zrozumieć, jak używać operatora LIKE w zapytaniach SQL, ponieważ pozwala na elastyczne wyszukiwanie danych w bazie danych.

Pytanie 39

Do czego służy polecenie mysqldump?

A. do utworzenia kopii zapasowej bazy
B. do sprawdzenia integralności bazy
C. do naprawy niespójnej bazy
D. do optymalizacji bazy
Pozostałe zadania wykonują inne narzędzia. Naprawą niespójnej bazy, optymalizacją i sprawdzeniem integralności zajmuje się mysqlcheck. Kopię zapasową tworzy mysqldump.

Pytanie 40

Jakie oprogramowanie do zarządzania treścią umożliwia proste tworzenie oraz aktualizację witryny internetowej?

A. PHP
B. CMS
C. SQL
D. CSS
Wybór SQL, PHP i CSS jako odpowiedzi na pytanie o system zarządzania treścią jest wynikiem nieporozumienia dotyczącego funkcji i zastosowań tych technologii. SQL (Structured Query Language) jest językiem zapytań służącym do komunikacji z bazami danych. Umożliwia on tworzenie, modyfikowanie oraz pobieranie danych, co jest kluczowe dla działania wielu aplikacji internetowych, w tym CMS-ów, lecz sam w sobie nie dostarcza interfejsu do zarządzania treścią. PHP to język skryptowy, często wykorzystywany do tworzenia dynamicznych aplikacji webowych. Choć PHP jest podstawą wielu systemów CMS, to sam język nie jest narzędziem do zarządzania treściami. CSS (Cascading Style Sheets) natomiast jest językiem stylizacji, który odpowiada za wygląd i układ strony, ale nie wprowadza funkcji zarządzania treścią. Zastanawiając się nad tymi technologiami, można zauważyć, że mylenie ich z CMS-em może wynikać z braku zrozumienia ich ról w ekosystemie webowym. Każda z tych technologii odgrywa istotną rolę w budowie i funkcjonowaniu stron internetowych, ale nie są one systemami do zarządzania treścią. Prawidłowe zrozumienie ich funkcji jest kluczem do efektywnego wykorzystania ich w praktyce.