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: 11 lipca 2026 15:39
  • Data zakończenia: 11 lipca 2026 15:54

Egzamin zdany!

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

Który zapis to poprawny SKŁADNIOWO warunek PHP sprawdzający błąd połączenia z bazą?

A.
if (mysqli_connect_errno()){}
B.
if (mysqli_connect_error()}{
C.
if (mysqli_connect_error())()
D.
if (mysqli_connect_errno()}{
Składnia warunku w PHP to if (warunek) { ... } - okrągłe nawiasy obejmują warunek, a klamrowe blok kodu. Poprawny jest więc if (mysqli_connect_errno()){}. Dlatego ten zapis jest składniowo prawidłowy.

Pytanie 2

Grafik chce zamienić obraz JPG na PNG tak, by białe miejsca stały się przezroczyste. Co powinien zrobić?

A. dodać kanał alfa
B. zamienić obraz na odcienie szarości
C. obniżyć rozdzielczość obrazu
D. zaimportować obraz do edytora wektorowego
Aby białe miejsca stały się przezroczyste po zapisie do PNG, trzeba dodać KANAŁ ALFA - czyli warstwę przezroczystości, w której piksele można uczynić niewidocznymi. Dlatego należy dodać kanał alfa.

Pytanie 3

Liczba 0x142 zapisana w skrypcie JavaScript jest w postaci:

A. dziesiętnej
B. szesnastkowej
C. ósemkowej
D. dwójkowej
Pozostałe systemy mają inne oznaczenia. Liczby dziesiętne pisze się bez żadnego przedrostka, po prostu cyframi (np. 322). Liczby dwójkowe poprzedza 0b (np. 0b101), a ósemkowe - 0o. Przedrostek 0x jest zarezerwowany dla zapisu szesnastkowego, więc 0x142 to liczba w systemie szesnastkowym, dlatego ta odpowiedź jest poprawna.

Pytanie 4

Jaką wartość wyświetli się po uruchomieniu poniższego kodu JavaScript?

javascript
document.write(Math.round(4.51) + Math.pow(2, 3));
A. 14
B. 11
C. 13
D. 12
Zobaczmy, jak doszliśmy do poprawnej odpowiedzi 13. W kodzie JavaScript mamy fragment: <script type='text/javascript'> document.write(Math.round(4.51) + Math.pow(2, 3)); </script>. Co tu się dzieje? Dwie główne operacje to zaokrąglanie i potęgowanie. Funkcja Math.round(4.51) zaokrągla do najbliższej liczby i zwraca 5. Potem mamy Math.pow(2, 3), które daje wynik 8, bo 2 do potęgi 3 to 2 * 2 * 2. Jak to zsumujemy, to mamy 5 + 8, co daje 13. Warto wiedzieć, że Math.round i Math.pow są częścią obiektu Math w JavaScript, który ma różne przydatne funkcje. Na przykład, Math.sqrt() oblicza pierwiastek kwadratowy, a Math.random() daje losowe liczby. To są naprawdę przydatne rzeczy w aplikacjach webowych, gdzie często potrzebujemy obliczeń z danymi liczbowymi. Standard ECMA-262 opisuje, jak te funkcje mają działać, więc możemy być pewni, że będą działać tak samo w różnych środowiskach JavaScript.

Pytanie 5

Dla dowolnego a z przedziału (0, 99) zadaniem funkcji zapisanej w języku JavaScript jest

function fun1(a)
{
    for (n = a; n <= 100; n++)
        document.write(n);
    return n;
}
A. wypisanie liczb z przedziału a .. 100 i zwrócenie wartości zmiennej n
B. wypisanie wartości zmiennej a oraz zwrócenie wartości zmiennej n
C. zwrócenie liczb z przedziału a .. 99
D. wypisanie liczb z przedziału a .. 99 i zwrócenie wartości 100
Twoja odpowiedź jest poprawna. Funkcja fun1(a) w języku JavaScript przyjmuje argument a i za pomocą pętli for wypisuje liczby od a do 100 włącznie - a więc pętla jest iterowana tyle razy, ile wynosi różnica między 100 a wartością argumentu a. Po każdej iteracji pętli, wartość zmiennej n jest zwiększana o 1, co jest typowym zachowaniem dla pętli for w JavaScript. Funkcja zwraca wartość zmiennej n po zakończeniu pętli. Tak więc funkcja zwraca 101, ponieważ to właśnie wartość o 1 większa niż warunek kończący pętlę (100) spowoduje jej zakończenie. Ta funkcja to przykładowe zastosowanie pętli for w JavaScript, pokazujące praktyczne zastosowanie tego elementu składni. Pętla for jest standardem w branży i jest powszechnie stosowana do iterowania przez elementy tablicy, obiekty, liczby i inne struktury danych.

Pytanie 6

Która metoda obiektu Math dla x = 2.8 zwróci 2?

A.
Math.sqrt(x)
B.
Math.ceil(x)
C.
Math.floor(x)
D.
Math.exp(x)
Metoda Math.floor() zaokrągla w DÓŁ do najbliższej liczby całkowitej, więc dla x = 2.8 zwróci 2. Dlatego wynik 2 daje Math.floor(x).

Pytanie 7

Którego protokołu należy użyć, aby przesłać pliki witryny na serwer hostingowy?

A. FTP
B. IRC
C. HTTP
D. SMTP
Do przesłania plików witryny na serwer hostingowy służy protokół FTP (File Transfer Protocol) - umożliwia wgrywanie i pobieranie plików między komputerem a serwerem. Dlatego używa się FTP.

Pytanie 8

W języku CSS, sformatowanie dowolnego elementu języka HTML w ten sposób, że po najechaniu na niego kursorem zmienia on kolor czcionki, wymaga zastosowania pseudoklasy

A. :hover
B. :active
C. :visited
D. :coursor
Poprawna odpowiedź to pseudoklasa :hover. W CSS służy ona dokładnie do tego, o co chodzi w pytaniu: do zmiany wyglądu elementu w momencie, gdy użytkownik najedzie na niego kursorem myszy (albo innym wskaźnikiem). Mechanizm jest prosty: przeglądarka śledzi pozycję kursora i kiedy znajduje się on nad danym elementem, do selektora z :hover zostają zastosowane zdefiniowane tam style.

Przykładowo, żeby po najechaniu zmienić kolor tekstu linku, wystarczy napisać:

a:hover {
color: red;
}

Można tak samo stylować dowolny element HTML, nie tylko <a>:

button:hover {
color: white;
background-color: #007bff;
cursor: pointer;
}

W nowoczesnych interfejsach :hover jest podstawą efektów „podświetlenia” przycisków, kart, menu rozwijanych itp. Z mojego doświadczenia warto pamiętać o kolejności pseudoklas dla linków: a:link, a:visited, a:hover, a:active – to jest klasyczna dobra praktyka (czasem zapisywana jako LVHA), żeby style się nie nadpisywały w dziwny sposób.

Trzeba też mieć w głowie, że na urządzeniach mobilnych :hover działa inaczej lub wcale, bo tam nie ma typowego kursora. Dlatego sensowne jest, żeby najważniejsze informacje nie były dostępne tylko po najechaniu, a :hover traktować bardziej jako poprawę wygody i estetyki, a nie jedyne źródło funkcjonalności. Mimo to w klasycznym desktopowym webie :hover jest absolutnym standardem do reakcji na najechanie kursorem.

Pytanie 9

Narzędzie zaprezentowane na ilustracji służy do

Ilustracja do pytania
A. walidacji kodu HTML i XHTML
B. walidacji stylów CSS
C. sprawdzania zgodności witryny ze standardem HTML5
D. debugowania strony internetowej
Narzędzie przedstawione na ilustracji to usługa walidacji CSS stworzona przez World Wide Web Consortium (W3C). Jego głównym celem jest sprawdzanie poprawności arkuszy stylów CSS pod kątem zgodności z obowiązującymi standardami. Walidacja CSS pozwala na identyfikację błędów składniowych oraz niepoprawnych wartości, co jest kluczowe dla zapewnienia spójności wyglądu strony w różnych przeglądarkach. Korzystanie z walidatora CSS jest częścią dobrych praktyk w procesie tworzenia stron internetowych, ponieważ poprawny kod CSS zwiększa dostępność i użyteczność serwisów. Praktycznym przykładem użycia tego narzędzia jest proces optymalizacji strony internetowej, gdzie walidator pomaga w eliminacji błędów, które mogą prowadzić do nieprzewidywalnego zachowania witryny. Dzięki walidacji możemy również upewnić się, że nasze arkusze stylów są zgodne z najnowszymi standardami, co jest istotne dla przyszłej kompatybilności serwisu.

Pytanie 10

Wskaż prawidłową definicję funkcji w języku JavaScript?

A. new nazwa_funkcji(argumenty) {instrukcje;}
B. typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}
C. nazwa_funkcji(argumenty) {instrukcje;}
D. function nazwa_funkcji(argumenty) {instrukcje;}
Wybór innej definicji funkcji w JavaScript, takiej jak 'typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}' czy 'new nazwa_funkcji(argumenty) {instrukcje;}' jest niepoprawny z kilku kluczowych powodów. Przede wszystkim, użycie 'typ_funkcji' sugeruje, że funkcja ma być zdefiniowana w oparciu o z góry określony typ, co jest niezgodne z dynamiczną naturą JavaScript, gdzie typ danych jest określany w czasie wykonywania, a nie w czasie kompilacji. Ponadto, zapis 'new nazwa_funkcji(argumenty) {instrukcje;}' odnosi się do tworzenia instancji obiektów za pomocą konstruktora, a nie do definiowania funkcji, co wprowadza zamieszanie. Typowe błędy myślowe mogą wynikać z mylenia pojęć funkcji i obiektów, co prowadzi do nieporozumień co do roli funkcji w tym języku. Warto również zwrócić uwagę, że konwencja używania słowa kluczowego 'function' pomaga w zachowaniu spójności i czytelności kodu, co jest istotne w kontekście współpracy w zespołach programistycznych oraz utrzymania jakości kodu. W końcu, znajomość standardowej składni deklaracji funkcji w JavaScript jest niezbędna do efektywnego programowania w tym języku oraz zrozumienia jego podstawowych zasad działania.

Pytanie 11

W którym pliku konfiguracyjnym serwera Apache ustawia się przekierowanie 301 (z jednego URL na inny)?

A.
apacheConf
B.
.htaccess
C.
configuration.php
D.
conf.php
Pozostałe nazwy nie są plikami konfiguracji Apache. conf.php i configuration.php to pliki PHP (np. konfiguracja aplikacji), a „apacheConf” nie istnieje. Przekierowania definiuje .htaccess.

Pytanie 12

W języku HTML, aby nadać dokumentowi tytuł "Moja strona", który będzie wyświetlany na zakładce przeglądarki internetowej, należy posłużyć się zapisem

A. <meta title="Moja strona">
B. <meta name="title" content="Moja strona" />
C. <head>Moja strona</head>
D. <title>Moja strona</title>
Częstym problemem w nauce HTML jest mylenie roli różnych tagów w sekcji <head>, zwłaszcza gdy chodzi o ustawianie tytułu strony. Trzeba uważnie rozróżniać, które elementy mają wpływ na wyświetlanie strony w przeglądarce, a które pełnią inne funkcje pomocnicze. Na przykład umieszczenie tekstu „Moja strona” bezpośrednio w tagu <head> nie wyświetli tego napisu ani na karcie przeglądarki, ani na samej stronie – sekcja <head> służy tylko do osadzania metadanych, stylów czy skryptów. Natomiast tag <meta name="title" content="Moja strona" /> to próba użycia meta-informacji, która jednak nie zmienia tytułu strony w przeglądarce. Tag <meta> jest bardzo ważny dla SEO czy opisu strony, ale nie ustala tytułu widocznego dla użytkownika – tą rolę pełni wyłącznie <title>. Zdarza się też, że ktoś myli atrybuty lub próbuje użyć nieistniejących, jak w przypadku <meta title="Moja strona"> – to nie jest zgodne ze standardem HTML i nie będzie rozpoznane przez żadną nowoczesną przeglądarkę. Moim zdaniem wiele osób próbuje po prostu zgadywać, sugerując się nazwami atrybutów lub skrótami myślowymi. W praktyce warto zawsze sprawdzać aktualną specyfikację HTML5 i testować efekt działania kodu w prawdziwej przeglądarce. Najlepiej trzymać się sprawdzonych, oficjalnych rozwiązań – tytuł strony ustawia się WYŁĄCZNIE za pomocą <title> w sekcji <head>. Pozostałe konstrukcje mogą się przydać do dodatkowego opisu strony czy indeksowania przez wyszukiwarki, ale nie wpływają na to, co zobaczy użytkownik na pasku zakładki.

Pytanie 13

Jaki jest wynik wykonania pętli for w poniższym kodzie PHP, jeśli chodzi o wypisanie liczb?

<?php
for($i=5; $i>1; $i-=2)
echo (
$i%2) . " " ;
?
>
A. 1 0 1 0
B. 1 0
C. 1 0 1
D. 1 1
Analizując inne odpowiedzi zwróćmy uwagę na błędy w logice pętli i operacji modulo które mogą prowadzić do błędnych wyników. Jedną z częstych pomyłek jest niedokładne zrozumienie działania operatora % który zwraca resztę z dzielenia. W kontekście pętli for ważne jest zrozumienie że zmienna kontrolująca i jest modyfikowana zgodnie z określonym krokiem tutaj i -= 2 co oznacza że i zmniejsza się o 2 w każdej iteracji pętli. Niepoprawne odpowiedzi mogą wynikać z założenia że pętla wykonuje się dla innych wartości i niż te faktycznie użyte. Na przykład wynik 1 0 1 0 sugeruje błędne założenie o nieparzystym kroku lub innej inicjalizacji zmiennej i. Możliwe że interpretacja warunku końcowego i > 1 nie została właściwie zrozumiana co prowadzi do założenia że pętla trwa dłużej niż powinna. Innym błędem może być zaniedbanie uwzględnienia kolejności wykonania instrukcji w ciele pętli. Zapominanie o dokładnym zrozumieniu jak działa i jest modyfikowane w każdej iteracji pętli może prowadzić do oczekiwania niepoprawnych wyników. Edukacyjnie ważne jest upewnienie się że każdy krok pętli jest dokładnie przeanalizowany a wynik działania operatora modulo jest zawsze przewidywalnie interpretowany w ramach iteracji pętli. Zrozumienie tych zasad jest kluczowe w pisaniu wydajnego i bezbłędnego kodu w PHP i innych językach programowania.

Pytanie 14

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

A. pseudoelementu :first-line
B. nowego selektora klasy dla wiersza tabeli
C. pseudoklasy :hover
D. pseudoklasy :visited
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 15

Jak za pomocą JavaScriptu wyświetlić na stronie bieżącą datę i czas?

A.
document.write(Date())
B.
echo Date()
C.
echo Date() + Time()
D.
innerHTML = Date()
Pozostałe odpowiedzi nie zadziałają w JavaScripcie. Dwie z nich zaczynają się od echo, które jest instrukcją języka PHP - w JS nie istnieje, a dodatkowo Time() również nie jest funkcją JavaScriptu. Zapis innerHTML = Date() sam w sobie jest niekompletny: innerHTML trzeba przypisać konkretnemu elementowi strony, np. document.getElementById("x").innerHTML, inaczej nic się nie wyświetli. Bieżącą datę i czas wypisze document.write(Date()), dlatego to ono jest poprawne.

Pytanie 16

Co można powiedzieć o zmiennej predefiniowanej $_POST w języku PHP?

A. zawiera dane przesłane do skryptu z formularza
B. jest rozszerzoną wersją tablicy $_SESSION
C. jest kopią tablicy $_COOKIE
D. zawiera dane przesłane do skryptu z ciasteczka
Zmienna predefiniowana $_POST zawiera dane przesłane do skryptu z FORMULARZA wysłanego metodą POST - trafiają one w treści żądania, a nie w adresie URL. Odczytuje się je np. $_POST['login']. Dlatego $_POST zawiera dane z formularza.

Pytanie 17

Deklaracja <!DOCTYPE HTML> wskazuje, że dokument napisano w której wersji HTML?

A. 5
B. 7
C. 6
D. 4
Deklaracja <!DOCTYPE HTML> - krótka, bez numeru wersji ani odwołania do DTD - to znak rozpoznawczy HTML5. Informuje przeglądarkę, że dokument korzysta z najnowszego standardu. Dlatego oznacza HTML w wersji 5.

Pytanie 18

Polecenie w języku SQL w formie

ALTER TABLE 'miasta' 
ADD 'kod' text; 
A. dodaje do tabeli dwie kolumny o nazwach: kod i text.
B. dodaje do tabeli kolumnę o nazwie kod typu text.
C. w tabeli miasta zmienia nazwę kolumny kod na text.
D. zmienia nazwę tabeli miasta na kod.
Poprawna odpowiedź to 'dodaje do tabeli kolumnę o nazwie kod typu text'. Polecenie SQL ALTER TABLE służy do modyfikacji struktury istniejącej tabeli, a w tym przypadku dodaje nową kolumnę do tabeli 'miasta'. Składnia ADD 'kod' text oznacza, że do tabeli zostanie dodana kolumna o nazwie 'kod', której typ danych to 'text'. Typ danych 'text' jest używany do przechowywania długich ciągów tekstowych, co jest przydatne w przypadku danych takich jak opisy czy komentarze. W praktyce, dodawanie kolumn do tabeli jest często wykorzystywane w procesie rozwoju bazy danych, aby dostosować strukturę do zmieniających się potrzeb aplikacji. W przypadku dodawania kolumn w sposób nieinwazyjny, jak w tym przykładzie, zapewniamy, że istniejące dane nie zostaną utracone, a nowa kolumna będzie dostępna do natychmiastowego użycia. Warto również pamiętać, aby stosować konwencje nazewnictwa, które poprawiają czytelność i zrozumiałość kodu SQL, co jest zalecane w dobrych praktykach projektowania baz danych.

Pytanie 19

Model fizyczny replikacji bazy danych pokazany na ilustracji jest modelem

Ilustracja do pytania
A. rozproszonym
B. centralnego subskrybenta
C. równorzędnym
D. centralnego wydawcy
Model centralnego wydawcy jest popularnym rozwiązaniem w replikacji baz danych gdzie jeden centralny serwer działa jako główny wydawca danych do wielu subskrybentów. Kluczowa cecha tego modelu polega na tym że wszystkie zmiany są inicjowane na głównym serwerze co pozwala na scentralizowane zarządzanie danymi. Centralny wydawca zapewnia że dane są spójne i aktualizowane we wszystkich subskrybentach zmniejszając ryzyko konfliktów danych. Taka architektura jest często stosowana w organizacjach z rozproszonymi jednostkami gdzie centralny serwer w centrali obsługuje oddziały terenowe. Przykładami zastosowań są systemy ERP i CRM które wymagają jednoczesnej replikacji danych do wielu lokalizacji. Dobre praktyki w tej architekturze obejmują regularne monitorowanie wydajności serwerów oraz optymalizację przepustowości sieci by minimalizować opóźnienia. Modele centralnego wydawcy wykorzystują technologie takie jak SQL Server Replication czy Oracle Streams które są dobrze udokumentowane i szeroko stosowane w branży zapewniając niezawodność i skalowalność.

Pytanie 20

Określ wynik wykonania poniższego fragmentu kodu JavaScript.

var akapit = document.createElement("p");
document.body.appendChild(akapit);
A. Wstawienie akapitu na początku strony
B. Wyświetlenie okna dialogowego z komunikatem "akapit"
C. Usunięcie akapitu z treści strony
D. Dodanie akapitu na samym końcu strony
Wybór innej odpowiedzi niż dodanie akapitu na końcu strony może świadczyć o tym, że nie do końca rozumiesz, jak działa manipulacja DOM w JavaScript. Wydaje się, że sądzisz, że kod usuwa akapit, ale tak naprawdę używana jest tylko metoda do tworzenia i dodawania elementów, a usuwanie wymagałoby czegoś innego, jak removeChild czy remove. Również mylenie dodawania elementu na początku strony jest błędne, bo appendChild zawsze dodaje na końcu. Jakbyś chciał dodać na początku, musiałbyś zastosować insertBefore z odniesieniem do pierwszego dziecka. Myślenie, że kod wyświetla okno dialogowe, też nie ma podstaw, bo nie użyto tu żadnej metody dialogowej jak alert czy prompt. Z mojego doświadczenia, takie mylne podejście często wynika z braku praktyki z manipulacją DOM, co jest istotne do prawidłowego stosowania JavaScript w projektach webowych.

Pytanie 21

Program napisany w PHP ma na celu obliczenie średniej pozytywnych ocen ucznia w zakresie od 2 do 6.
Warunek selekcji ocen w pętli liczącej średnią powinien zawierać wyrażenie logiczne

A. $ocena > 2 and $ocena < 6
B. $ocena >= 2 or $ocena <= 6
C. $ocena > 2 or $ocena < 6
D. $ocena >= 2 and $ocena <= 6
Wybór odpowiedzi $ocena >= 2 and $ocena <= 6 jest poprawny, ponieważ precyzyjnie określa zakres, w jakim dopuszczalne są oceny ucznia. Operator logiczny 'and' zapewnia, że obie części warunku muszą być spełnione jednocześnie: ocena musi być większa lub równa 2 oraz mniejsza lub równa 6. Taki sposób definiowania zakresu jest zgodny z dobrymi praktykami programowania, gdzie ważne jest, aby warunki logiki były jednoznaczne i precyzyjne. Dla przykładu, w kontekście obliczania średniej, wykorzystanie tego warunku pozwala na uwzględnienie wszystkich ocen, które są zgodne z regulaminem szkoły, co jest kluczowe dla uzyskania dokładnego wyniku. W praktyce, przy implementacji tego typu logiki w PHP, możemy spotkać się z używaniem podobnych zapytań w kontekście przetwarzania danych uczniów, co podkreśla znaczenie poprawnego definiowania warunków w programach. Dodatkowo, stosowanie takich wyrażeń pozwala na łatwe rozbudowywanie kodu, gdyż łatwo można dodawać nowe warunki lub modyfikować istniejące, co wpisuje się w założenia elastyczności i czytelności kodu.

Pytanie 22

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. klucza obcego
B. klucza podstawowego
C. relacji
D. numeryczne
Rekord w bazie jednoznacznie identyfikuje pole klucza PODSTAWOWEGO (głównego) - jego wartości są unikalne i niepuste. Dlatego identyfikuje go klucz podstawowy.

Pytanie 23

Instrukcja w języku JavaScript

var napis1 = new napisy();
ma na celu
A. wykonanie metody obiektu napisy
B. stworzenie obiektu napis1 z klasy napisy
C. stworzenie nowej klasy napis1
D. zadeklarowanie zmiennej napis1 oraz uruchomienie funkcji, która przyjmuje jako argument napis1
Niepoprawne odpowiedzi bazują na powszechnych nieporozumieniach dotyczących podstaw programowania w JavaScript. Wywołanie metody obiektu napisów nie może być zrealizowane w sposób przedstawiony w pytaniu, ponieważ fragment "var napis1 = new napisy();" nie wskazuje na jakiekolwiek metody, a jedynie na tworzenie nowego obiektu. Istnieje różnica między deklarowaniem obiektu a wywoływaniem jego metod. Również nie ma możliwości, aby zadeklarować zmienną napis1 i jednocześnie wywołać funkcję z jej argumentem w tym kontekście, gdyż zapis ten nie zawiera żadnych funkcji. Kolejna koncepcja dotycząca utworzenia nowej klasy jest błędna, ponieważ "var napis1 = new napisy();" nie tworzy klasy, a instancję obiektu. W praktyce, typowe błędy myślowe związane z tymi odpowiedziami wynikają z mylenia instancji obiektu z definicją klasy. Użytkownicy mogą myśleć, że przypisanie "new napisy()" tworzy klasę, podczas gdy tak naprawdę ta operacja tworzy nowy obiekt z dostępem do metod i właściwości zdefiniowanych w klasie napisy. Ważne jest zrozumienie, że klasy w JavaScript muszą być zdefiniowane wcześniej, aby można było tworzyć ich instancje, co stanowi kluczowy element programowania obiektowego.

Pytanie 24

Co w bazach danych oznacza termin „atrybut”?

A. powiązanie dwóch lub więcej danych związkiem
B. nazwaną kolumnę tabeli opisującą określoną cechę
C. rekord tabeli z danymi jednego egzemplarza
D. obiekt złożony z cech opisanych kolumnami
Pozostałe odpowiedzi mylą pojęcia modelu relacyjnego. „Obiekt złożony z cech” to raczej encja, a nie pojedynczy atrybut. Powiązanie danych związkiem to RELACJA. Rekord z danymi jednego egzemplarza to KROTKA (wiersz). Atrybut to nazwana kolumna opisująca cechę.

Pytanie 25

Do czego służy w PHP funkcja mysqli_num_rows()?

A. do zwrócenia LICZBY wierszy w wyniku zapytania
B. do zwrócenia rekordu o numerze z parametru
C. do ponumerowania rekordów w bazie
D. do zwrócenia kolejnego rekordu wyniku
Po wykonaniu zapytania SELECT często chcesz wiedzieć, ILE wierszy zwróciło - i właśnie to podaje mysqli_num_rows($wynik). Przyjmuje obiekt wyniku zapytania, a zwraca liczbę pasujących rekordów, np. if (mysqli_num_rows($wynik) == 0) echo "Brak danych";. To typowy sposób sprawdzenia, czy logowanie się powiodło albo czy wyszukiwanie coś znalazło. Zapamiętaj: „num_rows” = liczba (number) wierszy (rows) w wyniku.

Pytanie 26

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

Ilustracja do pytania
A. <input type="date" id=" minutes" name="hours">
B. <input type="number" id="mm" name="hh" min="0" max="24">
C. <input type="month" id="hh" name="mm">
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 27

Najłatwiejszym i najmniej czasochłonnym sposobem na przetestowanie funkcjonowania strony internetowej w różnych przeglądarkach oraz ich wersjach jest

A. testowanie strony w programie Internet Explorer, zakładając, że inne przeglądarki będą kompatybilne
B. skorzystanie z narzędzia do walidacji kodu HTML
C. zainstalowanie na kilku maszynach różnych przeglądarek i przeprowadzenie testu witryny
D. użycie emulatora przeglądarek internetowych, np. Browser Sandbox
Korzystanie z emulatora przeglądarek internetowych, takiego jak Browser Sandbox, to jedna z najskuteczniejszych metod na testowanie działania witryny w różnych przeglądarkach i ich wersjach. Emulatory umożliwiają symulację różnych środowisk przeglądarkowych bez potrzeby fizycznego instalowania wielu aplikacji na różnych urządzeniach. To znacząco przyspiesza proces testowania i pozwala na łatwe przełączanie się między wersjami przeglądarek. Przykładowo, za pomocą emulatora można szybko sprawdzić, jak strona zachowuje się w Chrome, Firefox czy Safari, co jest kluczowe dla zapewnienia spójnego doświadczenia użytkownika. Ponadto, korzystanie z takich narzędzi pozwala na testowanie z różnych systemów operacyjnych, co jest istotne w kontekście różnorodności urządzeń używanych przez użytkowników. Dobrze skonfigurowany emulator nie tylko pozwala na testowanie responsywności witryny, ale także na analizowanie błędów związanych z CSS czy JavaScript, co przekłada się na wyższą jakość końcowego produktu. Zastosowanie emulatorów jest zgodne z najlepszymi praktykami w zakresie tworzenia aplikacji webowych, które powinny być dostępne i funkcjonalne w różnych przeglądarkach.

Pytanie 28

Jak nazywa się czynność wykrywania i usuwania błędów w kodzie źródłowym programu?

A. normalizacja
B. standaryzacja
C. kompilowanie
D. debugowanie
Czynność wykrywania i usuwania błędów w kodzie źródłowym nazywa się debugowaniem (od ang. debugging) - programista lokalizuje usterkę i poprawia kod. Dlatego ta czynność to debugowanie.

Pytanie 29

Jaką wartość w systemie RGB uzyskamy dla koloru zapisanego w kodzie heksadecymalnym: #1510FE?

A. rgb(21,16,255)
B. rgb(15,10,FE)
C. rgb(21,16,254)
D. rgb(21,16,FE)
Odpowiedź rgb(21,16,254) jest poprawna, ponieważ kolor zapisany w systemie heksadecymalnym #1510FE można rozłożyć na składowe RGB. W kodzie heksadecymalnym każdy z trzech kolorów (czerwony, zielony, niebieski) jest reprezentowany przez dwie cyfry. W przypadku #1510FE, pierwsze dwie cyfry (15) odnoszą się do wartości czerwonej, drugie dwie (10) do wartości zielonej, a ostatnie dwie (FE) do wartości niebieskiej. Te wartości musimy przeliczyć na system dziesiętny: czerwony to 21 (15 w systemie szesnastkowym to 21 w dziesiętnym), zielony to 16 (10 w szesnastkowym to 16 w dziesiętnym), a niebieski to 254 (FE w szesnastkowym to 254 w dziesiętnym). Tak więc końcowy wynik to rgb(21,16,254). W praktyce, znajomość konwersji kolorów jest kluczowa w projektowaniu graficznym, stron internetowych oraz aplikacji, gdzie precyzyjne odwzorowanie kolorów jest niezbędne dla uzyskania poprawnej estetyki i spójności wizualnej. Warto zaznaczyć, że standardy takie jak sRGB są powszechnie stosowane do definiowania kolorów w cyfrowych mediach, co zapewnia zgodność i przewidywalność w różnych urządzeniach wyświetlających te kolory.

Pytanie 30

Zgodnie z zasadami ACID dotyczącymi przeprowadzania transakcji wymóg izolacji (ang. isolation) wskazuje, że

A. po zrealizowaniu transakcji system bazy danych będzie zgodny
B. w sytuacji konfliktu z inną transakcją obie zmieniają te same dane równocześnie
C. pod określonymi warunkami dane modyfikowane przez transakcję mogą być cofnięte
D. gdy dwie transakcje działają równocześnie, to zazwyczaj nie dostrzegają zmian wprowadzanych przez siebie
Izolacja (ang. isolation) jest jednym z kluczowych elementów właściwości ACID, które zapewniają niezawodność transakcji w systemach baz danych. Oznacza ona, że kiedy dwie lub więcej transakcji są wykonywane równolegle, nie powinny one wzajemnie wpływać na swoje wyniki. W praktyce oznacza to, że zmiany wprowadzone przez jedną transakcję nie są widoczne dla innych transakcji, dopóki nie zostaną one zatwierdzone (ang. commit). Przykładem może być sytuacja, w której jedna transakcja aktualizuje stan konta użytkownika, a druga transakcja odczytuje saldo tego konta. Dzięki właściwości izolacji, druga transakcja nie zobaczy zmian wprowadzonych przez pierwszą, co zapobiega niepożądanym efektom, takim jak odczytanie nieaktualnych danych. W praktycznych rozwiązaniach, takich jak bazy danych współczesnych systemów informatycznych, często stosuje się różne poziomy izolacji, takie jak Read Uncommitted, Read Committed, Repeatable Read czy Serializable, które pozwalają na dostosowanie stopnia izolacji do specyficznych wymagań aplikacji. Właściwe skonfigurowanie poziomu izolacji ma kluczowe znaczenie dla zachowania integralności danych oraz wydajności systemu.

Pytanie 31

Która rozdzielczość daje proporcje obrazu 16:9 (przy kwadratowym pikselu)?

A. 1366 × 768
B. 800 × 480
C. 2560 × 2048
D. 320 × 240
Proporcje obrazu to stosunek szerokości do wysokości; dla 16:9 wynosi on 16/9 ≈ 1,78. Wystarczy podzielić liczbę pikseli poziomych przez pionowe: 1366 / 768 ≈ 1,78, więc ta rozdzielczość jest panoramiczna 16:9 (typowa dla ekranów laptopów i telewizorów HD). Dlatego proporcje 16:9 daje 1366 × 768.

Pytanie 32

Przedstawiono fragment HTML, który nie przechodzi poprawnej walidacji. Błąd walidacyjny tego kodu dotyczy

<!DOCTYPE html>
<html>
 <head>
  <title>Test</title>
 </head>
 <body>
  <img src="obraz.gif alt="Obrazek">
  <h1>Rozdział 1</h1>
  <p>To jest tekst paragrafu, ... </p>
  <br>
  <img src="obraz.gif" alt="Obrazek">

 </body>
</html>
A. niedomknięcia znacznika img.
B. braku cudzysłowu.
C. powtórzenia nazwy pliku graficznego.
D. niedomknięcia znacznika br.
Twoja odpowiedź jest prawidłowa. Błąd walidacji w kodzie HTML na obrazku wynikał z braku cudzysłowu. W HTML atrybuty powinny być zawsze otoczone cudzysłowami, są to pojedyncze (' ') lub podwójne (" "), co jest wymogiem poprawnej walidacji kodu. Atrybuty, którym nie przydzielono wartości, mogą powodować problemy w przeglądarkach, co z kolei prowadzi do błędów walidacji. Dlatego zawsze należy pamiętać o otoczeniu atrybutów cudzysłowami, aby zapewnić poprawne działanie strony internetowej. Prawidłowo zapisany atrybut w tagu HTML powinien wyglądać tak: <img src="obrazek.jpg">. W praktyce niezgodność z tą konwencją może prowadzić do nieprawidłowego wyświetlania strony lub jej elementów. Dlatego zawsze warto zwracać uwagę na poprawność składni podczas pisania kodu HTML.

Pytanie 33

Którego znacznika HTML5 użyć do GRUPOWANIA powiązanych elementów formularza?

A.
<option>
B.
<fieldset>
C.
<summary>
D.
<optgroup>
Pozostałe znaczniki dotyczą czego innego. <summary> to nagłówek rozwijanego <details>. <option> to pojedyncza pozycja listy <select>, a <optgroup> grupuje opcje WEWNĄTRZ listy rozwijanej, a nie pola formularza. Powiązane pola formularza grupuje <fieldset>.

Pytanie 34

Której właściwości CSS użyć, aby ustawić wewnętrzny GÓRNY odstęp (między treścią a obramowaniem)?

A.
local-top
B.
outline-top
C.
padding-top
D.
border-top
Wewnętrzny GÓRNY odstęp - między treścią a górną krawędzią obramowania - ustawia padding-top, np. padding-top: 15px;. To jedna z czterech stron padding (padding-top, -right, -bottom, -left). Zapamiętaj: „padding” = wnętrze, „top” = góra.

Pytanie 35

Jakie wyrażenie logiczne powinno zostać użyte w języku JavaScript, aby przeprowadzić operacje wyłącznie na dowolnych liczbach ujemnych z zakresu jednostronnie domkniętego <-200, -100)?

