Wyniki egzaminu

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

Egzamin zdany!

Wynik: 35/40 punktów (87,5%)

Wymagane minimum: 20 punktów (50%)

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

Który efekt został zaprezentowany na filmie?

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

Pytanie 2

Którego znacznika użyć, aby przejść do nowej linii tekstu BEZ tworzenia akapitu?

A.
</br>
B.
</b>
C.
<br>
D.
<p>
Znacznik <br> wymusza przejście do nowej linii w obrębie tego samego bloku tekstu, bez tworzenia nowego akapitu (i bez dodatkowego odstępu, jaki daje <p>). To element pusty, bez znacznika zamykającego. Dlatego nową linię bez akapitu daje <br>.

Pytanie 3

Tabela pracownicy ma m.in. pola plec i zarobek. Które zapytanie policzy OSOBNO średni zarobek kobiet i mężczyzn?

A.
SELECT AVG(zarobek) FROM pracownicy GROUP BY plec;
B.
SELECT AVG(zarobek) FROM pracownicy AS sredni_zarobek;
C.
SELECT AVG(zarobek) FROM pracownicy WHERE plec = 'k' AND plec = 'm';
D.
SELECT AVG(zarobek) FROM pracownicy GROUP BY plec HAVING plec = 'k' AND plec = 'm';
Aby policzyć średnią OSOBNO dla każdej płci, grupuje się dane klauzulą GROUP BY plec - wtedy AVG(zarobek) obliczy się dla kobiet i dla mężczyzn z osobna. Dlatego poprawne jest SELECT AVG(zarobek) FROM pracownicy GROUP BY plec;.

Pytanie 4

Którą wartością można zapisać kolor BIAŁY?

