Wyniki egzaminu

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

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

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

Na ilustracji przedstawiono schemat rozmieszczenia elementów na stronie WWW. W której z jej sekcji zazwyczaj znajduje się stopka strony?

Ilustracja do pytania
A. 5
B. 4
C. 1
D. 2
Odpowiedź 5 jest poprawna ponieważ w standardach projektowania stron internetowych stopka strony zazwyczaj znajduje się na dole każdej podstrony. Stopka to miejsce gdzie umieszczane są informacje takie jak prawa autorskie prywatność i linki do kontaktu. Dobrze zaprojektowana stopka może także zawierać skróty nawigacyjne które pomagają użytkownikowi szybko przemieszczać się po stronie. W praktyce projektanci stron WWW stosują podejście oparte na responsywnym designie co oznacza że stopka powinna być łatwo dostępna i czytelna na różnych urządzeniach. Wykorzystanie CSS Grid lub Flexbox pozwala na elastyczne zarządzanie układem strony co jest szczególnie przydatne przy projektowaniu stopki. Ponadto stopki są elementami które odpowiadają za spójność wizualną całej strony internetowej zapewniając użytkownikowi intuicyjne doświadczenie. Umieszczanie stopki w dolnej części strony jest zgodne z oczekiwaniami użytkowników co zwiększa użyteczność serwisu i pozytywnie wpływa na jego odbiór. Praktyczne zastosowanie tego podejścia można zauważyć na wielu profesjonalnych stronach gdzie stopka jest wyraźnie oddzielona i przejrzysta co ułatwia użytkownikowi odnalezienie potrzebnych informacji.

Pytanie 2

Który znacznik HTML jest elementem BLOKOWYM?

A.
<img>
B.
<p>
C.
<span>
D.
<strong>
Element BLOKOWY zajmuje całą szerokość i zaczyna się od nowej linii - takim elementem jest akapit <p>. Dlatego elementem blokowym jest <p>.

Pytanie 3

Która kwerenda utworzy WIDOK z klientami o statusie „Platynowy” (tabela klienci, pole status)?

A.
CREATE VIEW KlienciPlatyna AS klient WHERE status = "Platynowy";
B.
CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy";
C.
CREATE VIEW KlienciPlatyna AS SELECT status FROM klienci WHERE "Platynowy";
D.
CREATE VIEW KlienciPlatyna FROM klienci WHERE status = "Platynowy";
Widok tworzy się poleceniem CREATE VIEW <nazwa> AS <SELECT ...> - jego definicją jest pełne zapytanie. Zapis CREATE VIEW KlienciPlatyna AS SELECT * FROM klienci WHERE status = "Platynowy" poprawnie wybiera platynowych klientów. Dlatego prawidłowa jest ta kwerenda.

Pytanie 4

Określ, w jaki sposób należy odnosić się do pliku default.css, jeżeli index.html znajduje się bezpośrednio w folderze Strona?

Ilustracja do pytania
A. <link rel="stylesheet" type="text/css" href="c:/style/default.css" />
B. <link rel="stylesheet" type="text/css" href="./style/default.css" />
C. <link rel="stylesheet" type="text/css" href="...\style\default.css" />
D. <link rel="stylesheet" type="text/css" href="c:\style/default.css" />
Niepoprawne odpowiedzi wynikają z błędnego zrozumienia struktury ścieżek w HTML. Stosowanie absolutnych ścieżek takich jak c:/style/default.css jest niezalecane, ponieważ lokalizuje plik na konkretnym dysku twardym, co jest niepraktyczne w przypadku aplikacji webowych, które mogą być przenoszone na serwery o różnych strukturach katalogów. Użycie backslashów \ w ścieżkach takich jak ...\style\default.css jest błędne w kontekście URL, ponieważ slash / jest standardem w adresach URL, zgodnie z normami RFC. Backslashy używa się w systemach Windows do ścieżek lokalnych, ale w kontekście HTML powoduje to problemy z prawidłowym zaadresowaniem zasobów. Stosowanie ścieżek absolutnych lub błędnej składni w odwołaniach może prowadzić do sytuacji, w których pliki CSS nie są ładowane, co skutkuje nieprawidłowym wyświetlaniem strony. Dlatego istotne jest zrozumienie, że relatywne ścieżki zapewniają większą kompatybilność i elastyczność projektu webowego, co jest esencją dobrych praktyk w programowaniu frontendowym. Utrzymywanie spójnej i poprawnej struktury ścieżek jest kluczem do efektywnego zarządzania zasobami w aplikacjach internetowych.

Pytanie 5

W języku MySQL należy wykorzystać polecenie REVOKE, aby użytkownikowi anna cofnąć możliwość wprowadzania zmian wyłącznie w definicji struktury bazy danych. Polecenie, które służy do odebrania tych uprawnień, ma następującą formę

A. REVOKE CREATE UPDATE DROP ON tabela1 FROM 'anna'@'localhost'
B. REVOKE CREATE ALTER DROP ON tabela1 FROM 'anna'@'localhost'
C. REVOKE ALL ON tabela1 FROM 'anna'@'localhost'
D. REVOKE CREATE INSERT DELETE ON tabela1 FROM 'anna'@'localhost'
Polecenie REVOKE w MySQL jest używane do odbierania przydzielonych uprawnień użytkownikom. W przypadku użytkownika 'anna', aby odebrać mu prawa do modyfikacji struktury bazy danych, należy użyć polecenia REVOKE z odpowiednimi uprawnieniami. Wybór REVOKE CREATE ALTER DROP jest poprawny, ponieważ obejmuje kluczowe prawa związane z zarządzaniem strukturą tabeli. Uprawnienie CREATE pozwala na tworzenie nowych obiektów, ALTER umożliwia modyfikację istniejących obiektów, a DROP pozwala na ich usuwanie. Przydzielając te uprawnienia, użytkownik ma pełną kontrolę nad strukturą bazy danych. Odbierając te uprawnienia, ograniczamy możliwości użytkownika do modyfikacji struktury, co jest kluczowe w kontekście zarządzania bezpieczeństwem bazy danych i zapewnienia integralności danych. Przykładem zastosowania tego polecenia może być sytuacja, w której administrator bazy danych chce, aby użytkownik miał jedynie prawa do wprowadzania danych, ale nie do zmiany ich struktury. W takich przypadkach ważne jest, aby precyzyjnie definiować uprawnienia użytkowników, co może pomóc w unikaniu nieautoryzowanych zmian i potencjalnych utrat danych. Należy również odwołać się do standardów SQL, które definiują zarządzanie uprawnieniami w obiektach bazy danych, co jest kluczowym elementem każdego systemu zarządzania bazą danych.

Pytanie 6

Wskaż nieprawidłowy opis optymalizacji kodu generowanego przez program.

A. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
B. Powinna skutkować modyfikacją kodu źródłowego, aby działał on szybciej
C. Może być realizowana na różnych etapach działania w celu przyspieszenia wykonania kodu przez procesor
D. Jej celem jest zwiększenie efektywności działania programu
Optymalizacja kodu wynikowego programu to proces, którego celem jest poprawa wydajności i szybkości działania aplikacji. Obejmuje różnorodne techniki, takie jak eliminacja zbędnych operacji, zmniejszenie liczby instrukcji i wykorzystanie efektywniejszych algorytmów. Przykłady obejmują refaktoryzację kodu, gdzie zmieniane są struktury danych lub algorytmy w celu osiągnięcia lepszej wydajności. Również optymalizacja na poziomie kompilacji, w której kompilatory mogą przeprowadzać różne techniki optymalizacji, takie jak inlining funkcji czy eliminacja martwego kodu, jest kluczowa. Standardy, takie jak C99 czy C11, często zawierają wytyczne dotyczące wydajności, co podkreśla znaczenie optymalizacji w tworzeniu nowoczesnych aplikacji. Istotne jest, aby proces ten był prowadzony na różnych etapach, od fazy projektowania po końcowe testy, aby zidentyfikować wąskie gardła i zwiększyć efektywność kodu.

Pytanie 7

W języku PHP zmienna typu float może przyjmować wartości

A. jedynie liczby całkowite
B. wartości logiczne
C. wartości nieliczbowe
D. wartości zmiennoprzecinkowe
W języku PHP zmienne typu float są używane do reprezentowania liczb zmiennoprzecinkowych, co oznacza, że mogą przechowywać zarówno wartości całkowite, jak i wartości z częścią ułamkową. Typ float w PHP jest szczególnie przydatny w sytuacjach, gdzie precyzyjne obliczenia są niezbędne, na przykład w aplikacjach finansowych, gdzie obliczenia z użyciem pieniędzy wymagają uwzględnienia centów. W praktyce, operacje na zmiennych typu float mogą obejmować dodawanie, odejmowanie, mnożenie oraz dzielenie. Warto również zauważyć, że PHP obsługuje zarówno liczby w formacie dziesiętnym, jak i w notacji naukowej. Dobrą praktyką jest używanie funkcji takich jak round() do zaokrąglania wyników obliczeń zmiennoprzecinkowych, aby uniknąć problemów z precyzją, które mogą występować w wyniku ograniczeń reprezentacji liczb zmiennoprzecinkowych w pamięci komputera. W dokumentacji PHP, typ float jest jasno zdefiniowany jako liczba zmiennoprzecinkowa, co podkreśla jego kluczową rolę w różnych zastosowaniach programistycznych. Zrozumienie tego typu zmiennych jest fundamentem dla efektywnego programowania w PHP.

Pytanie 8

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. c = licz_pitagoras(a, b);
B. licz_pitagoras(a, b);
C. licz_pitagoras(a, b) = c;
D. licz_pitagoras(a, b, c);
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 9

Jaką funkcję pełni instrukcja DROP w języku SQL?

A. usunąć już istniejący obiekt
B. aktualizować dane obiektu
C. zmienić właściwości obiektu
D. wprowadzić nowy obiekt
Instrukcja DROP w języku SQL jest kluczowym narzędziem do zarządzania bazami danych, używaną do usuwania istniejących obiektów, takich jak tabele, widoki czy procedury składowane. Kiedy używamy polecenia DROP, nie tylko usuwamy obiekt z bazy danych, ale również wszystkie dane z nim związane, co sprawia, że operacja ta jest nieodwracalna. Przykładowo, jeśli chcemy usunąć tabelę o nazwie 'Użytkownicy', musimy użyć polecenia DROP TABLE Użytkownicy. Ważne jest, aby przed wykonaniem takiej operacji upewnić się, że dane są już zarchiwizowane lub nie są już potrzebne, ponieważ ta instrukcja nie da nam możliwości ich odzyskania po wykonaniu. W praktyce, DROP powinno być stosowane z rozwagą — zaleca się przed wykonaniem operacji wykorzystanie polecenia SELECT, aby sprawdzić, jakie dane są w danym obiekcie. Zgodnie z najlepszymi praktykami, organizacje powinny wprowadzać polityki dotyczące usuwania danych, aby zminimalizować ryzyko przypadkowej utraty ważnych informacji.

Pytanie 10

Który obiekt bazy danych z graficznym interfejsem służy do wprowadzania danych?

A. encja
B. formularz
C. kwerenda
D. raport
Formularz to obiekt bazy danych z graficznym interfejsem, który ułatwia WPROWADZANIE i edycję danych - zamiast wpisywać je wprost do tabeli, użytkownik korzysta z czytelnych pól. Dlatego do wprowadzania danych służy formularz.

Pytanie 11

Fragment dokumentu HTML sugeruje, że

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
A. wszystkie znaczniki w kodzie HTML powinny być zapisywane wielkimi literami.
B. znaczniki końcowe są wymagane w kodzie HTML, także dla znaczników samozamykających się.
C. kod HTML zapisano w wersji 5 języka.
D. kod HTML zapisano w wersji 4 języka.
Deklaracja DOCTYPE wskazuje na to że dokument HTML wykorzystuje standard HTML 4.01 w trybie ścisłym. HTML 4.01 jest jedną z wersji języka HTML wprowadzoną przez World Wide Web Consortium w 1999 roku i zawiera trzy warianty: Strict Transitional i Frameset. Tryb Strict oznacza ścisłe przestrzeganie zasad standardu bez użycia przestarzałych elementów i atrybutów takich jak tagi związane z formatowaniem stron które stały się przestarzałe w miarę rozwoju kaskadowych arkuszy stylów CSS. W kontekście praktycznym oznacza to że projektując stronę zgodną z tą specyfikacją należy unikać znaczników odpowiedzialnych za prezentację które były powszechnie stosowane w poprzednich wersjach HTML. Zamiast tego zaleca się korzystanie z CSS do określania wyglądu strony co nie tylko wspiera separację struktury treści od jej wyglądu ale także ułatwia przenoszenie i aktualizację stylów. Używając deklaracji DOCTYPE HTML 4.01 Strict można zapewnić lepszą zgodność z najnowszymi wersjami przeglądarek oraz ułatwić przyszłe aktualizacje kodu do nowoczesnych standardów takich jak HTML5 który wprowadza dodatkowe funkcjonalności i uproszczenia mające na celu poprawę semantyki i użyteczności stron WWW

Pytanie 12

Który z akapitów został sformatowany według podanego stylu, przy założeniu, że pozostałe właściwości akapitu mają wartości domyślne?

Ilustracja do pytania
A. Efekt 4
B. Efekt 1
C. Efekt 3
D. Efekt 2
Efekt 3 jest poprawny ponieważ formatowanie CSS zawiera ustawienie padding 20px co oznacza że wokół tekstu znajduje się przestrzeń o szerokości 20 pikseli Dodatkowo kolor tekstu jest niebieski zgodnie z ustawieniem color blue Także font-weight 900 wskazuje że tekst powinien być pogrubiony w najwyższym stopniu co jest widoczne w trzecim efekcie Obramowanie ma szerokość 1 piksel i jest solidne co oznacza że jest to ciągła linia wokół tekstu Efekt 3 dokładnie odzwierciedla te właściwości Formatowanie takie jest użyteczne w tworzeniu przyciągających uwagę nagłówków lub wyróżnień w treści strony internetowej W praktyce taki styl można zastosować do elementów interfejsu użytkownika które wymagają większej czytelności lub estetycznego oddzielenia od reszty treści Ważne jest aby odpowiednio zrozumieć i wykorzystać właściwości CSS dla uzyskania maksymalnej efektywności w projektowaniu stron internetowych Dobre praktyki obejmują także testowanie stylów na różnych urządzeniach aby upewnić się że wygląd spełnia zamierzone cele we wszystkich kontekstach