A. (liczba <= -200) || (liczba > -100)
B. (liczba >= -200) && (liczba < -100)
C. (liczba <= -200) && (liczba < -100)
D. (liczba >= -200) || (liczba > -100)
Poprawna odpowiedź, (liczba >= -200) && (liczba < -100), jest zgodna z wymaganym zakresem liczb ujemnych. Wyrażenie to sprawdza, czy wartość zmiennej 'liczba' jest większa lub równa -200, a jednocześnie mniejsza niż -100. Oznacza to, że przyjmuje wszystkie liczby z przedziału, w tym -200, ale nie uwzględnia -100. To podejście jest zgodne z praktykami programowania, gdzie istotne jest dokładne definiowanie zakresów. W JavaScript stosowanie operatorów logicznych, takich jak &&, umożliwia precyzyjne warunkowanie wykonania kodu, co jest niezbędne do sprawnego zarządzania błędami oraz zwiększa czytelność kodu. Przykładowo, w kontekście walidacji danych, takie wyrażenie można wykorzystać do filtrowania nieprawidłowych wartości przed ich przetwarzaniem. Umożliwia to lepsze zarządzanie danymi oraz zapobiega błędom w aplikacjach. Zastosowanie tego wyrażenia w praktyce pokazuje, jak ważne jest precyzyjne formułowanie warunków, co jest kluczowym elementem skutecznego programowania.

