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 11:23
  • Data zakończenia: 8 czerwca 2026 11:36

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

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

<img src="/rysunek.png" alt="pejzaż"> Zapisany został kod HTML, który wstawia obrazek na stronę. Jeśli rysunek.png nie zostanie znaleziony, przeglądarka

A. nie załaduje strony internetowej
B. wyświetli w miejscu grafiki tekst "pejzaż"
C. w miejscu grafiki pokaże tekst "rysunek.png"
D. w miejscu grafiki zasygnalizuje błąd wyświetlania strony
Kiedy przeglądarka internetowa napotyka na kod HTML, który zawiera element graficzny, w takim przypadku, jeśli wskazany plik nie jest dostępny, następuje zachowanie określone przez atrybut 'alt'. W omawianym przykładzie, gdy przeglądarka nie może znaleźć pliku 'rysunek.png', wyświetli tekst alternatywny 'pejzaż'. Atrybut 'alt' jest niezwykle ważny z perspektywy dostępności oraz SEO, ponieważ pozwala na dostarczenie informacji o obrazie osobom, które nie mogą go zobaczyć, takim jak osoby niewidome korzystające z czytników ekranu. Z punktu widzenia standardów W3C, atrybut 'alt' jest zalecany dla każdego elementu <img>, aby poprawić użyteczność strony. W praktyce, dobrze skonstruowane opisy w atrybucie 'alt' mogą również wpłynąć pozytywnie na pozycjonowanie witryny w wyszukiwarkach, co czyni go kluczowym elementem podczas tworzenia treści na stronie internetowej. Z tego powodu umieszczanie informacyjnych i zrozumiałych opisów w tym atrybucie jest niezbędne nie tylko dla poprawy dostępności, ale także dla efektywnej optymalizacji SEO.

Pytanie 2

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

A. #imie
B. imie2
C. imię2
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 3

Którego znacznika użyć, aby wstawić na stronę obraz JPG?

A.
<src>
B.
<jpg>
C.
<img>
D.
<table>
Obraz (np. JPG) wstawia się na stronę znacznikiem <img> z atrybutem src wskazującym plik. Dlatego do wstawienia obrazu służy <img>.

Pytanie 4

W przedstawionym kodzie PHP w miejscu kropek powinno znajdować się polecenie

Ilustracja do pytania
A. mysqli_fetch_row($zapytanie);
B. mysqli_free_result($zapytanie);
C. mysqli_num_fields($zapytanie);
D. mysqli_query($zapytanie);
Funkcja mysqli_fetch_row jest prawidłowa w tym kontekście ponieważ służy do pobierania jednego wiersza wyników z zestawu wyników zapytań do bazy danych. Każde wywołanie tej funkcji zwraca tablicę indeksowaną numerycznie reprezentującą wiersz danych co doskonale pasuje do zaprezentowanego kodu PHP. W przedstawionym kodzie mamy do czynienia z pętlą for która iteruje po każdym wierszu zestawu wyników. W każdym kroku pętli echo wyprowadza wartości z wiersza. Użycie mysqli_fetch_row jest zgodne z najlepszymi praktykami ponieważ pozwala na kontrolowane przetwarzanie danych z bazy danych i jest bardziej efektywne przy pracy z dużymi zbiorami danych niż pobieranie wszystkich danych na raz. Dodatkowo taka metoda pozwala na lepsze zarządzanie pamięcią ponieważ przetwarzamy dane wiersz po wierszu co jest ważne przy dużych zbiorach danych. Warto pamiętać że mysqli_fetch_row zwraca null gdy nie ma więcej wierszy do pobrania co jest przydatne do wykrywania końca zestawu wyników. Jest to częsty wybór w wielu aplikacjach webowych do przetwarzania danych pobranych z bazy danych

Pytanie 5

Aby wyróżnić innym kolorem wiersz tabeli, na który aktualnie najeżdża kursor myszy, należy w CSS użyć:

A. pseudoklasy :visited
B. pseudoklasy :hover
C. pseudoelementu :first-line
D. nowego selektora klasy dla wiersza tabeli
Pseudoklasa :hover stosuje wybrane reguły CSS tylko wtedy, gdy kursor myszy znajduje się nad elementem. Aby podświetlić wiersz tabeli przy najechaniu, zapisuje się np. tr:hover { background: #eee; }. Po zsunięciu kursora styl znika. Dlatego do wyróżnienia wskazywanego wiersza służy pseudoklasa :hover.

Pytanie 6

W języku HTML w celu określenia słów kluczowych dla danej strony, należy zastosować następujący zapis

A. <meta keywords="psy, koty, gryzonie">
B. <meta name="keywords" = "psy, koty, gryzonie">
C. <meta name="keywords" content="psy, koty, gryzonie">
D. <meta name="description" content="psy, koty, gryzonie">
Pierwsza z niepoprawnych odpowiedzi, <meta keywords="psy, koty, gryzonie">, jest błędna z powodu braku atrybutu 'name'. W standardzie HTML każdy element <meta> powinien zawierać atrybut 'name' lub 'property', który określa, jakiego rodzaju metadane są dostarczane. Pominięcie tego atrybutu sprawia, że przeglądarki mogą nieprawidłowo interpretować ten element, co negatywnie wpływa na SEO strony. Druga odpowiedź, <meta name="keywords" = "psy, koty, gryzonie">, zawiera błędną składnię. Równanie atrybutu w HTML powinno być zapisane z wykorzystaniem znaku ' ', a nie '='. Poprawny zapis powinien wyglądać: <meta name="keywords" content="psy, koty, gryzonie">. Błąd ten jest częstym źródłem problemów w kodzie HTML, prowadzącym do niezrozumienia przez przeglądarki, co może skutkować ignorowaniem tego elementu przez algorytmy wyszukiwarek. Ostatnia odpowiedź, <meta name="description" content="psy, koty, gryzonie">, jest niepoprawna, ponieważ nie dotyczy słów kluczowych, lecz opisu strony. Chociaż atrybut 'description' również jest istotny i wpływa na SEO, to jego zastosowanie w tym kontekście nie odpowiada na pytanie o definicję słów kluczowych. Poprawne użycie metadanych polega na precyzyjnym dobraniu atrybutów do ich funkcji, co jest kluczowe dla efektywnej optymalizacji strony.

Pytanie 7

Jak nazywa się edytor stron, którego działanie tłumaczy się jako „otrzymujesz to, co widzisz”?

A. IDE
B. WYSIWYG
C. WEB STUDIO
D. VISUAL EDITOR
Pozostałe nazwy nie pasują. IDE to zintegrowane środowisko programistyczne (pisze się w nim kod), a „WEB STUDIO” i „VISUAL EDITOR” to nazwy ogólne, nie określające tej zasady działania. Edytor z podglądem efektu to WYSIWYG.

Pytanie 8

Zaprezentowane pole input daje możliwość

<input type="checkbox" name="text1" value="text2">
A. wprowadzenia hasła
B. wybrania opcji
C. wpisania dowolnego tekstu
D. zaznaczenia opcji z listy zawierającej wartości text1 i text2
Element HTML z atrybutem type="checkbox" jest używany do tworzenia pól wyboru które pozwalają użytkownikowi zaznaczać jedną lub więcej opcji. Checkboxy są częstym elementem formularzy internetowych gdyż umożliwiają elastyczne zbieranie danych od użytkowników. Przykładowo w formularzach rejestracyjnych można używać ich do akceptacji regulaminu zapisów na newslettery czy wyboru zainteresowań. Składnia takiego elementu jest prosta: tag <input> z atrybutami name i value. Atrybut name jest niezbędny do grupowania checkboxów a value do przekazywania wartości zaznaczonej opcji do serwera podczas wysyłania formularza. Dobre praktyki zalecają dodawanie etykiet opisujących znaczenie checkboxa co poprawia dostępność dla osób korzystających z czytników ekranowych. Stosowanie checkboxów powinno być przemyślane by nie przeciążać użytkownika zbyt dużą liczbą opcji co mogłoby negatywnie wpłynąć na UX. Właściwe użycie checkboxów zgodne ze standardami HTML i UX jest kluczowe dla intuicyjnego interfejsu użytkownika.

Pytanie 9

Jakie jest określenie na element bazy danych, który umożliwia jedynie przeglądanie danych, przedstawiając je w formie tekstowej lub graficznej?

A. Tabela
B. Raport
C. Zapytanie
D. Formularz
Tabela to struktura bazy danych, która służy do przechowywania danych w formie zorganizowanej w wiersze i kolumny. Tabele są fundamentem relacyjnych baz danych, jednak nie umożliwiają one bezpośredniego generowania raportów ani wizualizacji danych. Tabele są wykorzystywane w procesie wprowadzania i edycji danych, a nie w ich przetwarzaniu do analizy. Zapytanie to forma polecenia, która umożliwia użytkownikowi pobieranie określonych danych z bazy, na podstawie zdefiniowanych kryteriów. Mimo że zapytania są kluczowe w procesie obróbki danych, same w sobie nie generują raportów ani wykresów, lecz zwracają wyniki w postaci zbioru danych. Formularz to narzędzie, które służy do wprowadzania i edytowania danych w bazie. Rola formularzy polega na ułatwieniu interakcji użytkownika z bazą danych poprzez umożliwienie wprowadzania informacji w zorganizowanej formie. Formularze są przydatne w procesach zarządzania danymi, ale ich funkcjonalność nie obejmuje analizy ani prezentacji danych w formie raportów. W związku z tym, zarówno tabela, jak i zapytanie oraz formularz nie spełniają kryteriów określonych w pytaniu, ponieważ nie są dedykowane wyłącznie do odczytu danych w formie raportów.

Pytanie 10

Aby wskazać błędy składniowe w kodzie HTML, należy zastosować:

A. debugger
B. walidator
C. interpreter
D. kompilator
Pozostałe odpowiedzi to narzędzia związane z językami programowania, a HTML do nich nie należy. Debugger pozwala zatrzymywać i śledzić wykonujący się program, sprawdzać wartości zmiennych - tymczasem HTML niczego nie wykonuje, więc nie ma tu czego debugować. Interpreter i kompilator to z kolei narzędzia, które tłumaczą lub uruchamiają kod programu: interpreter na bieżąco, kompilator zamieniając go wcześniej na inną postać. HTML jest jedynie opisem struktury strony, dlatego żadne z nich nie wskaże błędnie zapisanego znacznika. Do kontroli poprawności składni HTML służy walidator, który porównuje dokument ze standardem języka i raportuje znalezione usterki.

Pytanie 11

Do utworzenia czego niezbędne jest zdefiniowanie klucza obcego?

A. transakcji
B. relacji jeden-do-wielu (1..n)
C. relacji jeden-do-jednego (1..1)
D. klucza podstawowego
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 12

Którego symbolu używa się w CSS do zdefiniowania selektora KLASY?

A. . (kropka)
B. : (dwukropek)
C. # (krzyżyk)
D. * (gwiazdka)
Selektor klasy w CSS poprzedza się KROPKĄ, np. .menu trafi we wszystkie elementy z class="menu". Klasy można nadawać wielu elementom i wielokrotnie używać, dlatego są podstawowym sposobem stylowania powtarzalnych fragmentów strony. Dlatego selektor klasy oznacza się kropką.

Pytanie 13

Który zapis to poprawna definicja funkcji w JavaScript?

A.
nazwa_funkcji(argumenty) { instrukcje; }
B.
new nazwa_funkcji(argumenty) { instrukcje; }
C.
function nazwa_funkcji(argumenty) { instrukcje; }
D.
typ_funkcji nazwa_funkcji(argumenty) { instrukcje; }
Funkcję w JavaScripcie definiuje się słowem kluczowym function, np. function nazwa_funkcji(argumenty) { instrukcje; }. Dlatego poprawna jest definicja zaczynająca się od function.

Pytanie 14

Jak nazywa się program, który wykonuje instrukcje kodu źródłowego BEZ wcześniejszego generowania pliku wynikowego?

A. interpreter
B. kompilator
C. konwerter kodu
D. konwerter języka
Interpreter wykonuje instrukcje kodu źródłowego na bieżąco, linia po linii, BEZ wcześniejszego tworzenia osobnego pliku wynikowego (wykonywalnego). Tak działa np. PHP czy JavaScript. Dlatego tym programem jest interpreter.

Pytanie 15

W instrukcji CREATE TABLE w SQL atrybut wskazujący, która kolumna w tabeli pełni rolę klucza podstawowego, to

A. UNIQUE
B. MAIN KEY
C. PRIMARY KEY
D. IDENTITY FIELD
Odpowiedź 'PRIMARY KEY' jest poprawna, ponieważ w poleceniu CREATE TABLE w SQL, klucz podstawowy jest definiowany właśnie za pomocą tego atrybutu. Klucz podstawowy to unikalny identyfikator dla każdej wiersza w tabeli, co oznacza, że wartość w tej kolumnie musi być unikalna i nie może być pusta. Definiowanie klucza podstawowego jest kluczowe dla zapewnienia integralności danych oraz efektywności operacji na bazie danych, ponieważ umożliwia szybkie wyszukiwanie i sortowanie. Na przykład, jeśli tworzysz tabelę 'Użytkownicy', możesz zdefiniować kolumnę 'UserID' jako klucz podstawowy, co zagwarantuje, że każdy użytkownik ma unikalny identyfikator. Warto również pamiętać, że w praktyce, jeśli nie określisz klucza podstawowego, baza danych nie będzie mogła zapewnić unikalności w tabeli, co może prowadzić do problemów z danymi. Zgodnie z dobrymi praktykami, klucz podstawowy powinien być stabilny oraz niezmienny, co oznacza, że nie powinno się go zmieniać po jego utworzeniu.

Pytanie 16

Emblemat systemu CMS o nazwie Joomla! to

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

Pytanie 17

Który znacznik sekcji <head> jest wymagany w HTML5, a jego brak walidator zgłasza jako błąd?

A.
title
B.
link
C.
meta
D.
style
Spośród znaczników sekcji <head> obowiązkowy w HTML5 jest <title> - każdy dokument musi mieć tytuł, więc jego brak walidator traktuje jak błąd. Dlatego wymagany jest <title>.

Pytanie 18

Narzędziem do zarządzania bazą danych, które jest zintegrowane w pakiecie XAMPP, jest

A. MySQL Workbench
B. phpMyAdmin
C. pgAdmin
D. SQLite
phpMyAdmin jest popularnym narzędziem wbudowanym w pakiet XAMPP, które służy do zarządzania bazą danych MySQL. Umożliwia użytkownikom łatwe wykonywanie operacji takich jak tworzenie, edytowanie i usuwanie baz danych oraz tabel, a także zarządzanie użytkownikami i uprawnieniami. Interfejs phpMyAdmin jest oparty na przeglądarkach internetowych, co sprawia, że jego obsługa jest intuicyjna nawet dla osób bez zaawansowanej wiedzy technicznej. Przykładowo, można szybko importować lub eksportować dane w różnych formatach, takich jak SQL, CSV czy XML, co jest niezwykle przydatne podczas migracji danych między różnymi środowiskami. Standardy dobrych praktyk przewidują korzystanie z narzędzi takich jak phpMyAdmin w celu minimalizacji ryzyka błędów manualnych, a także w celu zwiększenia efektywności pracy z bazami danych. Dzięki phpMyAdmin, użytkownicy mogą również łatwo monitorować wydajność bazy danych i optymalizować zapytania, co jest kluczowe dla utrzymania wysokiej jakości aplikacji webowych.

Pytanie 19

Walidator HTML5 zgłosił: „Error: Element head is missing a required instance of child element title”. Co to oznacza?

A. że element <title> nie jest wymagany
B. że <title> nie został zamknięty </title>
C. że w <head> nie zdefiniowano elementu <title>
D. że brakuje atrybutu title w <img>
Komunikat „Element head is missing a required instance of child element title” znaczy, że w sekcji <head> nie umieszczono wymaganego znacznika <title>. Walidator wymaga tytułu w każdym dokumencie. Dlatego oznacza brak <title> w <head>.

Pytanie 20

Co spowoduje

DELETE FROM mieszkania WHERE status = 1;
?
A. usunięcie rekordów z status = 1 z tabeli mieszkania
B. usunięcie całej tabeli mieszkania
C. usunięcie pola status z tabeli
D. usunięcie tabel z bazy mieszkania
DELETE FROM mieszkania WHERE status = 1; usuwa z tabeli mieszkania tylko te WIERSZE, w których pole status ma wartość 1. Struktura tabeli i pozostałe rekordy zostają nienaruszone. Dlatego polecenie usunie rekordy ze status = 1.

Pytanie 21

Algorytm sortowania tablicy, polegający na wielokrotnym porównywaniu par sąsiednich elementów i ich zamianie, gdy są w złej kolejności, nosi nazwę sortowania:

A. przez wybór
B. bąbelkowym
C. szybkim
D. przez scalanie
Sortowanie bąbelkowe (ang. bubble sort) wielokrotnie przechodzi przez tablicę, porównując sąsiednie elementy i zamieniając je miejscami, gdy są w złej kolejności. Większe wartości stopniowo „wypływają” na koniec niczym bąbelki. Jest proste, ale wolne (złożoność O(n²)). Dlatego opisany algorytm to sortowanie bąbelkowe.

Pytanie 22

Jaki jest cel funkcji napisanej w PHP?

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

Pytanie 23

Jak zapisać w JavaScript warunek: a i b są dodatnie, a b jest mniejsze od 100?

A.
if (a > 0 && b > 0 && b < 100)
B.
if (a > 0 || b > 0 || b > 100)
C.
if (a > 0 && b > 0 || b > 100)
D.
if (a > 0 || (b > 0 && b < 100))
Wszystkie trzy żądania muszą być spełnione naraz - a dodatnie, b dodatnie i b mniejsze od 100 - więc łączymy je operatorem &&: if (a > 0 && b > 0 && b < 100). „Dodatnie” to > 0. Dlatego ten warunek jest poprawny.

Pytanie 24

W podanym przykładzie pseudoklasa hover spowoduje, że styl pogrubiony zostanie przypisany

a:hover { font-weight: bold; }
A. odnośnikowi, gdy kursor myszy na niego najedzie
B. wszystkim odnośnikom, które nie były odwiedzane
C. każdemu odnośnikowi bez względu na jego bieżący stan
D. wszystkim odnośnikom, które były wcześniej odwiedzane
Pseudoklasa hover jest jedną z najczęściej używanych pseudoklas w CSS stosowaną do stylizacji elementów HTML w momencie, gdy użytkownik najeżdża kursorem myszy na dany element. W podanym przykładzie kodu CSS zastosowano pseudoklasę hover dla elementów a czyli odnośników. Oznacza to, że gdy kursor myszy znajdzie się nad jakimkolwiek odnośnikiem, jego styl zmieni się na pogrubiony dzięki właściwości font-weight: bold. Jest to bardzo przydatne w interaktywnej stylizacji stron internetowych, ponieważ pozwala użytkownikom na wizualne odróżnienie elementów, z którymi mogą wchodzić w interakcję. Praktycznym zastosowaniem tej pseudoklasy jest zwiększenie użyteczności i estetyki strony poprzez subtelne wskazanie elementów interaktywnych, takich jak menu nawigacyjne czy linki w treści. Warto pamiętać o zachowaniu spójności stylizacji dla wszystkich stanów odnośników, co jest zalecane jako dobra praktyka w projektowaniu responsywnych interfejsów użytkownika. Pseudoklasa hover, jako część kaskadowego arkusza stylów, pozwala na dynamiczną interakcję z elementami strony, co znacząco wpływa na doświadczenia użytkownika.

Pytanie 25

W JavaScript stworzono funkcję o nazwie licz_pitagoras, która oblicza długość przeciwprostokątnej w trójkącie prostokątnym, zgodnie z twierdzeniem Pitagorasa. Funkcja przyjmuje dwa parametry wejściowe i zwraca wynik. Poprawne wywołanie tej funkcji, wraz z uzyskaniem zwróconej wartości, będzie miało formę

A. licz_pitagoras(a, b);
B. licz_pitagoras(a, b) = c;
C. licz_pitagoras(a, b, c);
D. c = licz_pitagoras(a, b);
Odpowiedź 'c = licz_pitagoras(a, b);' jest poprawna, ponieważ przedstawia sposób wywołania funkcji oraz przypisania jej wyniku do zmiennej. W języku JavaScript, aby skorzystać z funkcji, należy najpierw ją wywołać, a następnie, w przypadku gdy funkcja zwraca wartość, możemy tę wartość przypisać do zmiennej. W tym przypadku, funkcja 'licz_pitagoras' przyjmuje dwa argumenty, które odpowiadają długościom dwóch przyprostokątnych w trójkącie prostokątnym i zwraca długość przeciwprostokątnej, obliczoną na podstawie wzoru a^2 + b^2 = c^2. Przykład praktyczny to wykorzystanie tej funkcji w aplikacji, która oblicza długości boków trójkątów, co jest przydatne w różnych dziedzinach, takich jak inżynieria czy architektura. Warto pamiętać o dobrej praktyce, aby nazwy funkcji były opisowe, co ułatwia zrozumienie ich funkcji bez potrzeby zagłębiania się w implementację.

Pytanie 26

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45
B. 10 15 20 25 30 35 40 45 50
C. 10 15 20 25 30 35 40 45
D. 0 5 10 15 20 25 30 35 40 45 50
Wybrana odpowiedź nie jest poprawna. Może wynikać to z niepełnego zrozumienia, jak działa pętla while w języku PHP. Pętla while wykonuje kod, dopóki warunek jest prawdziwy. W tym przypadku, rozpoczyna się od wartości zmiennej 10, która jest zwiększana o 5 za każdą iteracją, ale tylko do momentu, kiedy osiągnie wartość mniejszą niż 50. Oznacza to, że ostatnią wydrukowaną liczbą jest 45, ponieważ przy następnej iteracji wartość zmiennej wynosiłaby 50 - wartość nie spełniającą warunku pętli. Błędne odpowiedzi sugerują błędną interpretację, jak to działa - zaburzony początek ciągu (powinien zaczynać się od 10, a nie 0) lub błędną końcówkę (50 nie jest wydrukowane, ponieważ jest to wartość już poza zakresem pętli). Ważne jest, aby dokładnie analizować i rozumieć warunki pętli i jej działanie.

Pytanie 27

W przedstawionym kodzie HTML ukazany styl CSS to styl:

<p style="color: red;">To jest przykładowy akapit.</p>
A. zewnętrzny.
B. dynamiczny.
C. lokalny.
D. nagłówkowy.
Odpowiedź "lokalnym" jest prawidłowa, ponieważ styl CSS zastosowany w podanym kodzie HTML definiuje właściwości stylu bezpośrednio w elemencie HTML, co określamy jako styl lokalny (inline style). W tym przypadku, styl "color: red;" został zastosowany bezpośrednio w tagu <p>, co wpływa wyłącznie na ten konkretny akapit. Praktyczne zastosowanie lokalnych stylów polega na tym, że można je szybko dodać do pojedynczych elementów, ale należy pamiętać, że nadmiar lokalnych stylów może prowadzić do problemów z utrzymywaniem i zarządzaniem kodem. Zamiast tego zaleca się stosowanie zewnętrznych arkuszy stylów CSS, co pozwala na centralne zarządzanie stylami dla całej strony. Warto zauważyć, że lokalne style mają wyższy priorytet niż style zewnętrzne, co może prowadzić do konfliktów, jeśli nie zostaną odpowiednio użyte. Aby zapewnić zgodność z najlepszymi praktykami, zaleca się ograniczanie stosowania lokalnych stylów tam, gdzie to możliwe, na rzecz bardziej zorganizowanego podejścia z użyciem klas i identyfikatorów w zewnętrznych arkuszach stylów.

Pytanie 28

Który zapis znacznika <meta> jest poprawny pod względem użytych atrybutów?

A.
<meta name="!DOCTYPE">
B.
<meta name="description" content="...">
C.
<meta title="Strona dla hobbystów">
D.
<meta background="blue">
Pozostałe zapisy używają nieprawidłowych atrybutów. <meta name="!DOCTYPE"> myli <meta> z deklaracją typu dokumentu i nie ma content. <meta title="..."> i <meta background="blue"> stosują atrybuty title i background, które do <meta> nie należą. Poprawny jest <meta name="description" content="...">.

Pytanie 29

Polecenie serwera MySQL w postaci

REVOKE DELETE, UPDATE ON pracownicy FROM 'tKowal'@'localhost'
spowoduje, że użytkownikowi tKowal zostaną
A. przydzielone uprawnienia do wszelkich zmian struktury tabeli pracownicy
B. przydzielone uprawnienia do usuwania oraz aktualizowania danych w tabeli pracownicy
C. odebrane uprawnienia usuwania oraz dodawania rekordów w tabeli pracownicy
D. odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy
Odpowiedź wskazuje, że użytkownikowi tKowal odebrane zostały prawa usuwania i modyfikowania danych w tabeli pracownicy za pomocą polecenia REVOKE. W kontekście zarządzania uprawnieniami w MySQL, polecenie REVOKE jest kluczowym narzędziem, które umożliwia administratorom bazy danych kontrolowanie dostępu użytkowników do różnych operacji na danych. W tym przypadku, przy użyciu REVOKE DELETE, UPDATE, administrator zdejmuje z użytkownika tKowal możliwość usuwania (DELETE) oraz aktualizowania (UPDATE) rekordów w tabeli pracownicy. Praktycznym zastosowaniem tej funkcji może być sytuacja, gdy administrator chce ograniczyć dostęp do wrażliwych danych, aby zapobiec przypadkowemu lub nieuprawnionemu usunięciu informacji. Dobrą praktyką jest regularne przeglądanie i aktualizowanie uprawnień użytkowników, aby zapewnić, że mają oni tylko te uprawnienia, które są im niezbędne do wykonywania swoich obowiązków, co przyczynia się do zwiększenia bezpieczeństwa danych.

Pytanie 30

Aby w skrypcie JavaScript pobrać dane wpisane przez użytkownika, można posłużyć się oknem generowanym przez funkcję:

A.
alert()
B.
prompt()
C.
confirm()
D.
document.write()
Kluczowe jest to, czy dana funkcja faktycznie odbiera tekst od użytkownika, a robi to tylko jedna z nich. alert() wyświetla wyłącznie komunikat z przyciskiem OK - użytkownik może go jedynie przeczytać i zamknąć, więc do pobierania danych się nie nadaje. confirm() pokazuje pytanie z przyciskami OK i Anuluj, ale zwraca tylko wartość logiczną: true po kliknięciu OK lub false po Anuluj - nadaje się do potwierdzeń, nie do wpisywania tekstu. Z kolei document.write() działa w drugą stronę: wypisuje przekazaną treść bezpośrednio do dokumentu HTML, czyli generuje zawartość strony, a nie pozyskuje ją od odwiedzającego. Danymi wpisanymi przez człowieka zajmuje się prompt(), która wyświetla okno z polem tekstowym i zwraca wpisany ciąg znaków - dlatego to ona jest tu poprawną odpowiedzią.

Pytanie 31

Walidator W3C zgłosił błąd o niezamkniętych elementach przy zamykającym <p>. Którego fragmentu dotyczy?

A.
<p>Ala ma <b>kota</p></b>
B.
<p>Ala ma kota</p>
C.
<p>Ala ma <b>kota</b></p>
D.
<p>Ala ma kota
Znaczniki trzeba zamykać w ODWROTNEJ kolejności niż otwierano. W <p>Ala ma <b>kota</p></b><b> otwarto wewnątrz <p>, ale <p> zamknięto przed <b> - tagi się krzyżują, dlatego walidator zgłasza błąd. Dlatego chodzi o ten fragment.

Pytanie 32

Sklep online używa tabeli faktury. W trakcie generowania faktury pole dataPlatnosci nie zawsze zostaje uzupełnione. Aby to skorygować, na zakończenie dnia trzeba wpisać bieżącą datę do rekordów, w których to pole nie jest wypełnione. Można to osiągnąć za pomocą kwerendy

A. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataplatnosci = '0000-00-00';
B. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE id = 3;
C. UPDATE faktury SET dataPlatnosci=CURTIME() WHERE dataPlatnosci IS NOT NULL;
D. UPDATE faktury SET dataPlatnosci=CURDATE() WHERE dataPlatnosci IS NULL;
Wybór innych opcji jest nieco problematyczny. Kwerenda, która ustawia dataPlatnosci na CURTIME() w wierszach, gdzie id = 3, nie jest zbyt sensowna, bo odnosi się tylko do jednego rekordu. Poza tym, CURTIME() zwraca czas, a nie datę, a w kontekście faktur to nie ma sensu, bo powinny mieć datę płatności, a nie tylko czas. Kolejna sprawa to aktualizacja dat w wierszach, gdzie dataPlatnosci IS NOT NULL, co prowadzi do utraty ważnych informacji. Tego typu podejście jest sprzeczne z zasadami ochrony danych i może narobić bałaganu przy audytach. I ostatnia opcja, która ustawia datę na '0000-00-00', to kompletna katastrofa. Takie coś wprowadza błędne dane, które mogą wywołać problemy później. Użycie '0000-00-00' jako znacznika braku daty jest do bani i może prowadzić do nieporozumień. Lepiej używać NULL, bo to standard w SQL. Wybierając złe opcje, nie tylko ograniczasz funkcjonalność, ale także łamiesz zasady dobrego zarządzania danymi.

Pytanie 33

Z tabel Klienci oraz Uslugi należy wyodrębnić tylko imiona klientów oraz odpowiadające im nazwy usług, które kosztują więcej niż 10 zł. Kwerenda uzyskująca te informacje ma formę

Ilustracja do pytania
A. SELECT imie, nazwa FROM klienci, uslugi WHERE cena < 10
B. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id
C. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = klienci.id
D. SELECT imie, nazwa FROM klienci JOIN uslugi ON uslugi.id = uslugi_id WHERE cena > 10
Odpowiedź 4 jest prawidłowa, ponieważ prawidłowo wykorzystuje składnię SQL do połączenia dwóch tabel oraz filtrowania danych na podstawie podanego warunku. Kwerenda używa JOIN, aby połączyć tabele Klienci i Uslugi na podstawie wspólnej kolumny uslugi_id, co jest zgodne z zasadami relacyjnej bazy danych, gdzie klucz obcy w jednej tabeli odnosi się do klucza głównego w innej tabeli. Następnie, kwerenda stosuje filtrację WHERE cena > 10, co pozwala na wybór tylko tych rekordów, gdzie cena usługi przekracza 10 zł. Jest to zgodne z praktyką selektywnego pobierania danych, co jest kluczowe w optymalizacji zapytań i skutecznym zarządzaniu zasobami bazy danych. Zastosowanie takich technik jest standardem w branży, umożliwiając efektywne zarządzanie dużymi zbiorami danych oraz zwiększenie wydajności aplikacji poprzez ograniczenie liczby zwracanych wierszy do tych, które spełniają określone kryteria. Zrozumienie i umiejętność implementacji takich zapytań SQL to podstawowa umiejętność dla specjalistów IT pracujących z bazami danych.

Pytanie 34

Jakie imiona spełniają warunki klauzuli LIKE w podanym zapytaniu?

SELECT imie FROM mieszkancy WHERE imie LIKE '_r%';
A. Krzysztof, Krystyna, Romuald
B. Rafał, Rebeka, Renata, Roksana
C. Gerald, Jarosław, Marek, Tamara
D. Arleta, Krzysztof, Krystyna, Tristan
Wybór tych imion, które nie pasują do wzoru z klauzulą LIKE, jest trochę mylący. Te imiona, które zaznaczyłeś, nie mają 'r' na właściwych miejscach, co jest kluczowe. Na przykład, 'Rafał', 'Rebeka', 'Renata' czy 'Roksana' mają 'r' na pierwszej pozycji albo w ogóle! To pokazuje, jak ważne jest rozumienie pozycji znaków w wzorze LIKE, gdzie '_' oznacza jeden znak, a '%' może być niczym lub więcej. No i jak 'r' jest na pierwszej pozycji, to nie ma szans, żeby pasowało do '_r%'. Często błędy we wzorach wynikają z niedopatrzeń w pozycjach znaków. Wiedza na ten temat jest mega ważna, gdy pracujemy z bazami danych, bo bez tego może być bałagan w wyszukiwaniach.

Pytanie 35

W języku CSS zapis selektora

p > i { color: red; }
wskazuje, że kolorem czerwonym będzie sformatowany
A. wszystki tekst w znaczniku <p> lub wszelkie treści w znaczniku <i>
B. wszystkie teksty w znaczniku <p> oprócz tych w znaczniku <i>
C. tylko ten tekst w znaczniku <p>, który ma przypisaną klasę o nazwie i
D. jedynie ten tekst w znaczniku <i>, który znajduje się bezpośrednio wewnątrz znacznika <p>
Jeśli wybrałeś inne odpowiedzi, to pewnie wynika to z nieporozumienia co do tego, jak działają selektory w CSS i co się dzieje w hierarchii dokumentów HTML. Gdy wybierasz błędne opcje, często wynika to z niejasnego pojmowania relacji między różnymi elementami na stronie. Na przykład, myślenie, że każdy tekst w <p> lub <i> dostanie ten sam styl, zupełnie pomija to, że selektor '>' mówi, że styl dotyczy tylko bezpośrednich dzieci. Odrzucenie tej relacji rodzic-dziecko prowadzi do błędnego wniosku, że wszystkie elementy <p> i <i> są równorzędne. Poza tym, twierdzenie, że tekst w <p>, z wyjątkiem <i>, będzie czerwony, jest nieprawidłowe, bo selektor '>' mówi, że nie obejmuje innych elementów, a nie, że je włącza. Błędne jest również myślenie, że styl dotyczy tekstu w <p> z określoną klasą, ponieważ tu chodzi o strukturę, a nie o klasy. Warto wiedzieć, że precyzyjne selektory, jak ten w pytaniu, są bardzo ważne dla tworzenia sensownych arkuszy stylów, a ich złe zrozumienie może prowadzić do bałaganu w stylach i kłopotów w projektach webowych.

Pytanie 36

Który sposób komentowania NIE jest stosowany w kodzie PHP?

A.
# komentarz
B.
// komentarz
C.
/* komentarz */
D.
<!-- komentarz -->
Trzy pozostałe zapisy SĄ poprawnymi komentarzami PHP, więc nie pasują do pytania o sposób NIESTOSOWANY. // i # komentują pojedynczą linię (do końca wiersza), a /* */ obejmuje cały blok, także wieloliniowy. Spoza PHP jest komentarz HTML <!-- -->.

Pytanie 37

Który z poniższych znaczników HTML jest używany do tworzenia struktury strony internetowej?

A. <em>
B. <aside>
C. <input>
D. <mark>
Znacznik <aside> jest poprawnym rozwiązaniem, ponieważ jest używany do definiowania treści, która jest powiązana z otaczającym kontekstem, ale nie jest kluczowa dla głównego przebiegu informacji. Z perspektywy budowy struktury strony internetowej, <aside> doskonale wpisuje się w koncepcję bocznych paneli, przypisów, lub dodatkowych informacji, które wzbogacają główną treść. Przykładem zastosowania może być umieszczenie sekcji z cytatami, powiązanymi artykułami lub innymi treściami uzupełniającymi. Zgodnie z zasadami semantyki HTML5, <aside> pozwala na lepszą interpretację treści przez przeglądarki oraz narzędzia do analizy SEO, co przyczynia się do poprawy dostępności i użyteczności strony. W praktyce, korzystanie z semantycznych znaczników, takich jak <aside>, wspiera także tworzenie bardziej czytelnych i strukturalnych dokumentów, co jest zgodne z najlepszymi praktykami w tworzeniu stron internetowych.

Pytanie 38

Jaką funkcję w języku PHP można wykorzystać do weryfikacji typu zmiennej?

A. strrev()
B. switch()
C. foreach()
D. var_dump()
W kontekście PHP istnieje wiele funkcji i struktur, które mogą wprowadzać w błąd, gdy chodzi o sprawdzanie lub manipulację danymi. Funkcja strrev() służy do odwracania łańcucha tekstowego. Nie ma związku z typami zmiennych, ponieważ jej jedynym celem jest przetwarzanie tekstu. W przypadku switch() jest to konstrukcja kontrolująca przepływ, która jest używana do podejmowania decyzji w oparciu o wartość zmiennej, ale nie dostarcza informacji na temat jej typu. To najczęściej prowadzi do nieporozumień, gdy programiści próbują używać switch() do analizy typów danych, co jest niezgodne z zamierzonym przeznaczeniem tej konstrukcji. foreach() z kolei jest używane do iterowania po elementach tablicy lub obiektów, ale również nie dostarcza informacji na temat typów zmiennych. Powszechnym błędem myślowym jest mylenie funkcji i konstrukcji odpowiednich do różnych zadań. Programiści często mylą się, zakładając, że każda funkcja, która operuje na zmiennych, może dostarczyć informacji o ich typie, co jest nieprawidłowe. Kluczowe jest zrozumienie celu każdej z funkcji oraz stosowanie ich zgodnie z ich przeznaczeniem, aby uniknąć nieefektywnego kodu i trudności w debugowaniu aplikacji.

Pytanie 39

Wskaż najefektywniejszą metodę wyczyszczenia wszystkich danych z tabeli adresy, nie wpływając na jej strukturę

A. DROP TABLE adresy;
B. DELETE * FROM adresy;
C. DELETE TABLE adresy;
D. TRUNCATE TABLE adresy;
Usunięcie wszystkich rekordów z tabeli adresy bez usuwania jej struktury można zrealizować na wiele sposobów, jednak nie wszystkie z nich są właściwe. DROP TABLE adresy; jest komendą, która usuwa całą tabelę wraz z jej strukturą oraz danymi, co jest całkowicie sprzeczne z założeniem pytania. Takie podejście może prowadzić do poważnych problemów w aplikacjach, które polegają na istnieniu tabeli, ponieważ po wykonaniu tej komendy tabela przestaje istnieć, co uniemożliwia dalsze operacje na niej. DELETE * FROM adresy; wydaje się być poprawną próbą usunięcia danych, ale składnia ta jest błędna, ponieważ w SQL nie używa się znaku „*” w kontekście polecenia DELETE. Poprawna składnia powinna być DELETE FROM adresy;, co z kolei prowadzi do przetwarzania każdego rekordu w tabeli i może być znacznie wolniejsze w przypadku dużych zbiorów danych. DELETE również nie resetuje identyfikatorów autoinkrementacyjnych, co może być niepożądanym efektem. Z kolei DELETE TABLE adresy; to niewłaściwe wyrażenie, ponieważ SQL nie rozpoznaje komendy DELETE TABLE. W rzeczywistości, by usunąć tabelę, musielibyśmy użyć DROP TABLE. Zasadniczo, błędne odpowiedzi wskazują na niepełne zrozumienie zasadności i syntaktyki SQL oraz różnic pomiędzy operacjami na danych. Warto zatem przywiązywać wagę do detali, aby unikać nieefektywnych i błędnych rozwiązań, szczególnie w pracy z bazami danych, gdzie każdy błąd może prowadzić do utraty cennych danych.

Pytanie 40

Który typ przypisać kolumnie z kodami pocztowymi, by przechowywała tekst o STAŁEJ długości?

A.
TEXT
B.
BLOB
C.
CHAR
D.
DECIMAL
Kod pocztowy ma STAŁĄ długość (w Polsce zawsze format „NN-NNN”), dlatego najlepiej pasuje typ CHAR, który przechowuje tekst o ustalonej, niezmiennej liczbie znaków - jest dla takich danych oszczędniejszy i szybszy niż typy zmiennej długości. Dlatego stosuje się CHAR.