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: 6 kwietnia 2026 14:42
  • Data zakończenia: 6 kwietnia 2026 14:59

Egzamin zdany!

Wynik: 29/40 punktów (72,5%)

Wymagane minimum: 20 punktów (50%)

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

W SQL, aby zabezpieczyć kwerendę CREATE USER przed utworzeniem konta, jeżeli ono już istnieje, należy użyć składni

A. CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
B. CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
C. CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
D. CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';
Odpowiedź 'CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';' jest poprawna, ponieważ zastosowanie klauzuli 'IF NOT EXISTS' pozwala na utworzenie użytkownika tylko w przypadku, gdy konto o podanej nazwie nie istnieje w systemie. Jest to niezwykle użyteczne w praktyce, ponieważ minimalizuje ryzyko wystąpienia błędów związanych z próbą utworzenia użytkownika, który już został wcześniej zdefiniowany, co mogłoby prowadzić do niepotrzebnych komplikacji w zarządzaniu bazą danych. Dzięki temu podejściu administratorzy mogą tworzyć skrypty, które są bardziej elastyczne i odporne na błędy, co jest zgodne z najlepszymi praktykami w zakresie zarządzania bazami danych. Warto także zaznaczyć, że odpowiednia obsługa błędów oraz unikanie zbędnych operacji wpływa na wydajność systemu, co jest kluczowym aspektem w środowiskach produkcyjnych, gdzie każda operacja ma znaczenie dla dostępności i efektywności aplikacji korzystających z bazy danych.

Pytanie 2

W CSS, żeby uzyskać efekt kursywy dla tekstu, należy zastosować właściwość

A. font-family
B. font-style
C. font-variant
D. font-size
W kontekście podanego pytania, inne dostępne odpowiedzi nie spełniają roli w uzyskiwaniu efektu pochylenia tekstu. Właściwość font-size jest używana do określania wielkości czcionki, co nie ma wpływu na jej nachylenie. Zmiana rozmiaru tekstu może wpłynąć na jego wyrazistość, ale nie spowoduje efektu pochylenia. Podobnie, font-family definiuje typ czcionki, co oznacza, jaką czcionkę użyjemy do wyświetlenia tekstu, ale nie zmienia jej stylu w kontekście nachylenia. Ze względu na to, że różne czcionki mogą mieć różne style, ważne jest, by rozróżnić te elementy. Z kolei font-variant dotyczy wariantów czcionek, takich jak małe wielkie litery, i również nie ma wpływu na nachylenie tekstu. Użycie niewłaściwych właściwości CSS może prowadzić do nieporozumień w stylizacji dokumentów, dlatego kluczowe jest zrozumienie roli każdej z nich. Warto więc zapoznać się z dokumentacją CSS oraz najlepszymi praktykami w zakresie stylizacji tekstów, aby właściwie wykorzystać dostępne właściwości.

Pytanie 3

Aby dodać wpis do tabeli Pracownicy, konieczne jest użycie polecenia SQL

A. INSERT INTO Pracownicy VALUES ("Jan", "Kowalski");
B. INSERT VALUES (Jan; Kowalski) INTO Pracownicy;
C. INSERT VALUES Pracownicy INTO (Jan, Kowalski);
D. INSERT (Jan), (Kowalski) INTO TABLE Pracownicy;
Odpowiedź "INSERT INTO Pracownicy VALUES ("Jan", "Kowalski");" jest poprawna, ponieważ jest zgodna z podstawową składnią języka SQL służącego do dodawania nowych rekordów do tabeli. Polecenie INSERT INTO jest używane w celu wstawienia nowych danych do określonej tabeli w bazie danych, a wartości, które mają zostać dodane, umieszczane są w nawiasach, oddzielone przecinkami. W tym przypadku dodajemy dwa pola: imię oraz nazwisko pracownika. Wartości są otoczone cudzysłowami, co jest wymagane dla typów danych tekstowych. Taki zapis jest zgodny z normami SQL i jest najlepszą praktyką, gdyż zapewnia jasność i jednoznaczność operacji. Przykładowo, w rzeczywistych aplikacjach zarządzania danymi w firmach, często spotykamy się z sytuacjami, gdzie dodawanie nowych pracowników do bazy danych jest rutynowym zadaniem, a zrozumienie poprawnej składni SQL jest kluczowe dla efektywnej pracy. Warto również pamiętać, że korzystanie z parametrów w zapytaniach SQL w aplikacjach produkcyjnych zwiększa bezpieczeństwo danych i minimalizuje ryzyko ataków typu SQL Injection.

Pytanie 4

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. <p style="font-style:bold;">
B. <p style="font-size:bold;">
C. p { font-weight:bold; }
D. p { text-size:bold; }
Odpowiedź p { font-weight:bold; } jest poprawna, ponieważ jest zgodna z obowiązującą składnią CSS. W tym przypadku użyto selektora typu, który odnosi się do wszystkich elementów <p> w dokumencie HTML, a właściwość font-weight umożliwia ustawienie grubości czcionki. Wartością 'bold' informujemy przeglądarkę, aby wyświetliła tekst w pogrubionej formie, co jest częstą praktyką w stylizacji tekstu. Stosowanie selektorów typu w CSS pozwala na efektywne zarządzanie stylami w całym dokumencie, zatem jest to zgodne z najlepszymi praktykami projektowania stron internetowych. Przykładowo, w celu nadania pogrubienia wszystkim nagłówkom w dokumencie, można by użyć: h1, h2, h3 { font-weight: bold; }. Zastosowanie takiej reguły pozwala na łatwe i szybkie wprowadzenie zmian w stylu dokumentu, co jest kluczowe w kontekście responsywnego projektowania i modernizacji stron. Dobre praktyki wskazują, aby unikać inline styles (stylów wewnętrznych) na rzecz zewnętrznych arkuszy stylów, co poprawia przejrzystość i utrzymanie kodu.

Pytanie 5

W przedstawionym stylu CSS w ramce zdefiniowano klasę uzytkownik. Tekst na stronie będzie wyświetlany czcionką w kolorze niebieskim dla

p.uzytkownik { color: blue; }
A. dowolnych znaczników w sekcji <body>, które mają przypisaną klasę uzytkownik
B. wyłącznie znaczników tekstowych takich jak <p>, <h1>
C. akapitów, którym przypisano klasę uzytkownik
D. wszystkich akapitów
Styl CSS przedstawiony w ramce definiuje regułę, która stosuje kolor tekstu niebieski do wszystkich elementów <p> posiadających klasę uzytkownik. W CSS selektory klasowe są reprezentowane przez kropkę (.), co oznacza, że tylko te elementy, które mają przypisaną daną klasę, zostaną sformatowane zgodnie z regułami stylu. W tym przypadku, ponieważ selektor to p.uzytkownik, dotyczy on tylko paragrafów oznaczonych klasą uzytkownik. To precyzyjne zastosowanie selektorów umożliwia projektantom stron internetowych dokładne dostosowanie wyglądu poszczególnych elementów. Takie podejście zapewnia większą elastyczność w projektowaniu i ułatwia zarządzanie wyglądem strony. Praktyką jest stosowanie klas, aby stylować specyficzne elementy w różny sposób, co zwiększa użyteczność i przejrzystość kodu CSS. Warto zaznaczyć, że używanie selektorów klasowych w ten sposób jest zgodne z zasadą separacji treści od prezentacji, co jest kluczowym aspektem w tworzeniu nowoczesnych i responsywnych stron internetowych.

Pytanie 6

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. c = 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 7

Aby uzyskać przedstawiony efekt napisu w programie INKSCAPE / COREL, należy