Pytanie 36

Na podstawie filmu wskaż, która cecha dodana do stylu CSS zamieni miejscami bloki aside i nav, pozostawiając w środku blok section?

A. nav { float: left; } aside { float: left; }
B. nav { float: right; }
C. aside {float: left; }
D. nav { float: right; } section { float: right; }
Prawidłowa odpowiedź opiera się na tym, jak działają własności float w CSS i w jakiej kolejności przeglądarka renderuje elementy blokowe. Jeśli w dokumencie HTML kolejność znaczników to np. &lt;aside&gt;, potem &lt;section&gt;, a na końcu &lt;nav&gt;, to bez dodatkowego stylowania wszystkie trzy ustawią się pionowo, jeden pod drugim, w tej właśnie kolejności. Dodanie float zmienia sposób, w jaki elementy „odpływają” od normalnego przepływu dokumentu i jak układają się obok siebie.

W stylu nav { float: right; } section { float: right; } sprawiamy, że zarówno nav, jak i section są przesuwane do prawej krawędzi kontenera, natomiast aside (bez float) pozostaje w normalnym przepływie, czyli z lewej strony. Ponieważ przeglądarka układa elementy w kolejności występowania w kodzie, najpierw wyrenderuje aside po lewej, potem section „odpłynie” w prawo, a na końcu nav też „odpłynie” w prawo, ustawiając się po prawej stronie, ale dalej od góry niż section. Efekt wizualny jest taki, że po lewej mamy aside, po prawej nav, a section ląduje między nimi, dokładnie tak jak było pokazane na filmie.