A.
#255255
B.
#000000
C.
rgb(255, 255, 255)
D.
rgb(FF, FF, FF)
Biały powstaje z maksymalnych wartości wszystkich trzech składowych: rgb(255, 255, 255) (lub szesnastkowo #FFFFFF). Dlatego biały to rgb(255, 255, 255).

Pytanie 5

Wskaż element, który definiuje pole edycyjne formularza zgodne z ilustracją

Ilustracja do pytania
A. <input type="month" id="hh" name="mm">
B. <input type="number" id="mm" name="hh" min="0" max="24">
C. <input type="date" id=" minutes" name="hours">
D. <input type="time" id="minutes" name="hours">
Prawidłowy wybór to <input type="time" id="minutes" name="hours">, ponieważ dokładnie taki element HTML5 służy do wprowadzania godziny w formacie hh:mm, czyli tak jak na ilustracji. Atrybut type="time" mówi przeglądarce, że pole ma przyjmować tylko wartości czasu, bez daty, miesięcy czy liczb dowolnego typu. Zgodnie ze specyfikacją HTML Living Standard oraz HTML5, przeglądarka powinna wtedy wyświetlić natywne kontrolki do wyboru godziny (np. rozwijane listy, suwak, mały zegarek – zależy od systemu i przeglądarki). Dzięki temu użytkownik ma mniejsze ryzyko pomyłki, a walidacja odbywa się częściowo automatycznie.
Z mojego doświadczenia warto korzystać z type="time" zawsze, gdy formularz dotyczy konkretnych godzin, np. godzina rozpoczęcia pracy, rezerwacja wizyty, planowanie spotkania online. Po stronie serwera (np. w PHP) to pole przychodzi jako tekst w formacie „HH:MM”, co jest łatwe do dalszego przetwarzania, parsowania do obiektu DateTime albo zapisu w bazie danych w typie TIME.
Dobra praktyka jest też taka, żeby nazwy atrybutów id i name były semantyczne. W tym zadaniu nie ma to wpływu na poprawność odpowiedzi, ale w realnym projekcie lepiej byłoby użyć np. id="endTime" i name="end_time". Ułatwia to później pracę z JavaScriptem i po stronie backendu. Warto też pamiętać o dodaniu atrybutów min i max, jeśli chcemy ograniczyć zakres godzin (np. od 08:00 do 20:00), oraz pattern lub dodatkowej walidacji JS, jeśli mamy specyficzne wymagania. Mimo że ilustracja nie pokazuje tych szczegółów, sam mechanizm type="time" jest tu absolutnie kluczowy i zgodny z dobrymi praktykami front-endowymi.

Pytanie 6

Jak nazywa się organizacja społeczna, która skupia pracowników oraz chroni ich prawa i interesy zawodowe?

A. Straż Pożarna
B. kierownik zakładu
C. związek zawodowy
D. komisja BHP
Organizacja społeczna skupiająca pracowników i chroniąca ich prawa oraz interesy zawodowe to ZWIĄZEK ZAWODOWY - reprezentuje pracowników wobec pracodawcy, np. w negocjacjach płacowych. Dlatego mowa o związku zawodowym.

Pytanie 7

W której notacji diagramów ER został zapisany model związków encji przedstawiony na ilustracji?

Ilustracja do pytania
A. Chena.
B. Bachmana.
C. Martina.
D. Min-Max.
Na diagramie przedstawiono model w notacji Martina, a nie w żadnej z pozostałych wymienionych. Warto zrozumieć, czym ta notacja różni się od innych, bo w praktyce projektowania baz danych bardzo łatwo je ze sobą pomylić. Notacja Chena to bardziej „akademickie” podejście do ERD. Encje są zwykle rysowane jako prostokąty, ale atrybuty pojawiają się w osobnych elipsach, połączonych liniami z encją. Klucz główny bywa podkreślony, a związki są reprezentowane przez romby z nazwą relacji. Na naszym diagramie nic takiego nie ma – atrybuty są w środku prostokąta, w formie listy, a nie jako osobne kształty, więc to już mocny sygnał, że to nie jest Chen. Z kolei notacja Bachmana historycznie kojarzy się z modelami sieciowymi i specyficznym sposobem prezentowania struktur danych, często z łamanymi liniami i strzałkami, raczej nie przypomina tabel z nagłówkiem i listą pól. W typowych podręcznikach do systemów baz danych Bachman jest pokazywany jako dość stary styl, dziś mało używany przy klasycznym relacyjnym ERD, więc mało prawdopodobne, by tak wyglądał nowoczesny diagram klient–zakup–towar. Odpowiedź Min-Max jest też myląca, bo Min-Max nie jest nazwiskiem autora notacji, tylko sposobem zapisu krotności relacji, np. (0,1), (1,n). Można taki zapis wykorzystać zarówno z notacją Chena, jak i z innymi, ale sam diagram z obrazka nie używa jawnego oznaczenia min/max przy relacjach – widzimy crow’s foot, czyli styl typowy dla Martina. Typowy błąd w tego typu pytaniach polega na tym, że ktoś kojarzy jeden detal, np. gdzieś widział oznaczenia min-max, i automatycznie zakłada, że każda notacja z relacjami i krotnościami to „Min-Max”. Tutaj jednak kluczowe są kształty encji i sposób zapisu atrybutów: prostokąt z nagłówkiem i lista pól jak w tabeli, bez elips i rombów, bez dodatkowych znaczników kluczy – to bardzo klasyczny, praktyczny styl używany przy projektowaniu relacyjnych baz danych, właśnie w notacji Martina. Dobrze jest więc patrzeć na diagram całościowo, a nie tylko na pojedynczy symbol, bo wtedy łatwiej uniknąć takich pomyłek.

Pytanie 8

Którą właściwość CSS należy zastosować, aby uzyskać efekt rozstrzelenia (zwiększonych odstępów) między literami?

A.
letter-spacing
B.
text-decoration
C.
text-space
D.
letter-transform
Odstęp między literami ustawia właściwość letter-spacing, np. letter-spacing: 3px. Wartość dodatnia rozsuwa litery (rozstrzelenie), ujemna je zbliża. Często stosuje się ją w nagłówkach i logotypach. Dlatego efekt rozstrzelenia liter daje letter-spacing.

Pytanie 9

Jakie dane zostaną wyświetlone po wykonaniu poniższych poleceń? bool gotowe=true; cout<<gotowe;

A. 0
B. 1
C. tak
D. nie
W wyniku wykonania przedstawionych instrukcji, zostanie wypisane "1". Wynika to z faktu, że zmienna typu bool w języku C++ jest reprezentowana jako liczba całkowita, gdzie wartość "true" jest interpretowana jako "1", a "false" jako "0". Kiedy wykonujemy instrukcję z użyciem cout, która jest standardowym strumieniem wyjściowym w C++, zmienna gotowe, która przechowuje wartość true, zostanie przekonwertowana na jej reprezentację liczbową, co skutkuje wypisaniem "1" na ekran. W praktyce, zrozumienie konwersji typów danych w C++ jest kluczowe dla programowania, zwłaszcza w kontekście obliczeń logicznych i kontroli przepływu programu. Standardy C++ określają zasady konwersji typów, co wpływa na optymalizację kodu oraz unikanie błędów w logice programowania, dlatego wiedza na ten temat jest niezbędna dla każdego programisty.

Pytanie 10

Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?

A. relacji jeden-do-jednego (1..1)
B. klucza podstawowego
C. transakcji
D. relacji jeden-do-wielu (1..n)
Klucz obcy jest niezbędny do utworzenia relacji jeden-do-wielu (1..n) - to on, umieszczony po stronie „wielu”, wskazuje klucz główny tabeli po stronie „jeden”. Dlatego klucz obcy potrzebny jest do relacji 1..n.

Pytanie 11

Jakie będzie działanie podanych instrukcji JavaScript?

var elementy = document.getElementsByClassName("styl1");
  for(var i = 0; i < elementy.length; i++)
    elementy[i].style.fontWeight = "bolder";
A. Dla wszystkich elementów przypisanych do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
B. Wyłącznie dla pierwszego elementu przypisanego do klasy styl1 zostanie nadany styl pogrubienia tekstu bolder
C. Jedynie dla elementu o id równym styl1 będzie przypisany styl pogrubienia tekstu na bolder
D. Dla wszystkich elementów na stronie zostanie zastosowany styl pogrubienia tekstu na bolder
Jednym z często popełnianych błędów jest założenie że metoda getElementsByClassName przypisuje styl wszystkim elementom na stronie. W rzeczywistości zwraca ona tylko te elementy które posiadają określoną klasę styl1. To ogranicza zakres działania funkcji wyłącznie do wybranych elementów z przypisaną klasą co jest istotne dla zrozumienia selektorów w JavaScript. Innym nieporozumieniem może być przekonanie że metoda działa podobnie do selektorów CSS takich jak ID gdzie tylko jeden element jest modyfikowany. W rzeczywistości metoda ta operuje na kolekcji elementów a nie na pojedynczym elemencie. Dodatkowo częstym błędem jest myślenie że getElementsByClassName działa jak querySelector który mógłby zwrócić tylko pierwszy napotkany element. To nieporozumienie może prowadzić do błędnych założeń na temat zakresu i efektu działania skryptu. Warto również pamiętać że manipulacja stylami poprzez bezpośrednie modyfikowanie właściwości style elementu często jest bardziej wydajna niż modyfikowanie arkuszy stylów CSS zwłaszcza w kontekście dynamicznego działania skryptów na stronie internetowej. Kluczowe jest zrozumienie jak różne metody selekcji i manipulacji dokumentem wpływają na działanie i wydajność aplikacji webowych oraz unikanie myślenia że jedna metoda selekcji jest uniwersalna dla wszystkich celów i przypadków użycia co jest istotne w profesjonalnym podejściu do programowania w JavaScript i pracy z DOM.

Pytanie 12

Pomiędzy jakimi znakami umieszcza się komentarz w kodzie PHP?

A.
<!--  -->
B.
/?  ?/
C.
<?  ?>
D.
/*  */
Komentarz blokowy (wieloliniowy) w PHP umieszcza się między /* a */ - wszystko w środku interpreter pomija, np. /* opis funkcji\n na kilka linii */. Dla pojedynczego wiersza są jeszcze // i #. Zapamiętaj: /* */ obejmuje dowolnie długi fragment, także wiele linii.

Pytanie 13

Jak nazywa się metoda-konstruktor (wywoływana przy tworzeniu obiektu) w PHP?

A.
__create
B.
__construct
C.
__new
D.
__open
W PHP konstruktor - metoda wywoływana automatycznie przy tworzeniu obiektu (new) - nazywa się __construct. Służy zwykle do inicjalizacji pól obiektu. Dlatego konstruktorem w PHP jest __construct.

Pytanie 14

Który operator w języku SQL zwraca resztę z dzielenia (modulo)?

A.
||
B.
/
C.
&
D.
%
Operator % w SQL (m.in. w MySQL) oblicza resztę z dzielenia całkowitego - modulo. Na przykład SELECT 7 % 3 zwróci 1, bo 7 podzielone przez 3 daje 2 i resztę 1. Bywa wykorzystywany np. do sprawdzenia parzystości (liczba % 2 = 0) czy cykliczności. W niektórych systemach dostępna jest też funkcja MOD(a, b). Dlatego resztę z dzielenia zwraca operator %.

Pytanie 15

Z czego skorzystać, aby tworzyć strony internetowe w sposób GRAFICZNY (wizualny)?

A. programu MS Office Picture Manager
B. programu typu WYSIWYG
C. edytora CSS
D. przeglądarki internetowej
Aby tworzyć strony w sposób GRAFICZNY (wizualny), bez ręcznego pisania kodu, korzysta się z programu typu WYSIWYG - układa się elementy na podglądzie, a narzędzie generuje kod HTML/CSS. Dlatego właściwy jest program WYSIWYG.

Pytanie 16

Który element blokowy HTML5 jest przeznaczony na nawigację witryny?

A.
aside
B.
header
C.
main
D.
nav
Element semantyczny <nav> wydziela blok NAWIGACJI witryny - zwykle menu główne lub zestaw linków do najważniejszych podstron, np. <nav><a href="/">Start</a> <a href="/kontakt">Kontakt</a></nav>. Semantyka jest ważna nie tylko porządkowo: czytniki ekranu i wyszukiwarki rozpoznają po <nav>, że to nawigacja. Zapamiętaj: „nav” jak nawigacja.

Pytanie 17

Kolor określony kodem RGB, mający wartość rgb(255, 128, 16) w przedstawieniu szesnastkowym, przyjmie jaką wartość?

A. #008010
B. #ff8011
C. #ff0fl0
D. #ff8010
Odpowiedź #ff8010 jest trafna. Konwersja wartości RGB na szesnastkowy to w sumie przekształcanie kolorów: czerwony, zielony i niebieski. W przypadku rgb(255, 128, 16), czerwony (255) zmienia się w 'ff', zielony (128) w '80', a niebieski (16) w '10'. Gdy to wszystko połączymy, dostajemy kod #ff8010. To wiedza, która naprawdę się przydaje, gdy pracujesz z kolorami w stronach www, aplikacjach graficznych czy przy projektowaniu interfejsów. W branży IT używanie standardu RGB i konwersji do HEX to normalka, bo to pozwala na dokładne określenie kolorów w kodzie. Na przykład, w CSS łatwo będzie używać kolorów w tym formacie, a to pomaga w lepszej czytelności kodu.

Pytanie 18

Jakie wartości powinny mieć zmienne w funkcji z biblioteki mysqli, by ustanowić połączenie z serwerem i bazą danych?

mysqli_connect($a, $b, $c, $d) or die('Brak połączenia z serwerem MySQL.');
A. adres serwera - $a, nazwa bazy danych - $d, login - $b, hasło - $c
B. adres serwera - $c, nazwa bazy danych - $d, login - $a, hasło - $b
C. adres serwera - $c, nazwa bazy danych - $d, login - $b, hasło - $a
D. adres serwera - $a, nazwa bazy danych - $b, login - $c, hasło - $d
Funkcja mysqli_connect w PHP to coś, co trzeba znać, gdy pracuje się z bazami danych MySQL. Wiesz, że musisz podać parametry w odpowiedniej kolejności: najpierw adres serwera, potem nazwę użytkownika, hasło i na końcu nazwę bazy danych. W twoim zadaniu odpowiednie zmienne to: adres serwera jako $a, nazwa bazy jako $d, login jako $b, a hasło jako $c, co pasuje do czwartej opcji. Dobrze to rozumiesz, bo tę funkcję trzeba wywołać w dokładnie takiej kolejności, żeby połączenie z bazą działało. Przykład: gdy korzystasz z lokalnego serwera, to używasz localhost jako $a, użytkownik to root, a hasło powiedzmy, że password, a baza to test_db. W takim razie wyglądałoby to tak: mysqli_connect('localhost', 'root', 'password', 'test_db'). Dobrze przyporządkowane zmienne są kluczowe, bo jak coś pomylisz, połączenie się nie uda i mogą się pojawić błędy. Warto zrozumieć, jak to działa, żeby dobrze programować w PHP z MySQL.

Pytanie 19

W języku PHP predefiniowana zmienna $_SESSION przechowuje

A. zmienne zarejestrowane w aktualnej sesji
B. zmienne przesyłane do skryptu przy pomocy ciastek (cookie)
C. zmienne przesyłane do skryptu przez formularz
D. listę zarejestrowanych sesji na serwerze WWW
Zmienna predefiniowana $_SESSION w języku PHP jest używana do przechowywania zmiennych, które są dostępne w trakcie trwania sesji użytkownika. Sesja pozwala na utrzymanie stanu między różnymi żądaniami HTTP, co jest istotne w aplikacjach webowych, gdzie HTTP jest protokołem bezstanowym. Dzięki $_SESSION, programiści mogą przechowywać dane użytkownika, takie jak identyfikatory, koszyki zakupowe czy inne ustawienia, bez konieczności przesyłania ich za każdym razem przez formularze lub ciasteczka. Przykładem może być sytuacja, w której użytkownik loguje się do serwisu – po zalogowaniu, jego identyfikator sesji jest przechowywany w $_SESSION, co pozwala na identyfikację użytkownika w kolejnych żądaniach. Ważne jest, aby pamiętać o odpowiednim zarządzaniu sesjami, np. poprzez regularne ich odnawianie, a także zabezpieczanie danych przechowywanych w $_SESSION, aby uniknąć ataków takich jak hijacking sesji. Praktyka ta jest zgodna z najlepszymi standardami bezpieczeństwa w programowaniu aplikacji webowych.

Pytanie 20

Jaką relację typu uzyskuje się w wyniku powiązania kluczy głównych dwóch tabel?

A. jeden do jednego
B. wiele do wielu
C. wiele do jednego
D. jeden do wielu
Odpowiedź „jeden do jednego” jest poprawna, ponieważ relacja typu jeden do jednego oznacza, że każdy rekord w jednej tabeli jest powiązany z dokładnie jednym rekordem w drugiej tabeli. Tego rodzaju relacje są często wykorzystywane w sytuacjach, gdzie istnieje potrzeba rozdzielenia danych w celu zwiększenia organizacji lub wydajności, na przykład w przypadku wrażliwych informacji, które są przechowywane oddzielnie od podstawowych danych użytkowników. Praktycznym przykładem może być relacja między tabelą użytkowników a tabelą profili, gdzie każdy użytkownik ma dokładnie jeden profil. W dobrych praktykach projektowania baz danych, takie relacje są stosowane, aby zapewnić integralność danych oraz umożliwić skuteczne zarządzanie informacjami w systemach. Ponadto, stosowanie relacji jeden do jednego może pomóc w optymalizacji zapytań, ponieważ zminimalizowane jest ryzyko duplikacji danych, co przyczynia się do efektywniejszego przetwarzania operacji w bazach danych.

Pytanie 21

Który kod HTML spowoduje identyczne formatowanie jak przedstawione na obrazku?

W tym paragrafie zobaczysz sposoby formatowania tekstu w HTML


  1. <p>W tym <i>paragrafie zobaczysz sposoby formatowania</i> tekstu w HTML</p>

  2. <p>W tym <b>paragrafie <i>zobaczysz</i> sposoby formatowania</b> tekstu w HTML</p>

  3. <p>W tym <i>paragrafie <b>zobaczysz</b> sposoby formatowania</i> tekstu w HTML</p>

  4. <p>W tym <i>paragrafie </i><b>zobaczysz</b><i> sposoby formatowania</i> tekstu w HTML</p>

A. Odpowiedź C
B. Odpowiedź D
C. Odpowiedź A
D. Odpowiedź B
Wybór odpowiedzi C jest trafny, bo stosujesz odpowiednie znaczniki HTML, aby osiągnąć zamierzony efekt formatowania. Przykład świetnie pokazuje, jak używać znaczników <i> i <b>, które służą do pochylania i pogrubiania tekstu. Znak <p> to z kolei paragraf, który odseparowuje tekst i zaczyna nową linię. Tutaj znacznik <i> przed słowem 'paragrafie' sprawia, że jest ono kursywą, a <b> wokół 'zobaczysz' wyróżnia go na pogrubionym tle. To takie podstawowe zasady HTML, które pokazują, jak można różne style formatowania łączyć, żeby uczynić treści bardziej estetycznymi i przyjemnymi do czytania. Warto pamiętać o odpowiednim używaniu znaczników, bo to nie tylko poprawia wygląd, ale też dostępność treści, co jest ważne dla osób korzystających z czytników ekranu. Z mojego doświadczenia, im lepiej rozumiesz te zasady, tym łatwiej tworzyć strony, które będą dobrze odbierane przez użytkowników.

Pytanie 22

Zadanie "drzewo kontekstowe" w edytorze WYSIWYG Adobe Dreamweaver jest przeznaczone do

A. pokazania interaktywnego drzewa struktury HTML dla treści statycznych i dynamicznych
B. formatowania treści za pomocą dostępnych znaczników
C. tworzenia szablonu strony internetowej
D. określenia kaskadowych arkuszy stylów powiązanych z witryną
Funkcja 'drzewo kontekstowe' w edytorze WYSIWYG Adobe Dreamweaver jest kluczowym narzędziem, które umożliwia wizualizację struktury dokumentu HTML w formie interaktywnego drzewa. Dzięki temu użytkownicy mogą łatwo zobaczyć hierarchię elementów, co znacząco ułatwia nawigację oraz edycję zawartości zarówno statycznej, jak i dynamicznej. Przykład praktycznego zastosowania tej funkcji to sytuacja, w której programista pracuje nad złożonym projektem, zawierającym wiele sekcji i podsekcji. Dzięki drzewu kontekstowemu może szybko zlokalizować i edytować konkretne elementy, co przyspiesza proces tworzenia stron. Ponadto, funkcja ta wspiera dobre praktyki, takie jak utrzymanie czystości kodu oraz jego struktury, co jest zgodne z wytycznymi W3C dotyczącymi pisania HTML. Umożliwia to także lepsze zrozumienie i zarządzanie kodem, co jest nieocenione w większych projektach z zespołami developerskimi.

Pytanie 23

Którego ograniczenia (constraint) użyć do zdefiniowania klucza OBCEGO?

A.
AUTO_INCREMENT(id)
B.
FOREIGN KEY(id)
C.
PRIMARY KEY(id)
D.
UNIQUE KEY(id)
Klucz obcy definiuje ograniczenie FOREIGN KEY, np. FOREIGN KEY(id) - wiąże kolumnę z kluczem głównym innej tabeli, pilnując spójności powiązań. Dlatego klucz obcy tworzy FOREIGN KEY(id).

Pytanie 24

Która kwerenda wybierze z tabeli Uczniowie tylko osoby o imieniu „Aleksandra” urodzone PO 1998 roku?

A.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";
B.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia < "1998";
C.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" OR rok_urodzenia > "1998";
D.
SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia < "1998";
Zadanie stawia dwa warunki, które muszą być spełnione JEDNOCZEŚNIE: imię „Aleksandra” oraz urodzenie po 1998 - takie połączenie zapewnia operator AND, a „po roku” to rok_urodzenia > "1998". Daje to SELECT * FROM Uczniowie WHERE imie = "Aleksandra" AND rok_urodzenia > "1998";. Dlatego ta kwerenda jest poprawna.

Pytanie 25

Wskaż poprawne stwierdzenie dotyczące przedstawionego kodu HTML.
<video width="640" height="480" controls>
<source src="animacja.mp4" type="video/mp4">
</video>

A. Kod może nie działać w przeglądarkach, które nie obsługują HTML5.
B. Użytkownik nie będzie miał możliwości kontrolowania odtwarzania wideo.
C. Lokalizacja pliku jest nieprawidłowa, brak w niej ścieżki bezwzględnej.
D. Plik animacja.mp4 powinien mieć rozdzielczość 640x480 pikseli, aby był odtwarzany.
Kod HTML przedstawiony w pytaniu wykorzystuje znacznik &lt;video&gt;, który jest elementem HTML5 pozwalającym na osadzanie filmów w dokumentach internetowych. W kontekście poprawnej odpowiedzi, kluczowym jest zrozumienie, że przeglądarki muszą obsługiwać HTML5, aby mogły w pełni funkcjonować z tym kodem. W przypadku starszych przeglądarek, które nie wspierają HTML5, element &lt;video&gt; może nie być wyświetlany lub nie będzie działał prawidłowo. Dlatego istotne jest, aby deweloperzy testowali swoje aplikacje w różnych środowiskach oraz aby korzystali z odpowiednich polyfilli dla starszych przeglądarek, które mogą poprawić ich funkcjonalność. Przykładowo, użycie biblioteki JavaScript takiej jak Video.js może pomóc w zapewnieniu wsparcia dla elementów wideo w szerszym zakresie przeglądarek. Dbałość o kompatybilność z różnymi wersjami przeglądarek to nie tylko kwestia estetyki, ale również użyteczności i dostępności aplikacji internetowych.

Pytanie 26

Co zwróci w PHP empty($a), gdy $a ma wartość 0?

A.
TRUE
B.
NULL
C.
0
D.
FALSE
empty() zwraca wartość logiczną, a nie 0 czy NULL, więc te odpowiedzi odpadają. Nie zwróci też FALSE, bo 0 jest w PHP traktowane jako wartość pusta. Dla $a równego 0 funkcja empty($a) zwraca TRUE.

Pytanie 27

Baza danych księgarni ma tabelę ksiazki z polami: id, idAutor, tytul, ileSprzedanych oraz tabelę autorzy z polami: id, imie, nazwisko. Jak utworzyć raport dotyczący sprzedanych książek, który zawiera tytuły oraz nazwiska autorów?

A. Ustalić relację 1..1 pomiędzy tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
B. utworzyć dwie oddzielne kwerendy: pierwszą, która wyszuka tytuły książek, a drugą, która pobierze nazwiska autorów
C. stworzyć kwerendę, która wyszukuje tytuły książek
D. Zdefiniować relację 1..n między tabelami ksiazki i autorzy, a następnie stworzyć kwerendę łączącą obie tabele
Zdefiniowanie relacji 1..n między tabelami 'ksiazki' oraz 'autorzy' jest kluczowe dla prawidłowego modelowania danych w bazach danych. Relacja 1..n oznacza, że jeden autor może mieć wiele książek, co jest w pełni zgodne z rzeczywistością w kontekście księgarni. Aby stworzyć raport sprzedanych książek z tytułami i nazwiskami autorów, konieczne jest, aby obie tabele były połączone w sposób umożliwiający łatwy dostęp do danych. Po utworzeniu relacji można skorzystać z kwerendy SQL, która wykorzystuje złączenie (JOIN) do pobrania informacji z obu tabel. Przykładowe zapytanie może wyglądać następująco: SELECT ksiazki.tytul, autorzy.nazwisko FROM ksiazki JOIN autorzy ON ksiazki.idAutor = autorzy.id. Tego typu podejście jest zgodne z dobrymi praktykami w projektowaniu baz danych, umożliwiając łatwe skalowanie oraz modyfikację w przyszłości.

Pytanie 28

Która reguła CSS pozwala stosować różne style w zależności od szerokości ekranu (kluczowa w RWD)?

A.
@font-face
B.
@import
C.
@keyframes
D.
@media
Reguła @media (media query) pozwala uzależnić style od warunków urządzenia - najczęściej od szerokości okna. Zapisuje się w niej warunek, np. @media (max-width: 600px) { ... }, a style w środku zadziałają tylko, gdy jest on spełniony. To podstawowe narzędzie RWD: dzięki niemu ten sam dokument inaczej wygląda na telefonie i na monitorze. Dlatego kluczowa dla responsywności jest reguła @media.

Pytanie 29

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
B. wersji języka HTML zastosowanej w dokumencie strony internetowej.
C. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
D. tytule strony internetowej.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html.

W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy.

W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od:

<!DOCTYPE html>
<html lang="pl">
<head>…

Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 30

Podaj słowo kluczowe w języku C++, które umieszczane przed wbudowanym typem danych, umożliwia przyjmowanie jedynie nieujemnych wartości liczbowych?

A. long
B. const
C. short
D. unsigned
Słowo kluczowe 'unsigned' w języku C++ jest używane do deklaracji zmiennych, które będą przechowywać tylko wartości nieujemne. Oznacza to, że zmienna zadeklarowana jako 'unsigned int' będzie miała zakres od 0 do 4 294 967 295 (dla 32-bitowej reprezentacji), co podwaja maksymalną wartość w porównaniu do standardowego 'int', który może przyjmować wartości od -2 147 483 648 do 2 147 483 647. Zastosowanie 'unsigned' jest szczególnie przydatne w sytuacjach, gdzie negatywne wartości nie mają sensu, jak w przypadku liczników, indeksów tablic czy operacji na bitach. Przykład zastosowania: w pętli for, gdy iterujemy przez elementy tablicy, możemy użyć 'unsigned int' dla indeksu, aby upewnić się, że nie przyjmiemy błędnej wartości indeksu, co mogłoby prowadzić do nieprzewidzianych błędów. W praktyce, stosowanie 'unsigned' wspiera bezpieczeństwo i integralność danych, a także zwiększa zakres wartości, które można przechowywać.

Pytanie 31

Wynikiem działania pętli będzie wypisanie liczb

for ($i = 0; $i <= 20; $i += 4)
echo $i . ', ';
A. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
B. 0, 4, 8, 12, 16,
C. 0, 4, 8, 12, 16, 20,
D. 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
Twoja odpowiedź jest prawidłowa. Pętla for w języku PHP jest strukturą kontrolną, która pozwala na wielokrotne wykonanie określonej sekwencji instrukcji. W tym konkretnym przypadku, pętla zaczyna od wartości 0 i zwiększa wartość $i o 4 przy każdej iteracji, aż osiągnie lub przekroczy wartość 20. W wyniku tego, wartości, które otrzymujemy i zostają wypisane, to 0, 4, 8, 12, 16, 20. Pętle są niezwykle użyteczne i wszechstronne w programowaniu, pozwalając na automatyzację i usprawnienie wielu zadań. Pętla for, którą tu widzimy, jest przykładem zastosowania tej struktury do generowania sekwencji liczb, co ma wiele zastosowań, na przykład w tworzeniu tablic, sterowaniu kolejnością wykonywania operacji lub generowaniu dynamicznych treści na stronach internetowych.

Pytanie 32

W tabeli szkola (kolumny: imie, nazwisko, klasa) chcemy wyświetlić wszystkich uczniów klasy 3. Które polecenie jest poprawne?

A.
DELETE FROM szkola WHERE klasa = 3
B.
SELECT * FROM szkola WHERE klasa = 3
C.
UPDATE szkola SET klasa = 3
D.
SELECT * FROM szkola SET klasa = 3
Do odczytu danych z warunkiem służy SELECT z klauzulą WHERE. Aby wyświetlić uczniów klasy 3, zapisuje się SELECT * FROM szkola WHERE klasa = 3 - gwiazdka oznacza wszystkie kolumny, a warunek ogranicza wynik do klasy 3. Dlatego to zapytanie jest poprawne.

Pytanie 33

Zakładając, że użytkownik nie miał wcześniej żadnych uprawnień, polecenie SQL przyzna użytkownikowi anna jedynie uprawnienia do

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
A. wybierania, wstawiania oraz aktualizacji danych tabeli o nazwie klienci
B. wybierania, dodawania pól oraz modyfikacji struktury wszystkich tabel w bazie o nazwie klienci
C. wybierania, dodawania pól oraz modyfikacji struktury tabeli o nazwie klienci
D. wybierania, wstawiania oraz modyfikacji danych w wszystkich tabelach w bazie o nazwie klienci
To polecenie SQL, które widzisz, czyli GRANT SELECT INSERT UPDATE ON klienci TO anna, po prostu przyznaje użytkownikowi anna konkretne uprawnienia do tabeli klienci. Dzięki temu, ona może odczytywać dane z tej tabeli, co jest naprawdę ważne, zwłaszcza przy robieniu różnych zapytań czy raportów. A jakbyś chciał dodać nowe rekordy, to właśnie INSERT na to pozwala. To mega istotne, bo w bazach danych często coś się zmienia! Natomiast UPDATE daje możliwość zmieniania już istniejących danych, co jest bardzo przydatne, żeby utrzymać wszystko w porządku i aktualności. To jakby standard w zarządzaniu bazami danych. Przyznawanie uprawnień do konkretnej tabeli, a nie całej bazy, zmniejsza ryzyko, że ktoś dostanie dostęp do danych, które nie są dla niego przeznaczone. To wszystko działa zgodnie z zasadą minimalnych uprawnień, co jest super ważne! Można też lepiej kontrolować, kto i jakie operacje może robić na danych, co zapewnia bezpieczeństwo i integralność danych w firmie.

Pytanie 34

Zdefiniowanie klucza obcego jest niezbędne do utworzenia

A. klucza podstawowego.
B. relacji 1..n.
C. transakcji.
D. relacji 1..1.
W tym pytaniu łatwo się pomylić, bo wszystkie odpowiedzi zahaczają o tematykę baz danych, ale tylko jedna dotyczy faktycznego zastosowania klucza obcego. Klucz obcy w relacyjnej bazie danych służy do wiązania tabel ze sobą i pilnowania integralności referencyjnej. To oznacza, że jego główna rola to powiązanie rekordów: jeden rekord w tabeli nadrzędnej może mieć wiele powiązanych rekordów w tabeli podrzędnej. To jest właśnie relacja 1..n – najczęściej spotykana w normalnych systemach (np. jeden klient, wiele zamówień; jeden autor, wiele książek).
Częsty błąd polega na kojarzeniu klucza obcego z transakcjami. Transakcje w SQL (BEGIN, COMMIT, ROLLBACK) to zupełnie inny mechanizm – służą do zapewnienia atomowości, spójności, izolacji i trwałości operacji (tzw. ACID). Można mieć transakcje w bazie nawet wtedy, gdy w ogóle nie ma żadnych kluczy obcych. Klucz obcy nie jest wymagany do rozpoczęcia czy wykonania transakcji, to po prostu inna warstwa logiki.
Zdarza się też, że ktoś myli klucz obcy z kluczem podstawowym i myśli, że klucz obcy jest potrzebny do jego utworzenia. Jest dokładnie odwrotnie: najpierw definiuje się klucz podstawowy w tabeli nadrzędnej, a dopiero potem w innej tabeli tworzy się klucz obcy, który się do tego klucza podstawowego odwołuje. Klucz podstawowy identyfikuje jednoznacznie rekord w swojej tabeli, klucz obcy tylko wskazuje na ten rekord z innej tabeli.
Jeśli chodzi o relacje 1..1, to one również mogą być realizowane za pomocą kluczy obcych, ale pytanie używa słowa „niezbędne” i w kontekście typowych zastosowań oraz nauczania relacyjnych baz danych klucz obcy kojarzymy głównie z relacją 1..n. Relacja 1..1 jest rzadziej używana i zwykle wymaga dodatkowych ograniczeń (np. klucz obcy, który jest jednocześnie unikalny), więc to już bardziej specyficzny przypadek. Typowym, podręcznikowym i praktycznym zastosowaniem klucza obcego jest właśnie relacja jeden do wielu, i na to pytanie celuje.
Z mojego doświadczenia największy problem polega na tym, że uczniowie mieszają pojęcia: transakcje, klucze, relacje, wszystko wrzucają do jednego worka. Warto je rozdzielić: klucz podstawowy – identyfikacja rekordu, klucz obcy – powiązanie między tabelami (relacje, głównie 1..n), transakcje – kontrola przebiegu operacji w bazie. Jak się to poukłada w głowie, projektowanie schematu bazy danych staje się dużo prostsze i bardziej logiczne.

Pytanie 35

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

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

Pytanie 36

W SQL, aby dodać nowy wiersz do bazy danych, należy użyć polecenia

A. CREATE INTO
B. SELECT ROW
C. CREATE ROW
D. INSERT INTO
Wybór innych opcji zamiast 'INSERT INTO' wskazuje na nieporozumienie dotyczące podstawowych komend SQL. 'SELECT ROW' nie jest poprawnym poleceniem w SQL i nie służy do wstawiania danych. W SQL 'SELECT' jest używane do pobierania danych z bazy, a nie do ich wstawiania. Takie myślenie może prowadzić do błędnego założenia, że wystarczy jedynie wybrać dane, aby je dodać. Z kolei 'CREATE ROW' i 'CREATE INTO' są także niepoprawnymi komendami, ponieważ nie istnieją w standardzie SQL. 'CREATE' jest używane do definicji nowych struktur, takich jak tabele czy bazy danych, a nie do operacji wstawiania danych. Użytkownicy mogą mylić proces tworzenia z procesem dodawania, co prowadzi do zamieszania w zakresie funkcji każdej z komend. To zrozumienie jest kluczowe, ponieważ skutkuje tym, że nieprawidłowe komendy mogą prowadzić do błędów przy próbie interakcji z bazą danych, a w konsekwencji do utraty danych lub naruszenia integralności bazy. Właściwe przyswojenie funkcji 'INSERT INTO' jest zatem niezbędne dla efektywnej pracy z bazami danych.

Pytanie 37

Jaką formę ma kolor przedstawiony w systemie szesnastkowym jako #11FE07 w formacie RGB?

A. rgb(17,254,7)
B. rgb(11,127,7)
C. rgb(17,FE,7)
D. rgb(17,255,7)
Kolor zapisany w postaci szesnastkowej #11FE07 odnosi się do systemu kolorów RGB, który jest powszechnie wykorzystywany w grafice komputerowej oraz w sieci. Wartości szesnastkowe składają się z trzech par cyfr: pierwsza para (11) reprezentuje wartość czerwonego (R), druga para (FE) wartość zielonego (G), a trzecia para (07) wartość niebieskiego (B). Aby przekształcić wartości szesnastkowe na dziesiętne, stosujemy konwersję, gdzie '11' w systemie szesnastkowym to 17 w systemie dziesiętnym, 'FE' to 254, a '07' to 7. Zatem wartość RGB dla koloru #11FE07 wynosi rgb(17, 254, 7). Wartości te są kluczowe w tworzeniu kolorów w różnych aplikacjach, od stron internetowych po projektowanie graficzne. Zrozumienie konwersji kolorów oraz ich reprezentacji w różnych formatach jest niezbędne dla każdego projektanta, który pracuje z kolorami. Przykładem zastosowania może być projektowanie logo, gdzie precyzyjne odwzorowanie koloru w różnych formatach jest istotne dla spójności wizualnej marki.

Pytanie 38

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

a:visited {color: orange;}
A. ma wskaźnik myszy umieszczony nad sobą
B. był wcześniej odwiedzany
C. posiada niepoprawny adres URL
D. jeszcze nigdy nie został odwiedzony
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 39

W przedstawionym kodzie HTML zastosowany styl CSS jest stylem

<p style="color:red;">To jest przykładowy akapit.</p>
A. lokalnym
B. nagłówkowym
C. dynamicznym
D. zewnętrznym
Styl CSS zastosowany w podanym kodzie HTML to styl lokalny, ponieważ jest zdefiniowany bezpośrednio w tagu HTML za pomocą atrybutu 'style'. Taki sposób definiowania stylów pozwala na przypisanie unikalnych stylów do konkretnego elementu na stronie, co jest szczególnie przydatne, gdy chcemy szybko zmienić wygląd jednego elementu bez wpływania na inne. Przykładem lokalnego stylu jest ustawienie koloru tekstu akapitu na czerwony, co można zaobserwować w atrybucie 'style="color:red;"'. Warto zauważyć, że lokalne style mają wyższy priorytet od stylów zewnętrznych i wewnętrznych, co oznacza, że jeśli ten sam element ma przypisany styl zewnętrzny, lokalny styl go nadpisze. W kontekście standardów CSS, lokalne style są zgodne z zasadami kaskadowości, która określa, jak łączyć różne źródła stylów. Z perspektywy użyteczności, chociaż lokalne style mogą być wygodne, ich nadmierne stosowanie prowadzi do trudności w utrzymaniu kodu, dlatego zaleca się ich używanie w ograniczonym zakresie.

Pytanie 40

Co PRZYSPIESZA wyszukiwanie danych, ale może spowolnić operacje zapisu (INSERT/UPDATE)?

A. klucze podstawowe
B. reguły
C. wartości domyślne
D. indeksy
Indeksy przyspieszają WYSZUKIWANIE danych (szybciej odnajdują wiersze), ale spowalniają zapis - przy każdym INSERT/UPDATE trzeba też zaktualizować indeks. Dlatego tę cechę mają indeksy.