Ilustracja do pytania
A. skorzystać z opcji wstaw / dopasuj tekst do ścieżki
B. zastosować opcję sumy z kołem
C. zastosować opcję wykluczenia z kołem
D. skorzystać z opcji gradientu
Funkcja wstaw lub dopasuj tekst do ścieżki w programach takich jak Inkscape czy CorelDRAW pozwala na kreatywne umieszczanie tekstu wzdłuż określonej linii lub krzywej co jest przydatne w projektowaniu graficznym gdzie częstym wymaganiem jest dostosowanie tekstu do nietypowych kształtów. Na przykład tworzenie logo gdzie napis musi okrążać okrąg lub być umieszczony wzdłuż linii falistej. Proces ten zaczyna się od stworzenia ścieżki którą może być zarówno linia prosta jak i bardziej złożona krzywa a następnie wybrania opcji dopasowania tekstu do tej ścieżki. Kluczowe jest by zrozumieć że taka ścieżka działa jak prowadnica dla tekstu który dostosowuje się do jej kształtu co pozwala na uzyskanie efektów trudnych do osiągnięcia tradycyjnymi metodami. Funkcja ta jest zgodna z dobrymi praktykami projektowania graficznego umożliwiając twórcom większą elastyczność i kreatywność w prezentacji tekstu. Jest to również standardowe narzędzie w pakietach do grafiki wektorowej co pozwala na łatwą edycję i skalowanie projektów bez utraty jakości co jest kluczowe w profesjonalnym designie.

Pytanie 8

SELECT ocena FROM oceny WHERE ocena>2 ORDER BY ocena;
Dana jest tabela oceny o polach id, nazwisko, imie, ocena. Przedstawione zapytanie jest przykładem:
A. sumowania
B. projekcji
C. łączenia
D. selekcji
Wydaje mi się, że wybór odpowiedzi na temat sumy, łączenia czy projekcji może wynikać z niepełnego zrozumienia podstawowych operacji w SQL. Operacja sumy to kwestia agregowania wartości w kolumnie i liczenia ich zbiorczej wartości, co w tym zapytaniu nie ma miejsca. Tutaj nie robimy żadnej agregacji, więc nie ma mowy o sumowaniu. Co do łączenia (JOIN), to działa ono na zasadzie łączenia danych z dwóch lub więcej tabel na podstawie wspólnych kolumn, a w tym zapytaniu mamy do czynienia tylko z jedną tabelą. Jeśli chodzi o projekcję, to jest to wybieranie konkretnych kolumn z tabeli, co może wprowadzać w błąd. W tym zapytaniu kluczowa jest jednak klauzula WHERE. Często zdarza się, że ludzie mylą pojęcia selekcji, które skupia się na ograniczaniu wyników według kryteriów, z projekcją, która dotyczy wyboru kolumn do wyświetlenia. Ważne jest, żeby na każdym etapie pracy z bazami danych zrozumieć te różnice; to pomoże ci skuteczniej wykorzystać SQL i unikać pomyłek w analizach.

Pytanie 9

Przedstawiono efekt formatowania CSS oraz kod HTML. Jak należy zdefiniować styl, aby osiągnąć takie formatowanie?

<p>
Mimozami jesień się zaczyna,<br>
Złotawa, krucha i miła.<br>
To ty, to ty jesteś ta dziewczyna,<br>
Która do mnie na ulicę wychodziła.
</p>
Ilustracja do pytania
A. p.first-line { font-size: 200%; color: brown; }
B. .first-line { font-size: 200%; color: brown; }
C. p::first-line { font-size: 200%; color: brown; }
D. #first-line { font-size: 200%; color: brown; }
Gratulacje! Wybrałeś prawidłową odpowiedź. Pseudoelement ::first-line jest specyficznym selektorem CSS służącym do formatowania pierwszej linii wewnątrz bloku tekstu. Jest to zgodne ze standardami CSS3. Wszystkie style zdefiniowane za pomocą ::first-line będą miały wpływ tylko na pierwszą linię paragrafu, niezależnie od tego, ile zdań zawiera. W tym konkretnym przypadku, zastosowanie selektora `p::first-line` powoduje powiększenie czcionki do 200% oraz zmianę jej koloru na brązowy, ale tylko dla pierwszej linii tekstu zawartego w paragrafie (znacznik `<p>`). Jest to przydatne, gdy chcemy wyróżnić pierwszą linię tekstu, na przykład w dużej ilości tekstu lub artykułach. Pseudoelementy, takie jak ::first-line, pomagają w tworzeniu bardziej złożonych i precyzyjnych stylów bez konieczności dodawania dodatkowych znaczników do naszego kodu HTML.

Pytanie 10

Jaką czynność należy wykonać przed przystąpieniem do tworzenia kopii zapasowej danych w bazie MySQL?

A. przyznanie uprawnień do przeglądania bazy dla Administratora
B. sprawdzenie integralności bazy oraz ewentualna jej naprawa
C. określenie systemu kodowania znaków w bazie
D. weryfikacja, czy baza działa wystarczająco efektywnie
Sprawdzenie integralności bazy danych MySQL przed wykonaniem kopii bezpieczeństwa jest kluczowym krokiem, który zapewnia, że wszystkie dane są w dobrym stanie i nie występują żadne uszkodzenia. Integralność bazy danych odnosi się do spójności i poprawności danych przechowywanych w bazie. Narzędzia takie jak 'CHECK TABLE' oraz 'REPAIR TABLE' pozwalają na identyfikację i naprawę potencjalnych problemów związanych z uszkodzeniami tabel. Przykładem może być sytuacja, w której dane zostały nieprawidłowo zapisane lub usunięte, co może prowadzić do błędów w aplikacjach korzystających z bazy. W przypadku wykrycia problemów, ich naprawa przed stworzeniem kopii zapasowej jest niezbędna, aby uniknąć przenoszenia uszkodzonych danych do nowej lokalizacji. Standardy branżowe, takie jak ISO 27001, podkreślają znaczenie zarządzania integralnością danych, co stanowi fundament skutecznych strategii backupowych. Właściwie przeprowadzona diagnostyka przed wykonaniem kopii bezpieczeństwa nie tylko minimalizuje ryzyko utraty danych, ale również zwiększa efektywność procesów przywracania systemu po awarii.

Pytanie 11

Wykonano następującą kwerendę na tabeli Pracownicy:

SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;

Na tabeli Pracownicy, której wiersze zostały pokazane na obrazie, wykonano przedstawioną kwerendę SELECT. Które dane zostaną wybrane?

idimienazwiskostanowisko
1AnnaKowalska1
2MonikaNowak2
3EwelinaNowakowska2
4AnnaPrzybylska3
5MariaKowal3
6EwaNowacka4
A. Monika, Ewelina, Maria.
B. Tylko Anna.
C. Tylko Maria.
D. Anna, Maria, Ewa.
Niestety, wybrane odpowiedzi są nieprawidłowe. Wydaje się, że mogło dojść do nieporozumienia odnośnie działania kwerendy SQL. Kwerenda 'SELECT imie FROM pracownicy WHERE nazwisko = 'Kowal' OR stanowisko > 2;' zwraca imiona pracowników, którzy mają nazwisko 'Kowal' lub zajmują stanowisko o numerze większym niż 2. W kontekście przedstawionej tabeli, zwróciłaby imiona 'Anna, Maria, Ewa'. Błędne odpowiedzi sugerują, że nie zostało to w pełni zrozumiane. Na przykład, odpowiedź 'Tylko Maria' sugeruje, że nie zrozumiano, że warunek 'stanowisko > 2' również ma wpływ na wynik zapytania. Podobnie, odpowiedzi zawierające imiona pracowników, którzy nie spełniają żadnego z warunków, są nieprawidłowe. Pamiętaj, że SQL to potężne narzędzie do manipulowania danymi i zrozumienie, jak formułować skomplikowane zapytania, jest kluczem do efektywnego zarządzania bazami danych. Zachęcam do dalszej praktyki i eksperymentowania z różnymi zapytaniami, aby lepiej zrozumieć, jakie dane zostaną zwrócone.

Pytanie 12

Na ilustracji przedstawiono ustawienia programu służącego do montażu filmów. Nowy projekt ma ustawienia