Moim zdaniem to zadanie dobrze pokazuje, że przy floatach zawsze trzeba myśleć o trzech rzeczach naraz: kolejności elementów w HTML, kierunku „pływania” (left/right) oraz o tym, które elementy pozostawiamy w normalnym przepływie. W praktyce w nowoczesnych projektach częściej używa się flexboxa albo CSS Grid do takich układów, bo są czytelniejsze i mniej problematyczne. Przykładowo, zamiast kombinować z float, można by użyć display: flex; na kontenerze i ustawić order dla aside i nav. Float nadal jednak pojawia się w starszych layoutach i w zadaniach egzaminacyjnych, więc warto dobrze rozumieć jego zachowanie, choćby po to, żeby poprawnie modyfikować istniejące style lub naprawiać „rozjechane” układy w starszych projektach.

Pytanie 37

W dokumencie HTML umieszczono tekst sformatowany określonym stylem. Aby dodać do tego tekstu kilka słów sformatowanych innym stylem, należy użyć znacznika

A. <section>
B. <table>
C. <span>
D. <hr>
Znaczniki <hr>, <table> oraz <section> nie są odpowiednie do wtrącania fragmentów tekstu w innym stylu. <hr> to znacznik, który wprowadza poziomą linię, służący do wizualnego oddzielania elementów na stronie, a nie do formatowania tekstu. Stosowanie go w miejscu, gdzie chcemy zmienić styl fragmentu tekstu, byłoby nieefektywne i zmniejszałoby czytelność. Z kolei <table> jest używane do tworzenia tabel, co oznacza, że jego zastosowanie ogranicza się do strukturyzowania danych w formie wierszy i kolumn. Tego znacznika nie można użyć do lokalnego formatowania tekstu, ponieważ wprowadza on zupełnie inny kontekst i zmienia sposób, w jaki przeglądarka interpretuje i wyświetla zawartość. Ostatecznie <section> jest stosowane do grupowania powiązanych treści w sekcję dokumentu, co jest przydatne w kontekście organizacji treści, ale nie ma zastosowania w przypadku, gdy chcemy zmienić styl pojedynczych wyrazów lub fraz. Każdy z tych znaczników ma swoje specyficzne zastosowanie w HTML, które nie odpowiada potrzebie lokalnego formatowania tekstu, co czyni je niewłaściwymi wyborami w tym kontekście.