Pytanie 13

Tabela Pacjenci ma pola: imie, nazwisko, wiek, lekarz_id. Aby zestawić raport zawierający wyłącznie imiona i nazwiska pacjentów poniżej 18 roku życia, którzy zapisani są do lekarza o id równym 6, można posłużyć się kwerendą SQL

A. SELECT imie, nazwisko WHERE wiek < 18 AND lekarz_id = 6;
B. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 OR lekarz_id = 6;
C. SELECT imie, nazwisko WHERE wiek < 18 OR lekarz_id = 6;
D. SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6;
Poprawna kwerenda to: SELECT imie, nazwisko FROM Pacjenci WHERE wiek < 18 AND lekarz_id = 6; i ona dokładnie realizuje założenia zadania. Po pierwsze, część SELECT imie, nazwisko określa, jakie kolumny mają znaleźć się w wyniku – tylko imię i nazwisko, bez wieku czy identyfikatora lekarza. To jest dobra praktyka: wybieramy tylko te dane, które są faktycznie potrzebne w raporcie, zamiast używać SELECT *.
Po drugie, FROM Pacjenci wskazuje tabelę źródłową. W standardowym SQL klauzula FROM jest obowiązkowa przy pobieraniu danych z tabel, bez niej serwer bazodanowy po prostu nie wie, skąd ma brać rekordy. Moim zdaniem to jest taki fundament, który warto mieć odruchowo w palcach.
Najważniejsza jest jednak klauzula WHERE wiek < 18 AND lekarz_id = 6. Warunek wiek < 18 filtruje wyłącznie pacjentów niepełnoletnich, a lekarz_id = 6 ogranicza wynik do tych osób, które przypisane są do konkretnego lekarza o identyfikatorze 6. Zastosowanie operatora logicznego AND oznacza, że oba warunki muszą być spełnione jednocześnie. To dokładnie odpowiada treści zadania: pacjent musi być jednocześnie poniżej 18 lat i zapisany do lekarza nr 6.
W praktyce takie kwerendy są podstawą raportowania w systemach medycznych, CRM-ach, systemach sprzedażowych itd. Na przykład podobną konstrukcję można użyć: SELECT * FROM Zamowienia WHERE status = 'nowe' AND kwota > 1000; – logika jest identyczna. Dobrą praktyką jest też czytelne zapisywanie warunków logicznych i unikanie niejednoznacznych kombinacji AND/OR bez nawiasów. W większych projektach standardem jest również używanie aliasów tabel, ale tu jedna tabela w zupełności wystarcza. Warto zapamiętać ten szablon: SELECT [kolumny] FROM [tabela] WHERE [warunek1] AND [warunek2]; bo pojawia się praktycznie wszędzie w pracy z SQL.

Pytanie 14

Co w pasku adresu przeglądarki sygnalizuje, że połączenie ze stroną jest bezpieczne (szyfrowane HTTPS)?

A. dane whois domeny
B. nazwa serwera w nagłówku
C. ikona kłódki
D. adres IP serwera
Gdy strona działa przez HTTPS z ważnym certyfikatem, przeglądarka pokazuje w pasku adresu ikonę kłódki, a adres zaczyna się od https://. Oznacza to, że dane między przeglądarką a serwerem są szyfrowane, a tożsamość witryny potwierdzona certyfikatem. Dlatego bezpieczne połączenie sygnalizuje ikona kłódki.

Pytanie 15

Który z poniższych skryptów pokazuje bieżącą datę oraz czas w formacie 2024-04-14 13:45:19?