Ilustracja do pytania
A. 25 klatek na cały film.
B. 48 minut czasu trwania filmu.
C. wysokość 1920 px i szerokość 1080 px.
D. 25 klatek na każdą sekundę filmu.
Prawidłowa odpowiedź wynika bezpośrednio z oznaczenia „25 fps” w ustawieniach projektu. Skrót fps oznacza „frames per second”, czyli liczbę klatek na sekundę. Jeśli projekt ma 25 fps, to znaczy, że każda sekunda gotowego filmu będzie złożona z 25 kolejnych klatek wideo. To jest właśnie standardowa liczba klatek na sekundę stosowana w Europie (standard telewizyjny oparty na PAL), bardzo często używana w programach do montażu i w kamerach. W praktyce wygląda to tak: jeżeli nagrasz materiał w 25 fps i zmontujesz projekt również w 25 fps, to ruch będzie wyglądał naturalnie, a odtwarzanie będzie płynne i zgodne z typowymi ustawieniami telewizorów i wielu platform VOD. Gdybyś ustawił np. 10 fps, obraz byłby wyraźnie „szarpiący”, a przy 60 fps – bardzo płynny, ale też wymagający więcej miejsca na dysku i większej mocy obliczeniowej przy montażu. Moim zdaniem warto zapamiętać, że liczba klatek na sekundę to jedna z kluczowych decyzji przy zakładaniu nowego projektu: wpływa na płynność ruchu, rozmiar pliku wynikowego i komfort montażu. W programach do edycji wideo zawsze szukaj parametru „Frame Rate” lub właśnie „fps”. Jeżeli widzisz tam liczbę, np. 24, 25, 30, 50 czy 60, to zawsze będzie chodziło o liczbę klatek przypadających na jedną sekundę odtwarzania filmu, a nie o całkowitą liczbę klatek czy czas trwania projektu. W tym zadaniu opis 25 fps dokładnie odpowiada odpowiedzi „25 klatek na każdą sekundę filmu”.

Pytanie 13

W firmowej tabeli znajdują się kolumny: nazwa, adres, NIP, obrót (obrót w ostatnim miesiącu), rozliczenie oraz status. Po wykonaniu kwerendy SQL

SELECT nazwa, NIP FROM firmy WHERE obrot < 4000;
na ekranie pojawią się:
A. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót co najmniej 4000 zł
B. wszystkie informacje o firmach, które w ostatnim miesiącu uzyskały obrót co najmniej 4000 zł
C. wszystkie informacje o firmach, które w ostatnim miesiącu miały obrót poniżej 4000 zł
D. tylko nazwa oraz numer NIP firm, które w ostatnim miesiącu miały obrót mniejszy niż 4000 zł
Fajnie, że chcesz zrozumieć zapytania SQL, ale wiele z niepoprawnych odpowiedzi nie ogarniło, o co w tym wszystkim chodzi. Niektóre z nich myślały, że to zapytanie zwróci wszystkie dane o firmach, a nie tylko ich nazwy i NIP-y. Warto pamiętać, że kwerendy SQL są pisane tak, żeby wybierać określone kolumny. W tym przypadku widzimy tylko 'nazwa' i 'NIP'. Inne błędne odpowiedzi pomyliły się, twierdząc, że zapytanie da nam firmy z obrotem co najmniej 4000 zł, zapominając o tym, że 'WHERE obrót < 4000' ma kluczowe znaczenie, bo tylko te firmy, co miały obrót poniżej tej kwoty, będą w wyniku. Zrozumienie tego jest super ważne, jeśli chcesz mądrze pisać zapytania i analizować dane.

Pytanie 14

W języku CSS wprowadzone zostało następujące formatowanie: ```h1 i {color:red;}``` Kolor czerwony będzie stosowany do

A. całego tekstu nagłówka pierwszego stopnia oraz całego tekstu pochylonego, niezależnie od lokalizacji na stronie
B. wyłącznie pochylonego tekstu w każdym rodzaju nagłówka
C. całego tekstu nagłówka pierwszego stopnia oraz tekstu pochylonego w akapicie
D. tylko tekstu pochylonego nagłówka pierwszego poziomu
Wszystkie odpowiedzi, które nie odpowiadają na pytanie, wynikają z niepoprawnego zrozumienia selektora CSS. Odpowiedzi, które sugerują, że kolor czerwony dotyczy całego tekstu nagłówka pierwszego stopnia, są błędne, ponieważ kolor czerwony jest przypisany jedynie do elementów 'i' znajdujących się w 'h1'. Nieprawidłowe jest także sugerowanie, że stylizacja dotyczy tekstu pochylonego we wszystkich poziomach nagłówków, ponieważ selektor odnosi się wyłącznie do 'h1', co wyklucza inne nagłówki. Dodatkowo, stwierdzenie, że styl obejmuje cały tekst nagłówka oraz wszelki tekst pochylony, nie jest zgodne z zasadami dziedziczenia stylów CSS. W rzeczywistości, selektor ogranicza się do określonego kontekstu, co oznacza, że tylko elementy 'i' w ramach 'h1' podlegają tym regułom. W związku z tym, jakiekolwiek inne elementy czy nagłówki nie są brane pod uwagę w tej regule stylizacji, co z kolei podkreśla precyzyjność i zastosowanie selektorów w CSS.

Pytanie 15

Jaką wiadomość należy umieścić w przedstawionym fragmencie kodu PHP zamiast znaków zapytania? $a=mysql_connect('localhost','adam','mojeHasło'); if(!$a) echo "?????????????????????????";

A. Błąd połączenia z serwerem SQL
B. Wybrana baza danych nie istnieje
C. Błąd w przetwarzaniu zapytania SQL
D. Rekord został pomyślnie dodany do bazy
W sytuacji, gdy nie udaje się nawiązać połączenia z serwerem baz danych MySQL, komunikat błędu powinien jasno wskazywać na problem związany z połączeniem. W kodzie PHP, używając funkcji mysql_connect(), jeśli połączenie się nie powiedzie, zwracany jest błąd, który powinien być odpowiednio obsłużony. W tym przypadku odpowiednia treść komunikatu powinna brzmieć 'Błąd połączenia z serwerem SQL'. Ważne jest, aby programiści dbali o poprawne komunikaty błędów, ponieważ ułatwiają one diagnozowanie problemów. Dobrą praktyką jest także stosowanie obsługi wyjątków, co zwiększa stabilność aplikacji. Przykład: zamiast używać mysql_connect(), zaleca się korzystanie z mysqli lub PDO, które oferują bardziej zaawansowane opcje zarządzania błędami oraz obsługę wyjątków. W przypadku użycia mysqli, mógłbyś to zrobić w następujący sposób: $mysqli = new mysqli('localhost', 'adam', 'mojeHasło'); if ($mysqli->connect_error) { echo 'Błąd połączenia z serwerem SQL: ' . $mysqli->connect_error; } Poprawne raportowanie błędów jest kluczowym elementem programowania, ponieważ pozwala na szybką identyfikację i naprawę potencjalnych problemów.

Pytanie 16

Deklaracja

<!DOCTYPE html>
informuje przeglądarkę internetową o:
A. tytule strony internetowej.
B. indeksowaniu strony internetowej na potrzeby pozycjonowania witryny.
C. wersji języka HTML zastosowanej w dokumencie strony internetowej.
D. dostosowaniu strony internetowej do różnych rozmiarów urządzeń.
Deklaracja <!DOCTYPE html> to wbrew pozorom bardzo ważny element każdej poprawnej strony internetowej. Informuje przeglądarkę, jaka wersja języka HTML została użyta w dokumencie, a w praktyce – że ma renderować stronę w trybie zgodnym ze współczesnym standardem HTML5. Dzięki temu przeglądarka nie próbuje włączać tzw. „quirks mode”, czyli trybu zgodności ze starymi, historycznymi błędami Internet Explorera, tylko stosuje aktualne zasady specyfikacji. Moim zdaniem to jest jeden z tych drobiazgów, które po prostu trzeba pisać z automatu na górze każdego pliku .html. W starszych wersjach HTML deklaracja DOCTYPE była dużo dłuższa i określała konkretne DTD (Document Type Definition), np. dla HTML 4.01 Transitional czy XHTML 1.0 Strict. W HTML5 uproszczono to do jednej, krótkiej formy: <!DOCTYPE html>. To właśnie ta linijka mówi: „to jest dokument HTML5”. Na tej podstawie silnik przeglądarki dobiera reguły parsowania, walidacji struktury i sposób interpretacji wielu elementów, np. sekcji <header>, <footer>, <section>, a także nowych atrybutów formularzy. W praktyce, gdy tworzysz nową stronę, zawsze zaczynasz od: <!DOCTYPE html> <html lang="pl"> <head>… Jeśli pominiesz DOCTYPE albo wpiszesz go błędnie, możesz mieć kłopot z tym, że strona wygląda inaczej w różnych przeglądarkach, pojawią się problemy z modelu pudełkowym CSS (box model), z obsługą nowych znaczników lub z poprawnym działaniem responsywnego layoutu. Walidatory W3C też zakładają konkretną wersję HTML na podstawie DOCTYPE i pod nią sprawdzają poprawność kodu. Z mojego doświadczenia wynika, że poprawny DOCTYPE to absolutna podstawa profesjonalnego front-endu, nawet jeśli wygląda jak coś „magicznego” na samej górze pliku.