Pytanie 38

Po wykonaniu przedstawionego poniżej polecenia SQL użytkownik Ela będzie mógł

GRANT SELECT, INSERT, UPDATE, DELETE ON baza1.tab1 TO 'Ela'@'localhost';
A. wykonywania wszystkich operacji na strukturze danych
B. wykonywania wszelkich działań na danych
C. jedynie dodawania i edytowania danych
D. jedynie tworzenia i zmiany struktury tabel
Przy analizie pytania o uprawnienia SQL istotne jest zrozumienie znaczenia poszczególnych komend w kontekście zarządzania bazą danych. Komenda GRANT w SQL służy do przyznawania określonych uprawnień użytkownikom względem danych w bazie. Odpowiedź sugerująca że użytkownik Ela może jedynie tworzyć i modyfikować strukturę tabel jest nieprawidłowa ponieważ polecenie nie zawiera DDL (Data Definition Language) które byłoby odpowiedzialne za tworzenie i modyfikację struktur takich jak CREATE czy ALTER. Uprawnienia INSERT i UPDATE dotyczą manipulacji danymi a nie strukturami. Z kolei sugerowanie że użytkownik może jedynie dodawać i modyfikować dane także jest błędne ponieważ DELETE i SELECT są kluczowymi operacjami w kontekście pełnego dostępu do danych pozwalając odpowiednio na usuwanie danych i ich odczyt. Ponadto stwierdzenie że użytkownik może wykonywać wszystkie operacje na strukturze danych także jest błędne ponieważ operacje DML (Data Manipulation Language) takie jak INSERT UPDATE DELETE SELECT nie odnoszą się do samej struktury a do zawartości tabeli. Typowe błędy myślowe w tym kontekście wynikają z mylenia operacji na danych z operacjami na strukturze co jest częstym problemem wśród początkujących administratorów baz danych. Zrozumienie różnicy pomiędzy DDL i DML jest kluczowe dla efektywnego zarządzania uprawnieniami i bezpieczeństwem baz danych co jest fundamentem pracy administratora. Prawidłowa interpretacja uprawnień i ich konsekwencji w kontekście bezpieczeństwa i zarządzania danymi jest nieodzownym elementem pracy z bazami danych.