A. <?php date("Y-m-d G:i:s"); ?>
B. <?php echo date("Ymd Gis"); ?>
C. <?php date("Y-m-d”) + time("G:i:s"); ?>
D. <?php echo date("Y-m-d G:i:s"); ?>
Odpowiedź numer 4 jest poprawna, ponieważ używa funkcji echo do wyświetlenia wyniku funkcji date, która formatuje datę i czas w odpowiedni sposób. W tym przypadku użycie formatu Y-m-d G:i:s pozwala na wyświetlenie roku z czterema cyframi, miesiąca i dnia z dwoma cyframi oraz godziny w formacie 24-godzinnym bez wiodącego zera, a także minut i sekund z wiodącymi zerami. Funkcje PHP date i echo są standardem w języku PHP do pracy z datami i wyświetlaniem danych. Praktyczne zastosowanie tej funkcji jest szerokie, ponieważ umożliwia dynamiczne generowanie treści na stronach internetowych, takich jak wyświetlanie aktualnej daty w nagłówku strony czy w logach systemowych. Dobre praktyki sugerują, aby zawsze uwzględniać strefę czasową przy pracy z datami, co można osiągnąć za pomocą funkcji date_default_timezone_set. Dzięki temu kod będzie niezależny od ustawień serwera i zawsze dostarczał spójne wyniki. Warto również zaznaczyć, że manipulacje na datach i czasie są kluczowe w wielu aplikacjach, od rezerwacji po analizy czasu działań użytkowników.

Pytanie 16

Podaj dwa sposoby ochrony bazy danych Microsoft Access?

A. Zaszyfrowanie pliku bazy danych oraz wiadomości SMS z kodem autoryzacyjnym
B. Ustalenie hasła do otwarcia bazy danych oraz zabezpieczeń na poziomie użytkownika
C. Ustalenie zabezpieczeń na poziomie użytkownika i sesji
D. Funkcje anonimowe oraz ustawienie hasła do bazy danych
Zabezpieczenie bazy danych Microsoft Access jest kluczowym procesem, który ma na celu ochronę danych przed nieautoryzowanym dostępem oraz zapewnienie ich integralności. Ustalenie hasła do otwarcia bazy danych to pierwszy krok w kierunku zabezpieczenia. Pozwala to na ograniczenie dostępu tylko do osób, które znają hasło, co jest fundamentalnym środkiem ochrony informacji w systemach informatycznych. Dodatkowo, zabezpieczenia na poziomie użytkownika umożliwiają różnicowanie uprawnień dla poszczególnych użytkowników. Można przydzielać różne poziomy dostępu, co minimalizuje ryzyko, że niepowołane osoby będą mogły wprowadzać zmiany w bazie danych. Ważne jest również, aby stosować najlepsze praktyki związane z bezpieczeństwem, takie jak regularna aktualizacja haseł oraz audyty dostępu. Utrzymanie zgodności z międzynarodowymi standardami, takimi jak ISO/IEC 27001, może również pomóc w identyfikacji luk w zabezpieczeniach oraz w implementacji odpowiednich procedur ochrony danych. W codziennym użytkowaniu, skuteczne wdrożenie tych zabezpieczeń pozytywnie wpływa na bezpieczeństwo danych oraz ochronę prywatności użytkowników.

Pytanie 17

Jaki będzie rezultat po uruchomieniu podanego skryptu?

class Owoc {
    function __construct() {
        echo "test1";
    }
    function __destruct() {
        echo "test2";
    }
}
$gruszka = new Owoc();
A. Pojawi się wyłącznie tekst „test2”
B. Pojawi się jedynie tekst „test1”
C. Nie pojawi się żaden tekst
D. Pojawią się oba teksty: „test1” i „test2”
Wybór błędnych odpowiedzi może wynikać z tego, że nie do końca rozumiesz, jak działają konstruktory i destruktory w programowaniu obiektowym. Nie jest tak, że nie ma żadnego napisu, bo nawet jeżeli nie stworzysz obiektu, to przy końcu skryptu destruktor powinien się uruchomić i wtedy wyświetli się 'test2'. Tak że, gdy mówisz, że tylko 'test1' się pokaże, to nie bierzesz pod uwagę, co się dzieje po zakończeniu skryptu. I to, co napisałeś, że tylko 'test2' się wyświetli, też nie jest prawdą, bo konstruktor musi być wywołany, kiedy robi się obiekt. Zrozumienie tych wszystkich spraw jest naprawdę ważne, by dobrze zarządzać danymi w aplikacjach, zwłaszcza w większych projektach, gdzie jest masa obiektów i różne interakcje między nimi.

Pytanie 18

Jaki minimalny kontrast tekstu (standardowego rozmiaru) do tła wymaga WCAG 2.x na poziomie AA?

A. 2,5 : 1
B. 4,5 : 1
C. 1,5 : 1
D. 2,0 : 1
Pozostałe wartości są zbyt niskie, by spełnić AA dla zwykłego tekstu. Kontrasty 1,5:1, 2,0:1 czy 2,5:1 dają tekst trudny do odczytania na tle. Wymagane minimum WCAG AA dla standardowego tekstu to 4,5:1.

Pytanie 19

Który zapis CSS ustawi punktor listy NUMEROWANEJ na wielkie cyfry rzymskie, a PUNKTOWANEJ na kwadraty?

A.
ol { list-style-type: square; } ul { list-style-type: upper-roman; }
B.
ol { list-style-type: upper-alpha; } ul { list-style-type: disc; }
C.
ol { list-style-type: disc; } ul { list-style-type: upper-alpha; }
D.
ol { list-style-type: upper-roman; } ul { list-style-type: square; }
Rodzaj punktora ustawia list-style-type. Dla listy numerowanej <ol> wielkie cyfry rzymskie to upper-roman, a dla punktowanej <ul> kwadraty to square. Dlatego poprawny jest ol { list-style-type: upper-roman; } ul { list-style-type: square; }.

Pytanie 20

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

A. … stawka foat CHECK (stawka IN (0, 50.00))
B. … stawka foat CHECK (stawka>0 OR stawka<50.00)
C. … stawka foat CHECK (stawka>0 AND stawka<50.00)
D. … stawka foat CHECK (stawka BETWEEN 0 AND 50.00)
Wybór odpowiedzi, która nie spełnia założonych warunków, może wynikać z nieprawidłowego zrozumienia logiki operatorów oraz zasadności stosowania warunków CHECK w SQL. Na przykład, zapis '… stawka foat CHECK (stawka BETWEEN 0 AND 50.00)' jest niewłaściwy, ponieważ warunek ten dopuszcza wartość równą zeru, która nie jest wartością dodatnią. Umożliwienie zerowych wartości może prowadzić do sytuacji, w której w tabeli znajdą się dane niezgodne z założeniem, że 'stawka' ma być wartością dodatnią. Podobnie, zapis '… stawka foat CHECK (stawka>0 OR stawka<50.00)' również jest błędny, ponieważ logiczne połączenie za pomocą operatora OR wprowadza możliwość, że 'stawka' może być większa od zera i jednocześnie większa lub równa 50, co jest sprzeczne z naszym celem. Z kolei użycie '… stawka foat CHECK (stawka IN (0, 50.00))' jest nieodpowiednie, ponieważ operator IN sprawdza, czy wartość 'stawka' znajduje się w specyficznej liście wartości, a w tym przypadku znowu dopuszcza zera i wartości graniczne, które nie powinny być zaakceptowane. Tego rodzaju błędy myślowe prowadzą do niepoprawnych założeń w projektowaniu bazy danych, które z kolei mogą skutkować problemami z jakością danych oraz ich późniejszą analizą. Dlatego kluczowe jest zrozumienie, jak właściwie formułować warunki walidacji, aby zapewnić spójność i integralność danych.

Pytanie 21

p { font-family: Arial, Helvetica, sans-serif; }
Zdefiniowany styl dla selektora p spowoduje, że tekst w paragrafie zostanie wyświetlony czcionką:
A. maszynową.
B. szeryfową.
C. dekoracyjną.
D. bezszeryfową.
W tym pytaniu łatwo się pomylić, bo wiele osób bardziej kojarzy konkretne nazwy fontów niż ich rodziny. Kluczowe jest zrozumienie, jak działa właściwość font-family w CSS. Zapis font-family: Arial, Helvetica, sans-serif definiuje listę krojów w kolejności priorytetu. Przeglądarka sprawdza po kolei: najpierw próbuje użyć Ariala, potem Helvetiki, a jeśli żaden z nich nie jest dostępny na urządzeniu, wybiera dowolny systemowy font z rodziny sans-serif. I to właśnie ostatni element – sans-serif – określa typ czcionki, czyli że ma to być krój bezszeryfowy.
Czcionka szeryfowa (serif) to np. Times New Roman czy Georgia, z charakterystycznymi „ogonami” i ozdobnikami na końcach liter. Tutaj nie ma ani nazwy serif, ani generycznego słowa serif, więc nie ma podstaw, by mówić o kroju szeryfowym. Czcionka maszynowa, nazywana w CSS monospace, to taka, w której wszystkie znaki mają tę samą szerokość, jak w starych maszynach do pisania (np. Courier New). W kodzie nie pojawia się słowo monospace ani żaden typowy font maszynowy, więc to też odpada.
Z kolei określenia typu „dekoracyjna” mogą mylić, bo w CSS istnieje kiedyś częściej używany generic fantasy, czasem kojarzony z ozdobnymi krojami, ale w tym przykładzie nie mamy ani fantasy, ani cursive, tylko wyraźnie sans-serif. Typowy błąd myślowy polega na tym, że ktoś patrzy na nazwę Arial i nie kojarzy jej z rodziną bezszeryfową, albo sugeruje się wyglądem przykładowego tekstu z jakiegoś edytora. W praktyce jednak to właśnie Arial i Helvetica są klasycznymi reprezentantami rodziny sans-serif. Warto patrzeć na ostatni człon deklaracji font-family – ten generyczny typ jest zawsze najważniejszą wskazówką, do jakiej kategorii należy krój pisma w danym stylu.

Pytanie 22

Co uzyskujemy po wykonaniu zapytania SQL?

Ilustracja do pytania
A. średnią wszystkich ocen uczniów
B. liczbę uczniów, których średnia ocen wynosi 5
C. suma ocen uczniów, których średnia ocen wynosi 5
D. całkowitą liczbę uczniów
Zapytanie SQL SELECT count(*) FROM Uczniowie WHERE srednia = 5; wykorzystuje funkcję agregującą count(*), która służy do zliczania liczby wierszy spełniających określone warunki. W tym przypadku warunkiem jest srednia = 5 co oznacza że zapytanie zlicza wszystkich uczniów których średnia ocen wynosi dokładnie 5. Jest to powszechna praktyka w analizie danych gdzie często potrzebujemy określić liczebność pewnych grup danych na przykład aby przeanalizować ich rozkład lub porównać je z innymi grupami. W profesjonalnej bazie danych zliczanie wierszy na podstawie kryteriów jest standardem co umożliwia generowanie raportów i podejmowanie decyzji na podstawie danych. Użycie count(*) bez dodatkowych parametrów jest zgodne z dobrymi praktykami ponieważ jest wydajne i łatwe w interpretacji. W praktyce stosowanie tego typu zapytań jest nieodzowne w działach analizy danych zarządzania relacjami z klientami czy w edukacji gdzie analizujemy wyniki uczniów.

Pytanie 23

Ile razy powtórzy się pętla w JavaScript?

var x=1, i=0;
do{
    x*=3;
    i++;
}
while(x!=27);
A. 3 razy
B. 2 razy
C. 27 razy
D. 26 razy
W przedstawionym kodzie JavaScript, pętla do-while wykonuje się do momentu, gdy zmienna x nie jest równa 27. Zaczynając od wartości x równej 1, przy każdym przejściu przez pętlę zmienna x jest mnożona przez 3. Kolejno, x przyjmuje wartości: 3, 9, 27. Zatem pętla wykonuje się trzy razy, ponieważ dopiero po trzecim cyklu x osiąga wartość 27, co powoduje zakończenie pętli. Do-while zawsze wykonuje przynajmniej jedno przejście, niezależnie od warunku końcowego, dzięki czemu jest przydatna w sytuacjach, gdy operacja musi być przeprowadzona co najmniej raz. Dobrym przykładem wykorzystania tego mechanizmu jest oczekiwanie na spełnienie określonego warunku, np. uzyskanie poprawnej odpowiedzi od użytkownika. Warto zwrócić uwagę, że w przypadku operacji matematycznych wymagających określonej liczby iteracji, pętla do-while zapewnia prostotę i przejrzystość implementacji, zgodnie z dobrymi praktykami zapewniającymi łatwość w czytaniu i utrzymaniu kodu.

Pytanie 24

Formatowanie CSS dla akapitu określa styl szarej ramki z następującymi właściwościami:

p {
    padding: 15px;
    border: 2px dotted gray;
}
A. Linia kropkowa; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
B. Linia ciągła; grubość 2 px; odległości pomiędzy tekstem a ramką 15 px
C. Linia kreskowa; grubość 2 px; odległości poza ramką 15 px
D. Linia ciągła; grubość 2 px; odległości poza ramką 15 px
Analizując błędne odpowiedzi, kluczowe jest zrozumienie, jakie są podstawowe różnice między różnymi stylami ramki oraz ich właściwościami. Niepoprawne odpowiedzi często mylą typ linii ramki z jej grubością i zastosowaniem paddingu. Na przykład, przy styli 'solid' mówimy o linii ciągłej, a nie kropkowej, co jest istotną różnicą w kontekście estetyki i funkcji wizualnej. Grubość 2 px jest poprawna w niektórych odpowiedziach, ale problematyczne są inne elementy, takie jak zrozumienie pojęcia 'marginesu'. Marginesy różnią się od paddingu, ponieważ margines to przestrzeń zewnętrzna oddzielająca elementy od siebie, podczas gdy padding odnosi się do przestrzeni wewnętrznej. Odpowiedzi, które sugerują, że marginesy znajdują się pomiędzy tekstem a ramką, fałszywie interpretują, jak elementy są rozmieszczone na stronie. To prowadzi do mylnych wniosków, ponieważ w rzeczywistości marginesy zewnętrzne nie wpływają na bezpośrednią odległość tekstu od ramki, co może skutkować błędami w projektowaniu i implementacji stron. Zrozumienie tych różnic jest niezbędne dla efektywnego wykorzystania CSS i unikania typowych pułapek w projektach webowych.

Pytanie 25

W programie do edycji grafiki rastrowej, aby skoncentrować się na wybranej części obrazu, nie wpływając na pozostałe jego fragmenty, można zastosować

A. odwrócenie
B. zmianę rozmiaru
C. warstwy
D. przycinanie
Warstwy w edytorach grafiki rastrowej to fundamentalne narzędzie umożliwiające pracę na poszczególnych elementach obrazu bez wpływu na całość. Dzięki zastosowaniu warstw można oddzielić różne elementy graficzne, co pozwala na edytowanie, przekształcanie i manipulowanie nimi niezależnie. Na przykład, można umieścić tekst na oddzielnej warstwie, a następnie dowolnie zmieniać jego położenie, rozmiar czy kolor, nie wpływając na tło. Dodatkowo, warstwy umożliwiają łatwe tworzenie efektów przezroczystości oraz cieni, co zwiększa możliwości artystyczne i techniczne podczas projektowania. W praktyce, standardy dotyczące pracy z warstwami są powszechnie stosowane w branży, co podkreśla ich znaczenie w profesjonalnych edytorach takich jak Adobe Photoshop czy GIMP. Warto również dodać, że organizacja pracy z warstwami, poprzez odpowiednie ich nazywanie i grupowanie, znacznie ułatwia zarządzanie złożonymi projektami graficznymi.

Pytanie 26

Wskaż konstrukcję pętli w języku JavaScript, która wyświetli sześć kolejnych liczb parzystych

A. for(i=2;i<=12;i+=2) {document.write(i);}
B. for(i=2;i<=12;i++) {i=i+2; document.write(i);}
C. for(i=2;i<12;i+=2) {document.write(i);}
D. for(i=2;i<12;i++) {i++; document.write(i);}
Prawidłowe zrozumienie działania pętli for w JavaScript jest kluczowe dla tworzenia efektywnych skryptów. Odpowiedzi, które nie są poprawne, najczęściej wynikają z nieporozumień dotyczących sposobu działania inkrementacji oraz warunków zakończenia pętli. Przykładowo, konstrukcja for(i=2;i<12;i+=2) nie osiągnie ostatniej liczby parzystej 12, co skutkuje wyświetleniem jedynie 2, 4, 6, 8 i 10, a więc pięciu liczb parzystych. Zrozumienie granic pętli jest istotne, aby uzyskać oczekiwane rezultaty. Inne podejście, czyli for(i=2;i<12;i++) {i++; document.write(i);}, wprowadza dodatkowe zwiększenie zmiennej i wewnątrz pętli, co może prowadzić do nieoczekiwanych rezultatów - w tym przypadku, liczenie kończy się na 12, ale tylko wartości nieparzyste będą drukowane, czyli 3, 5, 7, 9, 11, co jest błędne w kontekście zadania. W kontekście innej odpowiedzi, for(i=2;i<=12;i++) {i=i+2; document.write(i);}, również nie działa zgodnie z zamierzeniem, ponieważ zaczyna od 2 i natychmiast zwiększa liczbę do 4, co prowadzi do pominięcia liczby 2 w wyniku końcowym. Dokładne zrozumienie działania pętli i jej konstrukcji jest kluczowe do uniknięcia takich błędów. W programowaniu ważne jest stosowanie jasnych i prostych konstrukcji, które są łatwe do zrozumienia, co pomaga nie tylko w pracy nad bieżącym projektem, ale również w późniejszej konserwacji oraz w pracy zespołowej.

Pytanie 27

Wskaż polecenie, które zostało opisane w ramce.

Dla każdego przebiegu pętli aktualna wartość elementu tablicy jest przypisywana do zmiennej, a wskaźnik tablicy jest przesuwany o jeden, aż do osiągnięcia ostatniego elementu tablicy
A. next
B. for
C. foreach
D. while
Instrukcja 'foreach' jest używana do iteracji po elementach zbioru, takich jak tablice lub kolekcje, w sposób bardziej deklaratywny i zwięzły niż tradycyjne pętle 'for'. W wielu językach programowania, takich jak C#, Java czy PHP, pętla 'foreach' pozwala automatycznie przechodzić przez każdy element kolekcji, przypisując go do zmiennej tymczasowej bez konieczności jawnego zarządzania indeksem. Jest to szczególnie przydatne, gdy chcemy po prostu przetwarzać elementy jednej po drugiej, nie martwiąc się o ich indeksy. Przykładowo, w C# można użyć składni: 'foreach (var item in collection)', gdzie 'collection' jest kolekcją, a 'item' to zmienna reprezentująca aktualny element. Takie podejście jest uważane za standardową praktykę w sytuacjach, gdzie chcemy tylko odczytywać wartości. Korzystanie z 'foreach' sprzyja czytelności kodu i minimalizuje ryzyko błędów związanych z obsługą indeksów, co jest zgodne z dobrymi praktykami programistycznymi.

Pytanie 28

W systemie baz danych hurtowni utworzono tabelę sprzedaz z polami: id, kontrahent, grupa_cenowa, obrot. Jakie polecenie należy zastosować, aby znaleźć jedynie kontrahentów z drugiej grupy cenowej, których obrót przekracza 4000zł?

A. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 OR obrot > 4000
B. SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000
C. SELECT sprzedaz FROM kontrahent WHERE grupa_cenowa = 2 AND obrot > 4000
D. SELECT sprzedaz FROM kontrahent WHERE obrot > 4000
Poprawna odpowiedź to 'SELECT kontrahent FROM sprzedaz WHERE grupa_cenowa = 2 AND obrot > 4000;'. To polecenie SQL precyzyjnie spełnia wymagania postawione w pytaniu, ponieważ korzysta z operatora AND do jednoczesnego filtrowania kontrahentów w drugiej grupie cenowej oraz tych, których obrót przekracza 4000 zł. W praktyce, takie zapytanie jest niezwykle użyteczne w analizie danych w hurtowniach, umożliwiając wyodrębnienie tylko tych kontrahentów, którzy spełniają oba warunki, co jest kluczowe w procesach selekcji kontrahentów do dalszych działań marketingowych czy analizy rentowności. Warto zauważyć, że dobrym nawykiem jest dokładne określenie, które pola chcemy wyświetlić, a w tym przypadku 'kontrahent' wskazuje na konkretne dane, które są istotne dla analizy. Dodatkowo, stosowanie odpowiednich warunków w zapytaniach SQL jest zgodne z najlepszymi praktykami w zakresie optymalizacji wydajności bazy danych, ponieważ pozwala na minimalizację ilości przetwarzanych danych oraz zwiększa przejrzystość wyników.

Pytanie 29

Aby zdefiniować w języku HTML listę nienumerowaną (wypunktowaną), należy użyć znacznika:

A.
<ol>
B.
<dt>
C.
<dd>
D.
<ul>
Listę nienumerowaną (wypunktowaną) tworzy znacznik <ul> (unordered list), a jej kolejne pozycje umieszcza się w <li>. Domyślnie elementy poprzedzane są punktorami. Dla listy numerowanej używa się <ol>. Dlatego listę wypunktowaną definiuje <ul>.

Pytanie 30

Jakie działanie wykonuje polecenie DBCC CHECKDB("sklepAGD", Repair_fast) w MS SQL Server?

A. zweryfikuje spójność danej tabeli
B. sprawdzi spójność bazy danych i utworzy kopię zapasową
C. zweryfikuje spójność danej tabeli oraz naprawi uszkodzone rekordy
D. sprawdzi spójność bazy danych i naprawi uszkodzone indeksy
Polecenie DBCC CHECKDB w MS SQL Server to narzędzie używane do weryfikacji integralności bazy danych. W przypadku użycia opcji Repair_fast, polecenie to sprawdza spójność bazy danych oraz naprawia uszkodzone indeksy. Jest to istotne w kontekście zapewnienia, że wszystkie dane w bazie są prawidłowo zorganizowane i dostępne. Uszkodzone indeksy mogą prowadzić do problemów z wydajnością zapytań oraz błędów w dostępie do danych. Przykładowo, gdy baza danych ulega uszkodzeniu z powodu awarii sprzętu lub błędów oprogramowania, DBCC CHECKDB umożliwia przywrócenie funkcjonalności. Dobrą praktyką jest regularne wykonywanie tego polecenia jako część strategii utrzymania bazy danych, co pozwoli na wcześniejsze wykrycie potencjalnych problemów, zanim staną się one krytyczne. Warto również zaznaczyć, że DBCC CHECKDB powinno być uruchamiane w odpowiednich oknach serwisowych, by zminimalizować wpływ na wydajność aplikacji korzystających z bazy danych.

Pytanie 31

Jak nazywa się sposób udostępniania bazy danych w Microsoft Access, który obejmuje wszystkie obiekty bazy znajdujące się na dysku sieciowym i używane jednocześnie przez różne osoby?

A. folderu sieciowego
B. dzielonej bazy danych
C. witryny programu SharePoint
D. serwera bazy danych
Folder sieciowy to metoda udostępniania bazy danych w Microsoft Access, która umożliwia kilku użytkownikom jednoczesny dostęp do tej samej bazy danych umieszczonej na dysku sieciowym. Taka forma udostępniania jest bardzo praktyczna w środowiskach współpracy, gdzie wiele osób musi korzystać z tych samych danych. Użytkownicy mogą otwierać, edytować i zapisywać obiekty bazy danych, co zwiększa efektywność pracy zespołowej. Kluczowe jest, aby folder sieciowy był odpowiednio skonfigurowany z uprawnieniami dostępu, co zapewnia zarówno współdzielenie zasobów, jak i bezpieczeństwo danych. Dobrą praktyką jest także regularne tworzenie kopii zapasowych bazy danych oraz zarządzanie wersjami, co pozwala na minimalizację ryzyka utraty danych. W kontekście standardów branżowych, korzystanie z udostępnionych folderów sieciowych powinno być zgodne z polityką bezpieczeństwa organizacji oraz zasadami zarządzania danymi.

Pytanie 32

Po przeprowadzeniu walidacji dokumentu HTML pojawił się błąd przedstawiony na zrzucie. Jak można go usunąć?

Ilustracja do pytania
A. dodać atrybut alt do grafiki
B. w znaczniku img zmienić nazwę atrybutu src na href
C. zmienić zapis </h1> na <h1>
D. w znaczniku img zmienić nazwę atrybutu src na alt
Atrybut alt w znaczniku img jest kluczowym elementem poprawnego i dostępnego kodu HTML. Służy on do dostarczenia tekstowego opisu zawartości obrazu co jest niezwykle ważne dla osób korzystających z technologii asystujących takich jak czytniki ekranu. Dodanie atrybutu alt poprawia również indeksowanie strony przez wyszukiwarki internetowe co wpływa na SEO. Zgodnie z wytycznymi W3C oraz WCAG każda grafika powinna posiadać ten atrybut aby zapewnić dostępność treści. Przykładowo jeśli obraz przedstawia logo firmy alt powinien zawierać nazwę firmy. W przypadku obrazów dekoracyjnych atrybut alt może być pusty co sygnalizuje że obraz nie niesie istotnej informacji. Takie praktyki wspierają budowanie witryn przyjaznych i zgodnych ze standardami co jest nie tylko wymogiem prawnym w wielu jurysdykcjach ale także dobrym nawykiem programistycznym. W związku z tym dodanie atrybutu alt jest nie tylko środkiem do eliminacji błędu walidacji ale również krokiem w stronę odpowiedzialnego tworzenia treści internetowych.

Pytanie 33

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. XHTML 2.0
B. HTML4
C. XHTML1.0
D. HTML5
Zgadza się, w HTML4 nie było znaczników <footer>, <header> i <nav>, bo one pojawiły się później. HTML4 raczej skupiał się na prostym formatowaniu i strukturze. XHTML1.0 też tego nie oferuje, bo jest bardziej rygorystyczną wersją HTML i trzyma się zasad XML, co znaczy, że wszystko musi być zgodne z gramatyką XML, ale nowe semantyczne elementy nie są tam wprowadzone. A, no i XHTML 2.0 miał zmienić wszystko, ale nigdy nie wyszedł oficjalnie, więc w sumie odpuścili jego rozwój na rzecz HTML5. Tak więc to też pokazuje, że brak tych znaczników był sporym ograniczeniem w kontekście rozwoju internetu. Zresztą HTML5 ma ogromne wsparcie od twórców stron i narzędzi programistycznych, dlatego jest teraz numerem jeden w projektach webowych.

Pytanie 34

Który z podanych znaczników HTML nie jest używany do formatowania tekstu?

A. <div>
B. <em>
C. <sub>
D. <strong>
<div> jest znacznikiem HTML, który służy do grupowania elementów na stronie, co ułatwia ich stylizację i manipulację w CSS oraz JavaScript. W przeciwieństwie do znaczników takich jak <em>, <sub> i <strong>, które mają konkretne zastosowania związane z formatowaniem tekstu, <div> pełni rolę kontenera, co czyni go bardziej uniwersalnym narzędziem do strukturyzacji treści. Przykładowo, można użyć <div> do utworzenia sekcji nagłówka, stopki lub bocznego panelu na stronie. Zgodnie z standardami W3C, <div> jest elementem blokowym, co oznacza, że zajmuje całą szerokość dostępną w swoim rodzicu. W praktyce, <div> pozwala na efektywne zarządzanie układem strony i jest często stosowany w połączeniu z CSS w celu uzyskania pożądanej prezentacji wizualnej. Przykład zastosowania: <div class='container'>...</div> może być użyty do zawarcia innych elementów jak <h1>, <p> czy <img>. Dzięki temu można łatwo manipulować stylem i zachowaniem tych elementów, co czyni <div> kluczowym narzędziem w nowoczesnym web designie.

Pytanie 35

Aby w JavaScript wykonać wymienione kroki:

1. Wyświetlić okno do wpisania wartości z poleceniem "Podaj kwalifikację: ",
   następnie po zatwierdzeniu
2. Umieścić napis na stronie internetowej, gdzie w miejscu kropek znajduje się
   wartość pobrana z okna "Kwalifikacja: ..."
należy w znaczniku <script> umieścić kod
A. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

B. A = prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " .A);

C. A = alert("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);

D. A << prompt("Podaj kwalifikację: ");
   document.write("Kwalifikacja: " + A);
A. B.
B. D.
C. A.
D. C.
Dobra robota! W JavaScript, aby wyświetlić okno, w którym użytkownik może wpisać swoje kwalifikacje, najlepiej użyć funkcji `prompt`. Ta funkcja wyświetla okienko, w które można coś wpisać, a to co wprowadzisz, zostaje zwrócone. Potem, żeby pokazać te dane na stronie, używamy funkcji `document.write`. Dzięki temu możemy dynamicznie dodawać tekst na stronę, co jest super przydatne, gdy chcemy, żeby użytkownik wpisał jakieś informacje, które od razu wyświetlamy. Moim zdaniem, to fajny sposób na interakcję z użytkownikami!

Pytanie 36

W przedstawionym filmie, aby połączyć tekst i wielokąt w jeden obiekt tak, aby operacja ta była odwracalna zastosowano funkcję

A. grupowania.
B. sumy.
C. części wspólnej.
D. wykluczenia.
W tym zadaniu łatwo się pomylić, bo w grafice wektorowej mamy kilka różnych funkcji, które na pierwszy rzut oka wyglądają podobnie: łączą obiekty w coś, co zachowuje się jak jeden element. Jednak ich działanie „pod maską” jest zupełnie inne. Funkcje typu suma, wykluczenie czy część wspólna to klasyczne operacje boolowskie na kształtach. One zmieniają geometrię obiektów, czyli tworzą nową ścieżkę wynikową na podstawie przecięcia lub połączenia istniejących. W praktyce oznacza to, że jeśli zastosujesz sumę na tekście i wielokącie, program najczęściej zamieni tekst na krzywe i połączy wszystko w jedną ścieżkę. Efekt wizualny może być fajny, ale edytowalność tekstu przepada. Nie możesz już po prostu zmienić czcionki czy liter, bo to nie jest tekst, tylko zestaw węzłów.
Podobnie z wykluczeniem: ta operacja tworzy „dziurę” jednego obiektu w drugim. Używa się jej np. do wycinania napisu z tła lub tworzenia maski. To jest typowy trik przy projektach logotypów albo efektach dekoracyjnych. Ale z punktu widzenia pytania – to działanie jest destrukcyjne dla tekstu, bo znowu zamienia go na kształt i łączy z wielokątem w sposób nieodwracalny (poza cofnięciem operacji). Część wspólna działa jeszcze ostrzej: zostawia tylko obszar, w którym obiekty się nakładają. Reszta jest tracona. To też jest operacja geometryczna, a nie organizacyjna.
Typowy błąd myślowy polega na założeniu, że „skoro po operacji mam jeden obiekt, to znaczy, że to jest to samo co grupowanie”. Niestety nie. Grupowanie nie modyfikuje kształtów, tylko tworzy kontener logiczny – tak jakbyś w folderze trzymał kilka plików. Możesz je potem rozgrupować i wszystko wraca do stanu sprzed grupowania. Operacje suma, wykluczenie, część wspólna są destrukcyjne względem oryginalnych obiektów, bo generują nową ścieżkę zamiast starych. W kontekście dobrych praktyk w grafice komputerowej i multimediach przyjmuje się, że dopóki chcesz zachować pełną edytowalność (szczególnie tekstów), używasz grupowania, warstw i wyrównywania, a dopiero na późnym etapie projektu stosujesz operacje boolowskie, i to świadomie, wiedząc, że cofasz się już tylko historią edycji. Dlatego w pytaniu, gdzie mowa jest wprost o połączeniu tekstu i wielokąta w jeden obiekt w sposób odwracalny, jedyną sensowną odpowiedzią jest funkcja grupowania, a nie suma, wykluczenie czy część wspólna.

Pytanie 37

Jednym z kluczowych identyfikatorów wpisu w bazie danych jest pole

A. klucza obcego
B. relacji
C. numeryczne
D. klucza podstawowego
Klucz podstawowy jest fundamentalnym elementem każdej relacyjnej bazy danych, ponieważ jednoznacznie identyfikuje każdy rekord w tabeli. Jego główną cechą jest unikalność, co oznacza, że żaden z rekordów w tabeli nie może mieć tego samego klucza podstawowego. Klucz podstawowy może składać się z jednego lub więcej atrybutów (kolumn), ale zawsze musi zapewniać jednoznaczność identyfikacji. Przykładem może być tabela 'Użytkownicy', gdzie 'ID_Użytkownika' działa jako klucz podstawowy, pozwalając na łatwe i szybkie wyszukiwanie konkretnych użytkowników. Zgodnie z najlepszymi praktykami projektowania baz danych, klucze podstawowe powinny być stabilne i niezmienne w czasie, aby uniknąć komplikacji związanych z aktualizacją wartości. Klucz podstawowy jest również kluczowy dla relacji między tabelami, ponieważ inne tabele mogą odwoływać się do niego poprzez klucze obce. Dzięki temu, struktura bazy danych staje się bardziej zorganizowana i lepiej znormalizowana, co z kolei prowadzi do zwiększonej wydajności i integralności danych.

Pytanie 38

Zdarzenie JavaScript onmousedown występuje, gdy

A. został wciśnięty dowolny klawisz myszy komputerowej na danym elemencie.
B. wskaźnik myszy komputerowej wyszedł poza obręb obiektu.
C. został naciśnięty dwa razy klawisz myszy komputerowej.
D. wskaźnik myszy komputerowej znalazł się w obrębie obiektu.
Poprawnie – zdarzenie onmousedown w JavaScript wywołuje się dokładnie w momencie, gdy użytkownik naciska dowolny klawisz myszy na danym elemencie. Nie ma znaczenia, czy to jest lewy, prawy czy środkowy przycisk, samo fizyczne wciśnięcie przycisku nad elementem powoduje uruchomienie tego eventu. Z punktu widzenia przeglądarki jest to bardzo wczesny etap interakcji myszą: najpierw pojawia się onmousedown, później ewentualnie onmouseup, a dopiero z kombinacji tych dwóch czasem wynika onclick. Moim zdaniem warto to sobie dobrze poukładać, bo w praktyce front-endowca to jedna z podstawowych rzeczy przy obsłudze interfejsu. onmousedown jest używany wszędzie tam, gdzie chcesz zareagować natychmiast po naciśnięciu przycisku, a nie dopiero po jego puszczeniu. Klasyczny przykład to przeciąganie elementów (drag and drop): w onmousedown zapamiętujesz, że użytkownik „złapał” element, podpinasz nasłuch na mousemove, a w mouseup kończysz przeciąganie. Innym typowym zastosowaniem są własne przyciski i kontrolki, gdzie chcesz np. zmienić styl od razu po wciśnięciu (wrażenie wciśniętego guzika), albo rozpocząć jakąś akcję ciągłą, np. przytrzymanie przycisku powoduje powiększanie mapy czy przewijanie listy. W nowoczesnym JavaScript raczej używa się addEventListener("mousedown", handler) zamiast atrybutu onmousedown w HTML, bo to zgodne z dobrymi praktykami separacji logiki od struktury (HTML + JS osobno). Sam event obiektu MouseEvent przekazuje też szczegóły, np. który przycisk został naciśnięty (właściwość button), pozycję kursora, stan klawiszy modyfikujących itd. Dobrze wiedzieć, że onmousedown nie jest powiązany z wyjściem kursora poza element ani z podwójnym kliknięciem – od tego są inne zdarzenia, co często myli początkujących.

Pytanie 39

W skrypcie JavaScript użyto metody DOM getElementsByClassName('akapit'). Metoda ta odniesie się do akapitu

A. <p class="akapit">akapit4</p>
B. <p id="akapit">akapit2</p>
C. <p>akapit</p>
D. <p href="/akapit">akapit3</p>
Metoda getElementsByClassName('akapit') w JavaScript jest metodą DOM, która zwraca kolekcję wszystkich elementów w dokumencie HTML, które mają przypisaną określoną klasę. W tym przypadku interesuje nas klasa 'akapit'. Poprawna odpowiedź to <p class="akapit">akapit4</p>, ponieważ ten akapit ma atrybut class ustawiony na 'akapit'. Zastosowanie klasy w HTML jest zgodne z najlepszymi praktykami programistycznymi, ponieważ pozwala na łatwe stylowanie i manipulowanie grupą elementów za pomocą CSS i JavaScript. Na przykład, jeśli chcemy zmienić kolor tekstu wszystkich akapitów z klasą 'akapit', możemy to zrobić jednym poleceniem w CSS: .akapit { color: red; }. Ponadto, metoda getElementsByClassName zwraca tzw. HTMLCollection, co oznacza, że możemy iterować po tej kolekcji i modyfikować jej elementy. Użycie klas w ten sposób wspiera zasadę separacji treści od prezentacji, co jest kluczowe w nowoczesnym podejściu do tworzenia stron internetowych.

Pytanie 40

W jakim standardzie języka hipertekstowego wprowadzono do składni znaczniki sekcji <footer>, <header>, <nav>?

A. HTML5
B. XHTML 2.0
C. XHTML1.0
D. HTML4
HTML4 oraz XHTML 1.0 koncentrują się głównie na definiowaniu struktury dokumentów, ale nie oferują tak zaawansowanej semantyki jak HTML5. W HTML4 brak jest rozróżnienia dla elementów takich jak <header>, <footer> czy <nav>, co prowadzi do używania mniej semantycznych rozwiązań, takich jak <div>. Użycie znacznika <div> do wszelkich elementów strukturalnych może prowadzić do tzw. 'div soup', czyli zagmatwanej struktury kodu, w której trudno zrozumieć, jakie elementy pełnią jakie funkcje. XHTML 2.0, z kolei, nigdy nie zyskał na popularności, ponieważ nie został ukończony i nie przyjął się w praktyce. Jego koncepcje w dużej mierze opierały się na idei 'czystego' XML-a, co skutkowało brakiem wsparcia dla wielu istniejących rozwiązań. Tak więc, korzystanie z XHTML 1.0 lub HTML4 do budowy nowoczesnych stron internetowych może być ograniczające i niezgodne z aktualnymi standardami branżowymi. Współczesne podejście do tworzenia stron internetowych oraz najlepsze praktyki wskazują na potrzebę przyjęcia HTML5 z jego nowymi znacznikami, co sprzyja lepszej organizacji treści i poprawia doświadczenia użytkowników.