Pytanie 17

Do której właściwości można przypisać wartości: static, relative, fixed, absolute oraz sticky?

A. display
B. text-transform
C. position
D. list-style-type
Odpowiedź 'position' to strzał w dziesiątkę! To właściwość w CSS, która mówi nam, jak elementy mają być ustawione na stronie. Masz różne opcje, jak 'static', 'relative', 'fixed', 'absolute' i 'sticky', które każda z nich ma swoje przeznaczenie. Na przykład 'static' to standard, który nic nie zmienia w układzie, a 'relative' umożliwia przesunięcie elementu w stosunku do jego pierwotnej pozycji. Z kolei 'absolute' pozwala umieścić element w odniesieniu do najbliższego przodka, który nie jest ustawiony na 'static', co świetnie się sprawdza, gdy chcesz, żeby coś się ładnie ułożyło na stronie. 'fixed' trzyma element w tym samym miejscu na ekranie, nawet jak przewijasz stronę – idealne dla nagłówków. 'Sticky' łączy w sobie cechy 'relative' i 'fixed', co daje lepszą kontrolę nad pozycjonowaniem przy przewijaniu. Używanie tych wartości jest naprawdę ważne, jeżeli projektujesz responsywne interfejsy, więc dobrze, że to wiesz!

Pytanie 18

Przedstawiono fragment kodu HTML, który nie waliduje się poprawnie. Błąd walidacji tego fragmentu kodu będzie 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 <span class="code-text">br</span>
B. powtórzenia nazwy pliku graficznego
C. niedomknięcia znacznika <span class="code-text">img</span>
D. braku cudzysłowu
Fragment kodu HTML zawiera istotny błąd, który polega na braku cudzysłowu w atrybucie 'src' znacznika 'img'. Poprawna składnia wymaga, aby wszystkie wartości atrybutów były otoczone cudzysłowami, zarówno pojedynczymi, jak i podwójnymi. W tym przypadku występuje problem w linii, gdzie atrybut 'src' ma przypisaną wartość '/obraz.gif', ale brakuje zamykającego cudzysłowu, co powoduje, że przeglądarka może niepoprawnie interpretować ten fragment kodu. Aby poprawić kod, należy dodać cudzysłów, co zapewni zgodność z normami HTML, takimi jak W3C. Przykładowo, poprawny zapis powinien wyglądać następująco: <img src="/obraz.gif" alt="Obrazek">. Walidacja kodu HTML jest kluczowa, ponieważ umożliwia uniknięcie problemów z wyświetlaniem strony oraz zapewnia lepszą dostępność treści dla użytkowników oraz robotów wyszukiwarek. Użycie odpowiednich znaczników oraz poprawna składnia sprzyja również lepszym wynikom SEO, co jest istotne w kontekście widoczności w Internecie.

Pytanie 19

Globalne zmienne do przechowywania informacji o ciasteczkach oraz sesjach: $_COOKIE oraz $_SESSION stanowią część języka

A. Perl
B. PHP
C. JavaScript
D. C#
Odpowiedź PHP jest prawidłowa, ponieważ $_COOKIE i $_SESSION to superglobalne tablice w tym języku, które są wykorzystywane do zarządzania danymi sesyjnymi oraz ciasteczkami. $_COOKIE umożliwia przechowywanie danych na komputerze użytkownika w formie ciasteczek, które mogą być odczytywane przez serwer przy każdym żądaniu. Ciasteczka mogą być używane do identyfikacji użytkownika, zapamiętywania preferencji lub sesji. Przykładowe zastosowanie to np. pamiętanie, czy użytkownik jest zalogowany oraz jakie preferencje dotyczące wyświetlania treści ustawił. Z kolei $_SESSION jest używane do przechowywania danych sesji na serwerze, co zapewnia większe bezpieczeństwo, ponieważ dane nie są również dostępne po stronie klienta. Przykładem zastosowania $_SESSION jest przechowywanie informacji o użytkowniku, takich jak jego identyfikator, które mogą być używane do autoryzacji w różnych częściach aplikacji. W obu przypadkach, przy użyciu tych mechanizmów, programiści muszą pamiętać o optymalizacji wydajności oraz przestrzeganiu zasad ochrony prywatności użytkowników, co jest kluczowe w kontekście aktualnych regulacji dotyczących danych osobowych.

Pytanie 20

Formularz przesyła informacje do pliku skrypt.php po naciśnięciu przycisku oznaczonego jako "WYŚLIJ". Wskaż właściwą definicję formularza.

Ilustracja do pytania
A. Skrypt 3
B. Skrypt 1
C. Skrypt 4
D. Skrypt 2
W formularzu HTML do wysłania danych do określonego skryptu należy użyć atrybutu action w znaczniku form co określa adres URL do którego zostaną przesłane dane. Ponadto kluczowy jest atrybut type elementu input który powinien być ustawiony na submit aby umożliwić wysłanie danych po naciśnięciu przycisku. Skrypt 4 jest poprawny ponieważ zawiera zarówno poprawną definicję action="skrypt.php" jak i właściwe określenie typu przycisku jako submit. Taka konstrukcja jest zgodna ze standardami HTML5 i jest powszechnie stosowana w tworzeniu interaktywnych formularzy internetowych. Poprawne wysyłanie formularzy jest kluczowe w wielu aplikacjach webowych szczególnie w kontekście przesyłania danych użytkownika do serwera gdzie mogą być one przetwarzane lub przechowywane. Przy projektowaniu formularza ważne jest również uwzględnienie bezpieczeństwa danych używając metod takich jak POST zamiast GET co zapobiega wyciekom danych w adresie URL. Dobre praktyki obejmują także walidację po stronie klienta oraz serwera aby upewnić się że przesyłane informacje spełniają wymagane kryteria co minimalizuje ryzyko błędów i potencjalnych ataków."

Pytanie 21

Dodanie do tabeli Produkty kolumny data_produkcji zostanie wykonane kwerendą SQL

A. ALTER TABLE Produkty ADD data_produkcji DATE;
B. ALTER TABLE Produkty ADD DATE data_produkcji;
C. ALTER TABLE Produkty DROP COLUMN data_produkcji DATE;
D. ALTER TABLE Produkty DROP data_produkcji DATE;
Prawidłowa odpowiedź wykorzystuje dokładną składnię polecenia ALTER TABLE, którą stosuje się w SQL do modyfikowania struktury istniejącej tabeli. Instrukcja `ALTER TABLE Produkty ADD data_produkcji DATE;` robi dwie kluczowe rzeczy: wskazuje tabelę, którą zmieniamy (`Produkty`) oraz dodaje nową kolumnę (`data_produkcji`) z określonym typem danych (`DATE`). Taka forma jest zgodna z typową składnią w popularnych systemach bazodanowych, jak MySQL, PostgreSQL, SQL Server czy Oracle (choć drobne różnice składniowe mogą się pojawiać w innych, bardziej egzotycznych systemach). W praktyce oznacza to, że po wykonaniu tej komendy tabela zyska nową kolumnę, w której można przechowywać datę produkcji każdego produktu. Typ `DATE` służy do przechowywania samej daty (rok, miesiąc, dzień), bez czasu. To jest dobre rozwiązanie, jeśli interesuje nas tylko kiedy produkt został wyprodukowany, a nie konkretna godzina. W wielu projektach w technikum czy w pracy zawodowej taka kolumna przydaje się np. do wyliczania terminu przydatności, raportów wiekowania towaru, filtrowania produktów po dacie produkcji, a nawet do prostych analiz, kiedy dana partia była wytwarzana. Moim zdaniem warto od razu kojarzyć sobie taką komendę z dobrymi praktykami modelowania danych: nazwa kolumny powinna być czytelna i jednoznaczna (tutaj `data_produkcji` bardzo dobrze opisuje zawartość), typ danych powinien być możliwie najbardziej dopasowany do przechowywanej informacji (tu `DATE`, a nie np. `VARCHAR`), a zmiany struktury tabeli trzeba wykonywać świadomie, najlepiej mając kopię zapasową bazy lub przynajmniej danej tabeli. W realnych systemach produkcyjnych często dodaje się też ograniczenia, np. `NOT NULL` albo domyślną wartość, na przykład: `ALTER TABLE Produkty ADD data_produkcji DATE NOT NULL DEFAULT CURRENT_DATE;` W testach i nauce zaczyna się jednak od prostszej wersji, takiej jak w tym pytaniu, żeby dobrze zapamiętać podstawowy schemat: `ALTER TABLE <nazwa_tabeli> ADD <nazwa_kolumny> <typ_danych>;`.