Pytanie 39

Normalizacja tabel to proces, którego celem jest

A. wyłącznie stworzenie tabel oraz relacji w bazie
B. wizualizacja bazy
C. sprawdzenie i optymalizację bazy danych
D. dodanie danych do bazy
Normalizacja tabel jest kluczowym procesem w projektowaniu baz danych, który ma na celu usprawnienie struktury danych poprzez eliminację redundancji i zapewnienie integralności danych. Proces ten składa się z kilku kroków, które prowadzą do stworzenia dobrze zorganizowanej bazy danych. Głównym celem normalizacji jest zminimalizowanie powielania danych, co w rezultacie prowadzi do optymalizacji przestrzeni dyskowej oraz zwiększenia wydajności zapytań. Przykładem zastosowania normalizacji jest podział tabeli zawierającej informacje o klientach i zamówieniach na dwie odrębne tabele. W ten sposób, każdy klient ma swoje unikalne dane w jednej tabeli, natomiast w drugiej tabeli zapisywane są tylko odniesienia do klientów zamiast ich powtórzeń. Dobre praktyki związane z normalizacją uwzględniają różne formy normalne, z których każda ma swoje zasady, np. pierwsza forma normalna (1NF) wymaga, aby każda kolumna w tabeli zawierała tylko atomowe wartości. Wysoka jakość projektowania baz danych, w tym normalizacja, znacząco wpływa na późniejsze zarządzanie danymi oraz ich analizy.

Pytanie 40

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego W wyniku wykonania kodu zostanie wypisane imię

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Krzysztof
B. Anna
C. Tomasz
D. Aleksandra
Brawo! Twoja odpowiedź jest poprawna. Zrozumienie jak funkcje w języku PHP przetwarzają i manipulują danymi, szczególnie w kontekście tablic, jest absolutnie kluczowe. W podanym fragmencie kodu PHP, funkcja 'echo' jest użyta do wypisania elementu tablicy '$imiona' o indeksie [2]. Elementem tym jest 'Krzysztof', co jest poprawnym rozwiązaniem. PHP, jako język programowania obsługujący tablice indeksowane i asocjacyjne, pozwala na wybieranie konkretnych elementów tablicy poprzez podanie indeksu w kwadratowych nawiasach po nazwie tablicy. Jest to standardowa i często wykorzystywana praktyka w programowaniu, która umożliwia efektywne zarządzanie danymi. Dzięki temu, możemy manipulować danymi z różnych segmentów kodu, co daje nam większą elastyczność i kontrolę nad programem.