Pytanie 22

Kompresja bezstratna pliku graficznego zapewnia

A. wyższą jakość
B. oryginalną jakość grafiki
C. rozmiar większy niż w oryginale
D. mniejszą ilość warstw
Kompresja bezstratna pliku graficznego to technika, która pozwala na zmniejszenie rozmiaru pliku graficznego bez utraty jakichkolwiek informacji wizualnych. Oznacza to, że po procesie kompresji, obraz zachowuje swoją pierwotną jakość, a wszystkie detale, kolory i tekstury pozostają nienaruszone. Przykładami formatów wykorzystujących kompresję bezstratną są PNG (Portable Network Graphics) oraz TIFF (Tagged Image File Format). W przypadku PNG, algorytm kompresji, znany jako DEFLATE, pozwala na efektywne zmniejszenie rozmiaru pliku poprzez usuwanie nadmiarowych danych bez wpływu na jakość obrazu. Kompresja bezstratna jest szczególnie ważna w dziedzinach, gdzie jakość grafiki ma kluczowe znaczenie, na przykład w druku, gdzie jakiekolwiek zniekształcenia mogłyby wpłynąć na finalny efekt. Umożliwia ona również edytowanie obrazów bez obawy o degradację jakości, co jest istotne w pracy z grafiką komputerową oraz fotografią. Dzięki temu technologia ta zyskuje na popularności wśród grafików i profesjonalistów zajmujących się obróbką zdjęć.

Pytanie 23

Witryna internetowa zawiera poziome menu w formie listy punktowanej. Aby elementy tej listy mogły być wyświetlane w jednej linii, należy przypisać selektorowi li właściwość

A. display
B. text-align
C. outline
D. position
Wybór opcji 'outline' jako właściwości do ustawienia dla selektora 'li' w kontekście wyświetlania elementów listy w jednej linii jest błędny, ponieważ 'outline' dotyczy jedynie rysowania konturów wokół elementu, nie wpływa natomiast na ich układ. Przykładowo, 'outline' jest często używane w celu poprawy dostępności elementów interaktywnych, takich jak przyciski, ale nie ma żadnego wpływu na ich położenie w dokumencie. Z kolei 'position' jest używane do określenia sposobu pozycjonowania elementów, co również nie wpływa na ich wyświetlanie w jednej linii. Choć 'position: relative;' lub 'absolute;' mogą zmienić sposób, w jaki elementy są rozmieszczone w stosunku do siebie, to jednak nie jest to odpowiednie narzędzie do uzyskania efektu poziomego menu. Natomiast 'text-align' jest właściwością, która ustala sposób wyrównania tekstu wewnątrz bloku, ale również nie dotyczy samego wyświetlania elementów listy. Używanie takich podejść może prowadzić do nieporozumień i błędów w projektach, gdzie kluczowe jest zrozumienie, że różne właściwości CSS mają swoje specyficzne zastosowania i nie mogą być zamieniane. Zrozumienie tego aspektu jest kluczowe dla prawidłowego tworzenia układów w stronach internetowych i unikania typowych błędów w stylizacji.

Pytanie 24

Jakie z wyrażeń logicznych w języku C weryfikuje, czy zmienna o nazwie zm1 znajduje się w zakresie (6, 203)?

A. (zm1 > 6) && (zm1 <= 203)
B. (zm1 > 6) || (zm1 <= 203)
C. (zm1 > 6) && (zm1 != 203)
D. (zm1 > 6) || (zm1 != 203)
Wyrażenie (zm1 > 6) && (zm1 <= 203) jest poprawne, ponieważ warunek ten precyzyjnie sprawdza, czy zmienna zm1 znajduje się w przedziale otwartym (6, 203]. Oznacza to, że zm1 musi być większe od 6 i jednocześnie mniejsze lub równe 203. Taki zapis jest zgodny z typowym podejściem używanym w programowaniu, gdzie ważna jest precyzyjna kontrola wartości zmiennych. W praktyce, takie wyrażenie może być zastosowane w sytuacjach, gdzie potrzebujemy przefiltrować dane, na przykład przy walidacji danych wejściowych w formularzach lub przy definiowaniu zakresu wartości w algorytmach operujących na liczbach. Używanie operatorów logicznych w ten sposób jest zgodne z najlepszymi praktykami programowania, gdzie ważne jest nie tylko uzyskanie oczekiwanego wyniku, ale również czytelność i zrozumiałość kodu. Przykładowo, jeżeli mamy do czynienia z systemem zarządzania użytkownikami, można sprawdzać wiek użytkownika, aby upewnić się, że spełnia określone wymagania wiekowe, jednocześnie unikając sytuacji, w których użytkownicy mogą być nieuprawnieni do korzystania z systemu.

Pytanie 25

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

A. części wspólnej.
B. grupowania.
C. sumy.
D. wykluczenia.
Prawidłowo – w filmie została użyta funkcja grupowania. W grafice wektorowej, np. w programach typu Inkscape, CorelDRAW czy Illustrator, grupowanie służy właśnie do logicznego połączenia kilku obiektów w jeden „zestaw”, ale bez trwałego mieszania ich geometrii. To znaczy: tekst dalej pozostaje tekstem, wielokąt dalej jest wielokątem, tylko są traktowane jak jeden obiekt przy przesuwaniu, skalowaniu czy obracaniu. Dzięki temu operacja jest w pełni odwracalna – w każdej chwili możesz rozgrupować elementy i edytować każdy osobno. Moim zdaniem to jest podstawowa dobra praktyka w pracy z projektami, które mogą wymagać późniejszych poprawek: podpisy, etykiety, logotypy, schematy techniczne. Jeśli połączysz tekst z kształtem za pomocą operacji boolowskich (suma, część wspólna, wykluczenie), to tekst zwykle zamienia się na krzywe, przestaje być edytowalny jako tekst. To bywa potrzebne przy przygotowaniu do druku czy eksportu do formatu, który nie obsługuje fontów, ale nie wtedy, gdy zależy nam na łatwej edycji. Z mojego doświadczenia: przy projektowaniu interfejsów, ikon, prostych banerów na WWW czy grafik do multimediów, najrozsądniej jest najpierw grupować logicznie elementy (np. ikona + podpis), a dopiero na samym końcu, gdy projekt jest ostateczny, ewentualnie zamieniać tekst na krzywe. Grupowanie pozwala też szybko zaznaczać całe moduły projektu, wyrównywać je względem siebie, duplikować całe zestawy (np. kafelki menu, przyciski z opisami) bez ryzyka, że coś się rozjedzie. W grafice komputerowej to taka podstawowa „organizacja pracy” – mniej destrukcyjna niż różne operacje na kształtach i zdecydowanie bardziej elastyczna przy późniejszych zmianach.

Pytanie 26

W relacyjnych bazach danych encja jest przedstawiana przez

A. relację.
B. rekord.
C. kwerendę.
D. tabelę.
Nieprawidłowe odpowiedzi wskazują na pewne nieporozumienia dotyczące definicji podstawowych elementów relacyjnych baz danych. Rekord, chociaż jest istotnym składnikiem tabeli, nie reprezentuje encji, lecz pojedynczą instancję encji. Mylne jest również utożsamianie tabeli z relacją, ponieważ relacja w kontekście teorii zbiorów odnosi się do zbioru krotek, podczas gdy tabela jest fizycznym i trwałym przedstawieniem tychże zbiorów w bazie danych. Kwerenda natomiast to instrukcja używana do uzyskiwania danych z bazy danych, a nie do ich reprezentacji. To podejście do zrozumienia modeli relacyjnych może prowadzić do błędnych wniosków w projektowaniu baz danych. Dla przykładu, nieumiejętność rozróżnienia między tabelą a rekordem może skutkować niewłaściwym modelowaniem danych, co wpłynie negatywnie na wydajność i integralność bazy danych. Warto zwrócić uwagę na znaczenie właściwego stosowania terminologii oraz zrozumienie struktury danych w relacyjnych bazach danych, co jest kluczowe dla efektywnego zarządzania danymi i ich relacjami.

Pytanie 27

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?
A. DELETE FROM `uczniowie` WHERE data_ur LIKE "%-06-%"
B. DELETE FROM `uczniowie` WHERE data_ur LIKE "?-06-?"
C. DROP FROM `uczniowie` WHERE data_ur LIKE "06"
D. DROP FROM `uczniowie` WHERE data_ur == #-06-#
W tym zadaniu kluczowe jest zrozumienie trzech rzeczy: poprawnej składni SQL, sposobu zapisu daty w bazie oraz działania operatora LIKE. Jeśli któryś z tych elementów „siądzie”, to całe zapytanie przestaje mieć sens. Nie można na przykład używać słowa kluczowego DROP zamiast DELETE. DROP służy do usuwania całych obiektów bazodanowych, takich jak tabele czy bazy danych (np. DROP TABLE uczniowie;), a nie pojedynczych rekordów. Użycie DROP z klauzulą WHERE jest po prostu niepoprawne składniowo i w MySQL takie zapytanie się nie wykona. To jest dość typowy błąd: pomylenie operacji na strukturze bazy danych z operacjami na danych. Druga sprawa to porównywanie daty. W SQL nie stosujemy operatora „==”, to nie jest JavaScript ani C++. Standardowy operator porównania to pojedynczy znak równości „=”. Dodatkowo zapis typu #-06-# nie ma żadnego sensu w MySQL, wygląda raczej jak składnia z innych środowisk (np. Access). MySQL oczekuje albo literalnej wartości daty w formacie 'YYYY-MM-DD', albo użycia funkcji, albo poprawnego wzorca tekstowego. Kolejny częsty błąd to używanie LIKE z nieprawidłowym wzorcem. W MySQL wildcardami są „%” (dowolny ciąg znaków, także pusty) oraz „_” (dokładnie jeden dowolny znak). Znaki „?” nie pełnią roli symbolu zastępczego w standardowym SQL, więc wzorzec "?-06-?" po prostu nie zadziała tak, jak ktoś mógłby się spodziewać. Trzeba też pamiętać, że data jest zapisana w formacie 'RRRR-MM-DD', więc dopasowanie po samym „06” bez myślników jest ryzykowne – mogłoby trafić w inne fragmenty ciągu, a nie w sam miesiąc. Z mojego doświadczenia wynika, że najlepszym nawykiem jest zawsze myślenie: jaki dokładnie ciąg znaków stoi w kolumnie i jakim wzorcem LIKE mogę go jednoznacznie złapać, zamiast zgadywać składnię czy mieszać składnie z różnych technologii.

Pytanie 28

Tabele Osoby i Adresy są połączone relacją jeden do wielu. Jakie zapytanie SQL należy zapisać, aby korzystając z tej relacji, prawidłowo wyświetlić nazwiska oraz przyporządkowane im miasta?

Ilustracja do pytania
A. SELECT nazwisko, Miasto FROM Osoby, Adresy WHERE Osoby.id = Adresy.id;
B. SELECT nazwisko, Miasto FROM Osoby JOIN Adresy ON Osoby.Adresy_id = Adresy.id;
C. SELECT nazwisko, Miasto FROM Osoby, Adresy;
D. SELECT nazwisko, Miasto FROM Osoby.Adresy_id = Adresy.id FROM Osoby, Adresy;
Błędne odpowiedzi pokazują typowe nieporozumienia związane ze składnią i logiką SQL. Niektóre z nich opierają się na błędnym założeniu, że po prostu wymienienie tabel w instrukcji FROM automatycznie połączy te tabele - to nie jest prawda, ponieważ wymaga to jasno określonego warunku połączenia. Inne błądne odpowiedzi sugerują, że można po prostu porównać wartości kolumny 'id' w obu tabelach, aby je połączyć. To jest błędne, ponieważ nie uwzględnia to faktu, że relacja między tabelami jest określona przez klucz obcy, który może nie mieć takiej samej nazwy ani wartości jak klucz główny. Wreszcie, niektóre błędne odpowiedzi mylą składnię zapytania, umieszczając warunek łączenia w niewłaściwym miejscu lub pomijając niezbędne słowo kluczowe JOIN. To pokazuje, jak ważne jest dokładne zrozumienie składni SQL i jej reguł.

Pytanie 29

Na ilustracji przedstawiono rezultat stosowania stylów CSS oraz odpowiadający mu kod HTML, który generuje ten przykład. Przyjmując, że marginesy wewnętrzne mają wartość 50 px, natomiast zewnętrzne wynoszą 20 px, styl CSS dla tego obrazu wygląda następująco

Ilustracja do pytania
A. Odpowiedź C
B. Odpowiedź B
C. Odpowiedź A
D. Odpowiedź D
Odpowiedź C jest poprawna, ponieważ zdefiniowany styl CSS zawiera wszystkie elementy odpowiadające przedstawionemu formatowaniu obrazu. Styl ten określa kolor tła jako Teal, co jest zgodne z opisem wizualnym obrazu. Dodatkowo zastosowanie solidnej czarnej ramki o grubości 4 pikseli odpowiada profesjonalnym standardom, które zapewniają wyraźne oddzielenie obrazu od reszty treści przez wyróżnienie go. Zastosowanie marginesów zewnętrznych o wartości 20 pikseli oraz wewnętrznych paddingów o wartości 50 pikseli jest zgodne z podanym założeniem, co pozwala na właściwe umiejscowienie obrazu na stronie, dając przestrzeń wokół i wewnątrz elementu. Dbałość o takie szczegóły jest kluczowa dla tworzenia responsywnych i estetycznych stron internetowych. Praktyczne stosowanie tego typu stylizacji umożliwia poprawienie czytelności oraz przyciąga uwagę użytkowników na znaczące elementy strony. Warto przy tym pamiętać o zasadzie KISS (Keep It Simple, Stupid), która zachęca do utrzymywania prostoty w projektach, co nie tylko ułatwia ich tworzenie ale też późniejsze utrzymanie.

Pytanie 30

W dokumentacji języka PHP znajduje się informacja dotycząca jednej z jego funkcji:
„Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.”.
Zgodnie z tą informacją użycie tej funkcji jest:

A. niemożliwe w wersjach PHP 5.5.0 lub starszych i dostępne dopiero od wersji 7.0.0.
B. przestarzałe od wersji PHP 5.5.0 i całkowicie usunięte w wersji 7.0.0.
C. niezalecane w wersji PHP 5.5.0 i dostępne od wersji 7.0.0.
D. dostępne w wersjach PHP od 5.5.0 do 7.0.0 (włącznie) i niedostępne w innych wersjach.
Komunikat z dokumentacji PHP „Warning. This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.” oznacza dwa różne stany w cyklu życia funkcji/rozszerzenia. „Deprecated” od wersji 5.5.0 znaczy, że funkcja nadal działa, ale jej użycie jest oficjalnie niezalecane. Silnik PHP może generować ostrzeżenia (E_DEPRECATED), a autorzy języka jasno sugerują, żeby migrować kod na nowsze, wspierane rozwiązania. „Removed w PHP 7.0.0” oznacza, że od tej wersji funkcja po prostu nie istnieje – próba jej użycia skończy się błędem typu „undefined function” lub „undefined extension”. Z mojego doświadczenia wynika, że taki status to sygnał alarmowy dla programisty: w nowych projektach nie używamy funkcji oznaczonych jako deprecated, a w istniejących aplikacjach planujemy refaktoryzację, zanim wejdziemy na wyższą wersję PHP. Dobrym przykładem jest stare rozszerzenie mysql_* – od PHP 5.5 było oznaczone jako przestarzałe, a w PHP 7 zostało usunięte i trzeba było przejść na mysqli lub PDO. W praktyce, gdy widzisz w dokumentacji „deprecated od wersji X”, powinieneś: sprawdzić zalecaną alternatywę, włączyć raportowanie błędów i ostrzeżeń na środowisku developerskim, usunąć stopniowo wszystkie wywołania danej funkcji. Branżową dobrą praktyką jest też testowanie aplikacji na docelowej wersji PHP przed aktualizacją produkcji, żeby właśnie takie usunięte funkcje wyłapać automatycznie w logach lub podczas testów jednostkowych. Twoja odpowiedź dokładnie to odczytała: od 5.5 funkcja jest przestarzała (deprecated), a w 7.0 całkowicie znika z języka.

Pytanie 31

W CSS, aby ustalić wewnętrzny górny margines, czyli odstęp pomiędzy elementem a jego obramowaniem, należy zastosować komendę

A. border-top
B. outline-top
C. padding-top
D. local-top
Odpowiedź 'padding-top' jest prawidłowa, ponieważ w CSS termin 'padding' odnosi się do wewnętrznego odstępu, który tworzy przestrzeń pomiędzy zawartością elementu a jego granicą (border). 'padding-top' specyfikuje górny odstęp wewnętrzny, co jest istotne w kontekście estetyki i układu strony. Definiując 'padding-top', możemy dostosować wygląd elementów, aby lepiej pasowały do reszty projektu i poprawiły czytelność. Na przykład, jeśli mamy przycisk z tekstem, użycie 'padding-top: 10px;' zapewni, że tekst nie będzie przyklejony do górnego brzegu przycisku, co zwiększy jego estetykę oraz użyteczność. W praktyce dobrą praktyką jest również stosowanie 'padding' w połączeniu z 'margin', aby osiągnąć odpowiednią separację między różnymi elementami w układzie. Przestrzeganie standardów CSS pomaga w tworzeniu responsywnych i dostosowanych układów, które dobrze działają na różnych urządzeniach.

Pytanie 32

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

A. HTML5
B. XHTML1.0
C. XHTML 2.0
D. HTML4
Tak, znaczników <footer>, <header> i <nav> zaczęto używać w HTML5, który zadebiutował w październiku 2014 roku. To jest ciekawe, bo HTML5 wprowadził sporo nowych semantycznych elementów, które pomagają w lepszej organizacji dokumentów HTML. Dzięki nim, przeglądarki i roboty wyszukiwarek mogą lepiej zrozumieć strukturę stron. Na przykład, <header> to nagłówek strony lub sekcji, <nav> tworzy menu nawigacyjne, a <footer> to stopka. Myślę, że to super sprawa, bo poprawia dostępność strony i jej SEO, bo tak naprawdę pomaga wyszukiwarkom w lepszym indeksowaniu treści, co może prowadzić do lepszych wyników w wyszukiwarkach. Dodatkowo, HTML5 ma też inne ciekawe nowinki, jak wsparcie dla multimediów, lokalne przechowywanie danych, a także lepszą kompatybilność z aplikacjami mobilnymi, więc zdecydowanie warto go wykorzystywać do budowy stron internetowych.

Pytanie 33

Jaką wartość zwróci funkcja empty($a); w języku PHP, gdy zmienna $a będzie miała wartość 0?

A. NULL
B. 0
C. FALSE
D. TRUE
Funkcja empty($a) w języku PHP zwraca TRUE, gdy zmienna $a jest uznawana za pustą. Zgodnie z definicją, pustą wartość w PHP mają zmienne, które są równoważne FALSE, co obejmuje m.in. wartość 0, pusty string, NULL oraz pustą tablicę. W przypadku, gdy zmienna $a przyjmuje wartość liczbową równą 0, funkcja empty() zwróci TRUE, ponieważ 0 jest interpretowane jako wartość uznawana za pustą. To zachowanie jest zgodne z zasadami silnej typizacji w PHP, które pozwalają na dynamiczne sprawdzanie typów zmiennych. W praktyce, funkcję empty() można wykorzystać do walidacji danych wejściowych, na przykład w formularzach, gdzie istotne jest, aby użytkownik wprowadził wartość. Zamiast porównywać zmienną z różnymi pustymi wartościami, wywołanie empty() pozwala na bardziej zwięzły i czytelny kod. Warto również pamiętać, że empty() nie generuje ostrzeżeń w przypadku nieistniejącej zmiennej, co czyni ją bezpieczniejszym wyborem niż inne metody sprawdzania wartości.

Pytanie 34

Zgodnie z zasadami ACID, odnoszącymi się do przeprowadzania transakcji, wymóg trwałości (ang. durability) wskazuje, że

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od tego, co się wydarzy po jej zakończeniu
B. transakcja może w pewnych okolicznościach być rozdzielona na dwa niezależne etapy
C. w trakcie realizacji transakcji dane mogą być zmieniane przez inne transakcje
D. w sytuacji naruszenia spójności bazy danych transakcja eliminuje tabele z kluczami obcymi
Wszystkie przedstawione alternatywy nie oddają właściwego znaczenia wymogu trwałości w kontekście ACID. Modyfikowanie danych przez inne transakcje w trakcie trwania jednej transakcji narusza zasadę atomowości, co prowadzi do nieprzewidywalnych stanów danych. Właściwa izolacja transakcji jest niezbędna, aby zapewnić, że jedna transakcja nie wpływa na wyniki innej, co jest kluczowym aspektem stabilności systemu. Ponadto, usunięcie tabel z kluczami obcymi w przypadku naruszenia spójności bazy danych nie jest związane z zasadą trwałości. Tego rodzaju działanie może prowadzić do poważnych problemów z integralnością danych, ponieważ usuwanie tabel nie rozwiązuje problemów spójności, lecz je pogłębia. Dodatkowo, podział transakcji na dwa niezależne etapy może wprowadzać niepożądane skutki, takie jak niespójność danych, co jest sprzeczne z zasadą trwałości. Kluczowym elementem, który łączy wszystkie te błędne koncepcje, jest brak zrozumienia, że trwałość gwarantuje, że zatwierdzone zmiany są permanentne i zabezpieczone przed jakimikolwiek nieprzewidzianymi okolicznościami. Korzystanie z solidnych mechanizmów trwałości, takich jak transakcyjne logowanie i backupy, jest niezbędne, aby zrealizować wszystkie aspekty ACID, a tym samym zapewnić odpowiednią jakość i bezpieczeństwo danych w systemach informacyjnych.

Pytanie 35

Zawarty w ramce fragment kodu w języku JavaScript

Ilustracja do pytania
A. wyświetli długość tekstu ze zmiennej t
B. przypisze zmiennej s długość tekstu ze zmiennej t
C. przypisze do zmiennej s zmienną t
D. przypisze do zmiennej s fragment tekstu ze zmiennej t o długości określonej przez zmienną length
Funkcja length w JavaScript jest prostą i potężną metodą, która zwraca długość łańcucha znaków. W przypadku zmiennej t przypisanej do wartości Ala ma kota., kiedy wywołujemy t.length, otrzymujemy liczbę znaków w tym łańcuchu, która wynosi 12, wliczając spacje i znak kropki. Przypisanie s=t.length; oznacza, że zmienna s przyjmie wartość liczbową 12. Jest to standardowy sposób mierzenia długości tekstu w większości języków programowania i jest szeroko stosowany w codziennym programowaniu, np. przy walidacji danych wejściowych, budowaniu dynamicznych interfejsów użytkownika czy przetwarzaniu tekstu. Metoda ta jest częścią podstawowej składni JavaScriptu i jest dobrze wspierana przez wszystkie współczesne przeglądarki, co czyni ją niezawodnym narzędziem w pracy z tekstem. Rozumienie tego mechanizmu jest kluczowe dla efektywnego zarządzania danymi tekstowymi i może być rozwijane poprzez praktyczne ćwiczenia w projektach związanych z analizą tekstu czy tworzeniem dynamicznych aplikacji webowych.

Pytanie 36

Zgodnie z aktualnie obowiązującym w Polsce prawem, osoby z wykształceniem inżynieryjno-technicznym są zobowiązane do odbywania szkoleń BHP w regularnych odstępach czasu, które nie powinny być dłuższe niż co

A. 6 lat
B. 1 rok
C. 8 lat
D. 5 lat
Wszystkie pozostałe odpowiedzi są błędne, ponieważ nie odpowiadają wymogom prawnym dotyczącym okresowych szkoleń BHP dla inżynieryjno-technicznych pracowników w Polsce. Odpowiedzi sugerujące, że szkolenia powinny odbywać się co 5, 6 lub 8 lat, opierają się na nieprawidłowym rozumieniu przepisów. Ustawa Kodeks pracy jasno określa, że okresowe szkolenia BHP mają na celu nie tylko dostarczenie pracownikom wiedzy na temat bezpieczeństwa, ale także dostosowanie ich umiejętności do zmieniających się warunków w miejscu pracy. Zbyt długi okres pomiędzy szkoleniami mógłby prowadzić do utraty aktualności wiedzy pracowników, co zwiększa ryzyko wypadków oraz zagrożeń zdrowotnych. W praktyce, regularne, coroczne szkolenia są niezbędne do nadążania za nowymi przepisami, technologiami oraz aktualizacjami w procedurach bezpieczeństwa. Ponadto, firmy, które zaniedbują wymóg przeprowadzania takich szkoleń, mogą być narażone na konsekwencje prawne oraz finansowe, w tym na kary administracyjne. Odpowiednie przestrzeganie przepisów dotyczących szkoleń BHP jest kluczowe dla zapewnienia bezpieczeństwa pracowników oraz ochrony firmy przed potencjalnymi stratami.

Pytanie 37

Przedstawiona funkcja napisana w kodzie JavaScript ma na celu:

function oblicz(a, n)
{
    wynik = 1;
    for(i = 0; i < n; i++)
        wynik *= a;
    return (wynik);
}
A. wpisać wyniki mnożenia a przez n
B. zwrócić iloczyn kolejnych liczb od 1 do a
C. zwrócić wynik potęgowania a^n
D. wpisać kolejne liczby od a do n
Funkcja w kodzie JavaScript przedstawionym w pytaniu ma na celu zwrócenie wyniku potęgowania liczby a do potęgi n. Widzimy to poprzez analizę kodu: rozpoczyna się od inicjalizacji zmiennej wynik z wartością 1, a następnie w pętli for realizowana jest operacja mnożenia wyniku przez a dokładnie n razy. W ten sposób wynik = wynik * a jest wykonywane iteracyjnie, co oznacza że a jest mnożone przez siebie n razy. Taka operacja jest definicją potęgowania: a do potęgi n oznacza a mnożone n-krotnie. Tego rodzaju funkcje są fundamentalne w programowaniu, szczególnie w kontekście matematycznych obliczeń czy symulacji wymagających wielokrotnych potęgowań, np. w zastosowaniach naukowych i inżynieryjnych. Dobrą praktyką jest również optymalizacja tego typu funkcji używając wbudowanych metod jak Math.pow w JavaScript, co zwiększa czytelność i efektywność kodu. Rozumienie potęgowania jest kluczowe w algorytmach opartych na teorii liczb, kryptografii czy w grafice komputerowej, gdzie operacje te mogą być wysoce złożone i wymagają szczególnej optymalizacji.

Pytanie 38

Dla strony internetowej stworzono styl, który będzie stosowany tylko do wybranych znaczników, takich jak niektóre nagłówki oraz kilka akapitów. W tej sytuacji, aby przypisać styl do konkretnych znaczników, najodpowiedniejsze będzie użycie

Ilustracja do pytania
A. selektora akapitu
B. pseudoklasy
C. identyfikatora
D. klasy
Użycie klasy w CSS jest najlepszym rozwiązaniem, gdy chcemy zastosować ten sam styl do wielu elementów HTML, ale nie do wszystkich. Klasy w CSS są definiowane za pomocą kropki przed nazwą klasy, np. .nazwa-klasy, i mogą być przypisane do dowolnego elementu HTML za pomocą atrybutu class. Dzięki temu możemy elastycznie i efektywnie zarządzać stylami na stronie internetowej. Klasy są bardzo przydatne w dużych projektach, gdzie powtarzalność i spójność stylów są kluczowe. Pozwalają także na ponowne wykorzystanie tych samych stylów w różnych miejscach projektu bez konieczności kopiowania kodu CSS. Użycie klas zwiększa czytelność i organizację kodu, co jest zgodne z najlepszymi praktykami programowania. Stosowanie klas jest także zalecane w kontekście frameworków CSS, takich jak Bootstrap, które intensywnie wykorzystują klasy do definiowania komponentów i układów. Przykład zastosowania klasy: .align-right { text-align: right; } można przypisać do różnych nagłówków czy akapitów, które mają być wyrównane do prawej.

Pytanie 39

Obiekt bazy danych, którego głównym przeznaczeniem jest drukowanie lub wyświetlanie zestawień danych, to

A. makro.
B. raport.
C. formularz.
D. moduł.
Poprawna odpowiedź to „raport”, bo właśnie ten obiekt bazy danych jest przeznaczony typowo do estetycznego drukowania lub wyświetlania gotowych zestawień danych. W typowych systemach bazodanowych, takich jak Microsoft Access czy różne narzędzia klasy RAD, formularze służą głównie do wprowadzania i edycji danych, kwerendy do ich wyszukiwania i filtrowania, a raporty do prezentacji wyników w uporządkowanej, czytelnej formie. Raport ma własny projekt układu: nagłówki, stopki, grupowanie po polach (np. po kliencie, dacie, dziale), sumy częściowe i końcowe, numerację stron, a często także pola obliczeniowe. To jest dokładnie to, czego potrzebujemy, gdy chcemy przygotować np. wydruk faktur, miesięczne zestawienie sprzedaży, raport obecności pracowników albo raport kasowy do działu księgowości. Z mojego doświadczenia raport traktuje się jako końcowy produkt pracy z danymi – użytkownika końcowego zwykle nie interesują tabele czy relacje, tylko czy dostanie przejrzysty wydruk lub PDF, który można wysłać dalej. Dobre praktyki mówią, żeby w raportach nie upychać logiki biznesowej ani skomplikowanych obliczeń, tylko oprzeć je na dobrze przygotowanych kwerendach. Raport powinien być możliwie prosty, czytelny i stabilny – tak, żeby zmiana sposobu liczenia odbywała się w warstwie zapytań, a nie w każdym raporcie osobno. W narzędziach BI (np. Power BI, Tableau, ale też klasyczne Crystal Reports) idea jest podobna: raport to warstwa prezentacji, która korzysta z danych z bazy, modelu analitycznego albo widoków SQL. W praktyce w firmach raporty są podstawą podejmowania decyzji, więc poprawne zrozumienie ich roli w bazie danych jest naprawdę kluczowe.

Pytanie 40

W języku SQL, jaki będzie efekt wykonania poniższego zapytania?

ALTER TABLE osoba DROP COLUMN grupa;
A. Dodana zostanie kolumna grupa.
B. Zmieniona zostanie nazwa kolumny na grupa.
C. Zmieniona zostanie nazwa tabeli na grupa.
D. Usunięta zostanie kolumna grupa.
Gratulacje, wybrałeś poprawną odpowiedź. W zaprezentowanym pytaniu skupiliśmy się na instrukcji 'ALTER TABLE' w języku SQL, a dokładniej na jej konkretnej odmianie, tj. 'DROP COLUMN'. Ta instrukcja służy do usunięcia kolumny z istniejącej tabeli. W tym konkretnym przypadku, użyto jej do usunięcia kolumny o nazwie 'grupa' z tabeli 'osoba'. Jest to przydatne narzędzie w przypadku, gdy chcemy usunąć dane z bazy bez usuwania całej tabeli. Pamiętaj jednak o skutkach utraty wszystkich danych z tej kolumny. Zawsze warto zrobić backup bazy danych przed taką operacją. Dobrą praktyką jest także sprawdzenie, jakie inne elementy bazy są zależne od usuwanej kolumny, aby uniknąć niespodziewanych problemów.